Pandora: Documentation en: Netflow
Go back to Pandora FMS documentation index
Contents
- 1 Introducción al análisis de red en tiempo real
- 2 NetFlow network monitoring
- 3 Monitorización de red con Pandora NTA
1 Introducción al análisis de red en tiempo real
Pandora FMS utiliza dos sistemas alternativos y complementarios para analizar la red en tiempo real: Pandora NTA y Netflow. Ambos sistemas utilizan el mismo principio: "escuchar" el cable ethernet de manera continua y analizar el tráfico para generar estadísticas. En ambos casos hay que, de alguna manera, "interceptar" el tráfico de la red para enviarlo a una sonda que lo analice y envíe esos resultados a Pandora FMS.
Para interceptar el tráfico de la red y poder analizarla, hace falta tener acceso físico a esa red o al menos entender su topología, ya que el punto de captura de la red debe ser el más apropiado. No es lo mismo, por ejemplo, capturar el tráfico de la red de un router o AP local, que el de todo el tráfico de la red de servidores justo antes de llegar al router de salida.
Existen dos maneras para capturar el tráfico:
- Redirigir el tráfico de un puerto del switch a otro puerto mediante un "port-mirror". No todos los dispositivos de red permiten hacerlo (sólo los de gama alta/media). También se puede hacer un port-mirror en algunos firewalls comerciales. Es la forma más sencilla de interceptar el tráfico y no requiere hardware adicional. Al enviar todo el tráfico hacia un puerto, ese puerto se conecta directamente al analizador de red (sonda netflow o pandora nta/ntop).
- Capturar el tráfico mediante un network TAP . Un tap es un dispositivo de red muy sencillo que copia el tráfico de una boca a otra en un solo sentido (es imposible interferir en la red). Es un dispositivo PASIVO que no se puede "caer" ni causar molestias de ningún tipo ya que es una copia física conducida por hardware del tráfico de red. Es indetectable. Hay TAPs desde 12€ a 900€, pero el principio es el mismo. El tap genera una salida para cada dirección de la comunicación, por lo que necesitará una sonda que escuche en dos puertos, o limitarse a escuchar una única dirección.
Si vamos a usar Netflow para analizar nuestra red únicamente mediante Pandora FMS y disponemos de un switch o firewall de gama alta, se podrá realizar la monitorización de manera más sencilla. Esto se debe a que estos dispositivos permiten enviar información estadística del flujo de red directamente al recolector de Netflow de Pandora FMS sin necesidad de usar una sonda independiente. Se debe consultar las características del hardware para saber si puede habilitar el netflow y enviar los flujos a un colector de Netflow independiente (en este caso, el colector de netflow de Pandora FMS).
En resumen, este podría ser un escenario de trabajo para poder analizar el tráfico de red en tiempo real. Para ello solo sería necesario un par de TAPS de 12€ (o un par de port-mirrors) y la version OpenSource de Pandora FMS:
2 NetFlow network monitoring
2.1 Introduction
The Pandora FMS versions 5 and above are designed to monitor the IP traffic by using the NetFlow protocol. This protocol allows to you review the traffic's most useful patterns and general data.
'NetFlow' is a network protocol, developed by Cisco Systems to collect IP traffic information. It has become an industrial standard for network traffic monitoring and is currently supported by several platforms besides Cisco's IOS and NXOS like Juniper devices, Enterasys Switches and operating systems like Linux, FreeBSD, NetBSD and OpenBSD.
Take a look on more information about what is Netflow in our blog at https://blog.pandorafms.org/what-is-netflow/
2.1.1 NetFlow
NetFlow-capable devices (NetFlow probes) are generating NetFlow records, which consist of small chunks of information which are sent to a central device or NetFlow Server (or NetFlow collector), which stores and processes that information.
Data is transmitted using the NetFlow protocol via UDP or SCTP protocols. A NetFlow record is a small packet which only contains statistical information about a connection, not the whole raw data or the payload.
There are several NetFlow implementations that may differ from the original specification and include additional information, but most of them provide at least the following:
- The source's IP address.
- The target's IP address.
- The source's UDP or TCP port.
- The target's UDP or TCP port.
- The IP protocol.
- An interface (SNMP ifIndex)
- The type of service.
With time, some manufacturers have designed similar protocols with different names but for the same purpose:
- 'Jflow' or 'cflowd' from Juniper Networks
- 'NetStream' from 3Com/H3C/HP
- 'NetStream' from Huawei
- 'Cflowd' from Alcatel Lucent
- 'Rflow' from Ericsson
- 'AppFlow'
Pandora FMS also supports sFlow( Industry standard for packet export ), which allows to Pandora FMS to analyse sniffered packets at Layer 2 of the OSI model. Moreover, because sFlow is an standard, many vendors use it on their devices.
2.1.2 The NetFlow Collector
A NetFlow collector is a device (a PC or a Server), placed in a network to gather all the NetFlow information which is sent by routers and switches.
A NetFlow Server is required to receive and store that information. Pandora FMS uses 'nfcapd' for this purpose, and it's required to be installed before Pandora FMS is able to process any NetFlow-related data. Pandora FMS starts and stops this server automatically in the moment the need arises.
2.1.3 The NetFlow Probe
Probes are usually NetFlow-capable routers, configured to send NetFlow data to its collector - in our case, a Pandora FMS server with 'nfcapd' running.
In our blog we wrote an step-by-step technical article about how to create a Netflow probe using a 60€ RaspBerry Pi hardware, take a look at https://blog.pandorafms.org/netflow-probe-using-raspberry/
2.2 Installation and Requirements
Pandora FMS uses an open-source tool called 'nfcapd' to process all NetFlow traffic. This daemon is automatically started by the Pandora FMS Server. This system stores the data in binary files at a specific location. You're required to install 'nfcapd' on your system before working with NetFlow. 'nfcapd' listens on port 9995 UDP by default. Please keep in mind to open port 9995 UDP in case you have firewalls in place.
2.2.1 Installation of 'nfcapd'
You're required to install 'nfcapd' manually, because Pandora FMS is not going to install it by default. For more information on how to install it, please visit the
Official NFCAPD Project Page.
Pandora FMS uses the directory '/var/spool/pandora/data_in/netflow' by default to store all NetFlow data. The 'nfcapd' daemon is going to point to this directory when it's getting started by the Pandora FMS Server. Do not change it unless you know exactly what you're doing.
Pandora FMS requires the nfdump version 1.6.8p1 in order to process any NetFlow data properly.
In order to test your 'nfcapd' installation manually, please execute the command below.
nfcapd -l /var/spool/pandora/data_in/netflow -D
Please keep in mind that the Pandora FMS Console (and more specifically the web server which hosts it) requires access to the directory of '/var/spool/pandora/data_in/netflow' in order to read any NetFlow-related data files.
2.2.2 The NetFlow Probe Installation
If a NetFlow capable router is not available, but you use a Linux server to route your traffic, you may install a NetFlow software probe which sends all NetFlow-related information to its server.
In Linux there is a program called 'fprobe' which obtains the traffic and sends it to a NetFlow Server.
To download the rpm package you can use the following command and then install it:
wget http://repo.iotti.biz/CentOS/7/x86_64/fprobe-1.1-2.el7.lux.x86_64.rpm yum install fprobe-1.1-2.el7.lux.x86_64.rpm
By this program you're able to generate NetFlow traffic which goes through its interfaces, e.g.:
/usr/sbin/fprobe -ieth0 -fip 192.168.70.185:9995
Once the traffic has been generated, you're able to review the traffic's statistics by entering the following command:
nfdump -R /home/netflow_data/
The above mentioned command displays information similar to the one shown below.
Aggregated flows 1286 Top 10 flows ordered by packets: Date flow start Duration Proto Src IP Addr:Port Dst IP Addr:Port Packets Bytes Flows 2011-12-22 20:41:35.697 901.035 TCP 192.168.60.181:50935 -> 192.168.50.2:22 2105 167388 4 2011-12-22 20:41:35.702 900.874 TCP 192.168.50.2:22 -> 192.168.60.181:50935 1275 202984 4 2011-12-22 20:48:15.057 1.347 TCP 157.88.36.34:80 -> 192.168.50.15:40044 496 737160 1 2011-12-22 20:48:14.742 1.790 TCP 91.121.124.139:80 -> 192.168.50.15:60101 409 607356 1 2011-12-22 20:46:02.791 76.616 TCP 192.168.50.15:80 -> 192.168.60.181:40500 370 477945 1 2011-12-22 20:48:15.015 1.389 TCP 192.168.50.15:40044 -> 157.88.36.34:80 363 22496 1 2011-12-22 20:46:02.791 76.616 TCP 192.168.60.181:40500 -> 192.168.50.15:80 303 24309 1 2011-12-22 20:48:14.689 1.843 TCP 192.168.50.15:60101 -> 91.121.124.139:80 255 13083 1 2011-12-22 20:48:14.665 1.249 TCP 178.32.239.141:80 -> 192.168.50.15:38476 227 335812 1 2011-12-22 20:48:21.350 0.713 TCP 137.205.124.72:80 -> 192.168.50.15:47551 224 330191 1 Top 10 flows ordered by bytes: Date flow start Duration Proto Src IP Addr:Port Dst IP Addr:Port Packets Bytes Flows 2011-12-22 20:48:15.057 1.347 TCP 157.88.36.34:80 -> 192.168.50.15:40044 496 737160 1 2011-12-22 20:48:14.742 1.790 TCP 91.121.124.139:80 -> 192.168.50.15:60101 409 607356 1 2011-12-22 20:46:02.791 76.616 TCP 192.168.50.15:80 -> 192.168.60.181:40500 370 477945 1 2011-12-22 20:48:14.665 1.249 TCP 178.32.239.141:80 -> 192.168.50.15:38476 227 335812 1 2011-12-22 20:48:21.350 0.713 TCP 137.205.124.72:80 -> 192.168.50.15:47551 224 330191 1 2011-12-22 20:48:15.313 1.603 TCP 89.102.0.150:80 -> 192.168.50.15:52019 212 313432 1 2011-12-22 20:48:14.996 1.433 TCP 212.219.56.138:80 -> 192.168.50.15:36940 191 281104 1 2011-12-22 20:51:12.325 46.928 TCP 192.168.50.15:80 -> 192.168.60.181:40512 201 245118 1 2011-12-22 20:52:05.935 34.781 TCP 192.168.50.15:80 -> 192.168.60.181:40524 167 211608 1 2011-12-22 20:41:35.702 900.874 TCP 192.168.50.2:22 -> 192.168.60.181:50935 1275 202984 4 Summary: total flows: 1458, total bytes: 5.9 M, total packets: 15421, avg bps: 49574, avg pps: 15, avg bpp: 399 Time window: 2011-12-22 20:40:46 - 2011-12-22 20:57:21 Total flows processed: 1458, Records skipped: 0, Bytes read: 75864 Sys: 0.006s flows/second: 208345.2 Wall: 0.006s flows/second: 221177.2
If your system works properly, the following chapter is intended to configure Pandora FMS in order to use this particular configuration appropriately.
2.3 Working with NetFlow under Pandora FMS
Pandora FMS doesn't store NetFlow data in its database. The information is processed on demand in order to render reports.
Pandora FMS works with NetFlow data by using filters, which are sets of rules that match certain traffic patterns. A rule can be as simple as 'all the traffic from the 192.168.70.0/24 subnet' or a complex 'pcap' filter expression.
Once the filters are created, we're required to define reports that determine how the information matched by those filters is going to be displayed (e.g. charts and tables) and the time frame. The NetFlow reports can be accessed on demand like any other Pandora FMS reports.
There is also a live NetFlow Viewer to analyze the traffic, modify and create rules on the spot. It can be very useful to investigate problems or temporarily display a chart that we don't intend to save for a later usage.
2.3.1 Configuration
First of all, you're required to authorize NetFlow in order to become accessible from the 'Operation' and 'Administration' menus.
You can find the NetFlow option in the 'Configuration' chapter of the 'Administration' menu in which we specify the path in which the files of the Netflow traffic are captured, e.g. '/tmp/netflow'. It's also very important to determine whether the path to the 'nfcapd' daemon is appropriately specified or not.
The configurable fields pertaining to this particular feature are the following:
Data Storage Path:
The directory in which the NetFlow data files are stored. IMPORTANT: The disk's access speed on which the NetFlow data is stored is usually the limiting performance factor.
Daemon Interval:
The time interval in seconds for the data rotation. The recommended value is '3600'. A bigger interval means potentially bigger files, which means less I/O overhead, but it also renders accessing the data for a specific time interval slower.
Daemon Binary Path:
The path to the 'nfcapd' binary.
Nfdump Binary Path:
The path to the 'nfdump' binary.
Nfexpire Binary Path:
The path to the 'nfexpire' binary. This program was designed to delete old NetFlow data.
Maximum Chart Resolution:
The maximum number of points which a NetFlow Area Chart is going to display. The higher the resolution the lower the performance. Values between '50' and '100' are recommended here.
Disable Live View Custom Filters:
If enabled, only Netflow filters previously created by an administrator can be used in the Netflow live view.
Netflow max. Lifetime:
The NetFlow data which are older than the specified number of days are going to be deleted.
Once the NetFlow configuration is enabled, the Pandora FMS Server is required to be restarted in order to be able to start the 'nfcapd' server. This server must be properly installed and accessible from the system path. Please check the server logs if you're unsure on that. This server is not going to appear in the Pandora FMS server view mode, because it isn't considered a Pandora FMS Server.
2.4 Filters
You may access the creation and edition of filters by clicking on 'Administration' and 'NetFlow Filters'. This section contains a list of already created filters which can be of course altered or deleted.
También se puede crear un filtro directamente desde la vista de "Netflow live view", guardando el filtro activo como uno nuevo. Los filtros Netflow pueden ser "básicos" o "avanzados". La diferencia está en que los primeros tienen unos campos fijos de filtrado (IP origen, IP destino, Puerto origen, puerto destino) y los avanzados se definen mediante una expresión pcap (estándar en expresiones de filtrado para tráfico de red) y utilizan herramientas de todo tipo.
Esta sería una vista de edición básica de un filtro netflow:
The configurable NetFlow filters pertaining to this particular feature are the following:
- Name: It's recommended for the filter's name to be as descriptive and clear as necessary.
- Group: A user is only able to create a filter or edit the group's filters it has access to.
- Filter: There are two types of filters: Basic and advanced. Advanced filters allow the usage of advanced expressions in the same format as 'nfdump'. Basic filters can filter traffic by source and destination IP and source or destination port. Lists of comma-separated IPs or ports are also accepted here.
- Aggregate by: All traffic data can be grouped by one of the following fields:
IP Origin: It displays the traffic of different origin for each IP.
IP Destination: It displays the traffic of different destinations for each IP.
Origin Port: It displays the traffic for each port of different origins.
Destiny Port: It displays the traffic for different destinations for each port.
Protocol: It displays the traffic for each protocol.
Any: The total data is going to be displayed by this one.
Output Format: The data is going to be displayed in the selected unit:
Kilobytes.
Kilobytes per second.
Megabytes.
Megabytes per second.
Basic web traffic filter example:
Advanced intranet traffic filter example:
Here are other examples of advanced filters:
- Capture traffic to or from 192.168.0.1:
host 192.168.0.1
- Capture traffic to 192.168.0.1:
dst host 192.168.0.1
- Capture traffic from 192.168.0.0/24:
src net 192.168.0.0/24
- Capture HTTP and HTTPS traffic:
(port 80) or (port 443)
- Capture all traffic except DNS:
port not 53
- Capture SSH traffic to 192.168.0.1:
(port 22) and (dst host 192.168.0.1)
2.5 Reports
Netflow reports are integrated with Pandora FMS reports (see Reports for more information).
To create a report item, choose one of the available netflow report items.
And configure it. The following options are available:
- Type: Item types will be explained below.
- Filter: Netflow filter to use.
- Description: Item description.
- Period: Length of the interval of data to display.
- Resolution: Data will be retrieved in blocks of size equal to the resolution. If Period / Resolution is bigger than the configure maximum chart resolution the resolution will be dynamically readjusted. For example, for a period of 1 day and a resolution of 1 hour 24 points will be drawn in the chart.
- Max. values: Maximum number of elements for aggregates. For example, if a chart of HTTP traffic is drawn aggregated by source IP address and Max. values is set to 5, only 5 IP addresses will be shown.
There are five types of netflow report items:
- Area chart: An area chart, either aggregated or unaggregated.
- Pie chart: An aggregated pie chart.
- Data table: A text representation of the area chart.
- Statistics table: A text representation of the pie chart.
- Summary table: Traffic summary for the given period.
2.6 Netflow live view
Esta vista se utiliza para consultar el histórico de datos capturados en base a diferentes filtros de búsqueda. Se pueden usar filtros y diferentes formas de visualización de información. Se debe definir la manera de agrupar la información mostrada, así como la manera de obtener dicha información para poder empezar a visualizar datos.
La manera de obtener la información puede ser por: IP de origen, IP de destino, Puerto de origen o Puerto de destino. Si se escoge, por ejemplo, mostrar la información IP de destino se mostrará la información ordenada por las IP's con más tráfico hacia el destino de mayor a menor. Lo mismo sería para saber el consumo de su red por protocolo, escogiendo por puerto de destino.
Las maneras de visualización posibles son las siguientes:
- Gráficas de área (de tipo stacked): muestra a lo largo del tiempo (desde la fecha de origen a la fecha de destino), la evolución de los datos. Se debe escoger el nivel de precisión de la gráfica en el token "Resolución".
- Sumario: Muestra una tabla resumen, una tarta y una tabla con los datos de todo el periodo.
- Detallado: Muestra un mapa de porciones que representa el tráfico por IP.
- Tabla de datos: Muestra una tabla de datos con cada IP y un número de filas que depende de la resolución elegida.
- Gráfico circular: Muestra un gráfico interactivo circular que representa los pares de conexiones entre IP y volumen de tráfico.
Los filtros se pueden visualizar en tiempo real desde "Operation > Netflow Live View". Esta herramienta permite visualizar los cambios que se realizan en un filtro y guardarlo una vez se obtenga el resultado deseado. También es posible cargar y modificar filtros ya existentes.
See Reports and Filters to learn how to configure live view options.
2.7 Network traffic maps
This is a new features introduced in OUM 733 and will be improved in the future. It creates dynamic network maps, based on the traffic between nodes. It show you the relationship (connections) between different address, showing the top N connections (by size of data transferred between them).
2.8 Configuración distribuida
Es posible ubicar el nodo de pandora que recoge datos de Netflow en un host independiente de la consola. En entornos con muchos datos Netflow es más que recomendable ubicarlo en un servidor con discos rápidos y una CPU rápida de al menos dos núcleos. Para que la consola de Pandora pueda extraer datos de Netflow será necesario modificar la configuración por defecto del sistema, siguiendo los pasos descritos a continuación:
- Configurar la autenticación automática SSH entre el usuario propietario del demonio web y el usuario con capacidad de ejecutar nfdump en el nodo colector.
Para su configuración debemos seguir los siguientes pasos:
Habilitar el usuario apache. Para ello hay que modificar en el fichero /etc/passwd la linea del usuario apache con esta configuración:
apache:x:48:48:Apache:/var/www:/bin/bash
Crear el directorio .ssh dentro del directorio /var/www y darle los permisos correctos:
#mkdir /var/www/.ssh #chown apache:apache /var/www/.ssh
Crear claves ssh desde el usuario apache y copiarlas al servidor donde esté alojado el tráfico netflow.
#su apache bash-4.2$ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/var/www/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/www/.ssh/id_rsa. Your public key has been saved in /var/www/.ssh/id_rsa.pub. The key fingerprint is: SHA256:vYvl5V00E4faa14zN08ARzGUQ9IfAQJnMzkaqLAGRHI [email protected]<server> The key's randomart image is: +---[RSA 2048]----+ |+oE ...*o=B+.| |.o . . .oo+o++ | | . o . o o o+o| | o . o = +| | . S . . oo.| | . +o| | o . o+=| | + + + +*| | . o . o .| +----[SHA256]-----+ bash-4.2$ ssh-copy-id [email protected]<netflow_server>
Una vez compartida se debe comprobar que es posible acceder al servidor mediante el usuario apache sin indicar contraseña:
bash-4.2$ ssh [email protected]<netflow_server>
- Crear un script en la consola de pandora que reemplace a /usr/bin/nfdump por uno similar al siguiente
#!/bin/bash NFDUMP_PARAMS=$(sed 's/(\(.*\))/\"\(\1\)\"/' <<< "[email protected]"); ssh [email protected]<netflow_server> "/usr/bin/nfdump $NFDUMP_PARAMS"
Dar permisos de ejecución al script:
chmod 755 /usr/bin/nfdump
Probar a ejecutar el script, de esta forma
/usr/bin/nfdump -V
Debería devolver algo similar a:
nfdump: Version: 1.6.13
3 Monitorización de red con Pandora NTA
Pandora Network Traffic Analyzer (Pandora NTA) es una herramienta de análisis de tráfico de red pensada para entornos donde no se quiere, o no se puede, utilizar Netflow para hacer un análisis de la red. Es importante destacar que ofrecen funcionalidades ligeramente diferentes,Netflow muestra información (relativa a los puertos) que Pandora NTA no muestra y Netflow permite una interfaz en tiempo real mucho más avanzada, así como características únicas como poder crear módulos de datos como resultado de filtros avanzados de expresiones PCAP.
Como base de Pandora NTA/NTOP se utiliza un fork del proyecto NTOP (de la versión licenciada como GPL2), además de código propio del proyecto Pandora FMS. Se encarga de recoger los datos y enviárselos en forma de XML al servidor de Pandora FMS. Todo ese código está disponible en nuestro repositorio público para el que lo quiera, debido a que se trata de una funcionalidad 100% opensource.
Pandora NTA utiliza uno o varios sensores de red para inspeccionar tráfico y generar estadísticas de consumo por IP de origen e IP de destino. No genera información específica de tráfico por puerto o aplicación, para esa función más avanzada se debería usar NetFlow.
Pandora NTA es una forma sencilla de monitorizar a bajo nivel su red, sin invertir en hardware especializado o herramientas de terceros, e incorporar esa información en su plataforma de monitorización existente. Pandora NTA ofrece:
- Consumo detallado por tráfico de entrada y salida de cada IP local de la red local.
- Detección de problemas de red (mediante la generación de eventos).
- Informes específicos del consumo de red, por IP de origen.
- Una relación de las IP's de destino con más tráfico por IP de origen en la red.
- Informes de consumo de red local por origen, mapas dinámicos y opciones de búsqueda y filtrado con los datos acumulados.
Con los datos individuales del tráfico de cada equipo de la red, Pandora NTA podrá generar alertas, informes de tipo TopN y emplear cualquier otra función de Pandora FMS, ya que se guardan como módulos de un agente.
3.1 Arquitectura y funcionamiento
Se necesitará instalar la sonda pandora-ntop en una máquina que tenga acceso al tráfico de la red LAN, generalmente en un servidor Linux si actúa como router o firewall, o bien redireccionando el tráfico a un puerto por medio de un port-mirror desde un switch, firewall o router. También se puede duplicar el tráfico en un sólo sentido por medio de un TAP, pero requerirá un equipamiento hardware específico.
Es importante que se entienda que si se instala Pandora NTA en un equipo ordinario, sin realizar previamente un portmirror o conectar un TAP que redirija tráfico a dicha máquina, no se recibirá todo el tráfico de la red, solo se observará el tráfico generado por esa máquina, no el resto de la red. |
|
Pandora-NTOP escuchará el tráfico y generará datos que sin almacenarlos en ningún sitio (los mantiene en memoria). Pandora-NTA enviará los datos recogidos por Pandora-NTOP a Pandora FMS Data Server. Se puede instalar tantos Pandora-NTA como se necesite, si existen varias redes locales y varios puntos de escucha, se puede realizar un despliegue distribuido.
Pandora NTA además ofrece información relativa a problemas en la red local en tiempo real, ya que puede generar eventos de tres tipos:
- Máscara inválida (Wrong netmask).
- Envío de datos por el puerto p (Host sent data to zero port).
- Dirección MAC Duplicada (Duplicated mac).
Se puede crear alertas de eventos para conocer en tiempo real, por ejemplo, cuando aparece una MAC duplicada en su sistema. Se deben utilizar las cadenas de texto en inglés descritas anteriormente para crear una alerta de evento.
3.2 Instalación
Actualmente se dispone de un tarball compatible con CentOS 7. Se distribuye comprimido en un tgz, disponible en la librería de módulos de Pandora FMS en https://pandorafms.com/library. Para instalarlo hay que descomprimirlo:
tar xvzf pandora_nta.tgz
Después hay que ejecutar el script de instalación dentro del directorio descomprimido.
cd pandora_nta_tarball ./install_pandora_nta.sh --install
Para desinstalar el pandora NTA hay que lanzar el mismo script de la siguiente forma:
./install_pandora_nta.sh --uninstall
Si se encuentra instalada la versión de Pandora FMS distribuida en ISO, ya estará instalado en el sistema, teniendo solo que activarlo (A partir de OUM 733).
Para arrancarlo, en un CentOS7 bastará con ejecutar
systemctl start pandora_nta
3.2.1 Requisitos
La parte de Perl de Pandora NTA necesita algunas dependencias, además de disponer de un intérprete de Perl en la máquina donde corre.
Pandora NTA usa módulos externos de Perl. Algunos de ellos forman parte del Core y otros se distribuyen en las instalaciones normales del intérprete. Esta es la lista de los módulos externos que se usan:
- Getopt::Std
- Config::Simple
- LWP::Simple
- Sys::Hostname
- JSON
- POSIX
- MIME::Base64
- XML::Simple
- Digest::SHA
Para saber si falta alguna dependencia basta con ejecutar el script principal con la opción -h, y si aparece un error en vez de una ventana de ayuda significa que faltan dependencias. Con este error se pueden ver cuales son y se pueden instalar con CPAN o directamente bajando los paquetes de Perl desde los repositorios oficiales de cada distribución.
De la parte binaria de Pandora NTA basada en ntop (pandora-ntop), se puede obtener el código para su compilación desde el repositorio público de github (https://github.com/pandorafms), o bien utilizar uno de los binarios precompilados que se distribuyen en lalibrería de modulos de Pandora FMS en https://pandorafms.com/library). Viene distribuida por defecto en las imágenes ISO de instalación de Pandora FMS a partir de NG 733.
3.3 Configuración de Pandora NTA
Parámetros aceptados por linea de comandos
-h: Muestra la ayuda. -f: Ruta del fichero de configuración. No es necesario porque se puede usar la configuración por defecto. El usuario debe tener permisos de lectura sobre el archivo.
Parámetros del fichero de configuración pandora_nta.conf
daemon
Si se pone a 1 el programa se ejecuta en segundo plano (0 por defecto).
encoding
Encoding de los XML que se envían a través de Tentacle. Irá en la cabecera del XML (UTF-8 por defecto).
interval
Intervalo en segundos entre dos ciclos de trabajo del Pandora NTA (300 segundos por defecto).
log_file
Fichero donde volcar los logs de la aplicación. Tiene que tener permisos de escritura sobre el fichero y la carpeta que lo contiene. Si no existe, Pandora NTA lo crea automáticamente (por defecto lo vuelca a STDOUT).
retries
Número de fallos consecutivos que puede dar la aplicación antes de que se considere que hay un error grave y se pare. Si está a 0 no se parará nunca, por muchos fallos que haya (2 por defecto).
transfer_timeout
Tiempo máximo en segundos para enviar los ficheros por Tentacle. Si se excede este tiempo, Pandora NTA reiniciará todo su estado y memoria (15 segundos por defecto).
verbose
Nivel de información volcada por el log. Cuanto más alto, más información arroja. Con 0 no se muestra nada, con 3 se muestran los errores graves, con 5 se muestran warnings y con 9 se muestra todo. No se recomiendan valores muy altos para que no consuma mucho disco (3 por defecto).
quiet
No muestra los mensajes de error.
cache_file
Carpeta donde está el fichero de caché de la aplicación. Es necesario escribir en este fichero. Si no está creado, pandora NTA lo crea. Hay que tener cuidado al cambiarlo, pues puede que se cree uno nuevo y se dupliquen los agentes que mandan información a Pandora, puesto que no encuentre sus nombres y generaría otros nuevos (* /tmp/pandorata_cache.json*).
ntop_host
Host al que hacer las peticiones de servidor web de Pandora-NTOP (por defecto localhost).
ntop_port
Puerto mediante el que se realizan las peticiones de proceso de Pandora-NTOP (por defecto 3000).
ntop_local_subnets
Subredes que son consideradas como locales por NTOP. Si se quiere especificar más de una subred, se puede hacer concatenándolas mediante comas (por ejemplo ntop_local_subnets 192.168.50.0/24,114.15.0.0/16.
Si no hay ninguna subred configurada se volcará información a Pandora de todos los host que NTOP descubra (opción por defecto). Por favor, asegúrese de configurar al menos una red local. |
|
ntop_logs_to_syslog
Si se pone a 1 NTOP vuelca sus logs a syslog. En caso contrario no los vuelca a ningún sitio (0 por defecto).
self_name
Alias del agente de automonitorización. Una vez que se ha creado el fichero de caché no se puede cambiar ya que el Data Server no admite que se cambie el alias mediante XML (por defecto pandoraNTA).
tentacle_host
Host donde está el servidor de Tentacle que va a recibir los XML (por defecto localhost).
tentacle_port
Puerto donde está escuchando el servidor de Tentacle para recibir los XML (por defecto 41121).
temp_dir
Directorio donde se escriben los XML para que el cliente de Tentacle los envíe. Tiene que tener permisos de escritura. (por defecto /tmp).
3.3.1 Despliegue y arranque
El script pandora_db borra los datos de conexiones del NTA de histórico. El número de días que permanece esta información en el sistema se puede configurar en el apartado de Performance de la configuración de la consola.
3.4 Visualización
Por defecto (aunque este comportamiento se puede modificar en la configuracion de pandora_nta.conf) se creará un agente llamado PandoraNTA que contendrá las siguientes métricas:
- El estado del sistema NTA
- El nº de IP's descubiertas por el sistema.
- Suma del caudal de tráfico de toda la red (entrada y salida).
- Tasa de transferencia actual de la red (entrada y salida).
- Paquetes en la red (entrada y salida).
Además el sistema creará un agente por cada una de las IP's que encuentre en la red local (tal como se haya definido en pandora_nta.conf).
Para cada IP gestionada, se monitorizarán los mismos parámetros:
- Suma del caudal de tráfico de toda la red (entrada y salida).
- Tasa de transferencia actual de la red (entrada y salida).
- Paquetes en la red (entrada y salida).
- Dirección MAC asociada a la IP.
3.5 Informes
Se dispone de un informe específico de NTA al crear informes:
Este informe muestra un top-N de consumo de red en los últimos X días de todas las IP analizadas por Pandora NTA:
3.6 NTA explorer
Pandora dispone de una vista en la que se pueden visualizar datos de red provistos por el Pandora NTA a tiempo real. Es una vista mucho más flexible que los informes y útil para detectar los problemas de red con unos pocos clicks.
En esta vista se muestran las IPs con más trafico de salida o de entrada. El top de IPs se puede establecer por número de paquetes o por número de bytes. Además, está la posibilidad de hacer filtros por una IP en concreto, para ver las IP's hacia las cuales hay tráfico desde ese origen.
Por ejemplo, si hay una IP que envía muchos datos y se quiere ver dónde los envía, basta con hacer click en el icono de filtro al lado de la IP y saldrá un listado y una gráfica con las direcciones que reciben datos de esa IP. De esta forma, detectar los pares más sobrecargados en una fecha dada es bastante sencillo.
3.7 NTA usage map
Esta vista permite mostrar el tráfico, en un intervalo de tiempo determinado, en forma de mapa topológico. Simplemente hay que seleccionar una fecha de inicio y una fecha de final, mostrandose las IPs con más tráfico de salida o de entrada.