Tabla de Contenidos
Topologías distribuidas: Satellite Server
Satellite Server
Introducción
El Satellite Server se emplea para descubrir y monitorizar redes y equipos remotos, bien elementos de red (routers, switches, etc.) vía SNMP o ICMP, o bien servidores MS Windows® (vía WMI) o Linux® (vía SNMP). Este no es un servidor “ordinario”, sino que más bien se podría considerar como un Agente Software en modo broker pero con funcionalidades extendidas. Es especialmente útil para monitorizar redes remotas inaccesibles desde el servidor de Pandora FMS, y donde tampoco podemos instalar Agentes Software.
El Satellite Server funciona tanto en Windows® como en GNU/Linux® (sistema operativo recomendado) y tiene algunas características que lo hacen especial, más que recomendable en determinados entornos.
- Puede ejecutar pruebas de red (ICMP, Latencia y SNMP v1 y v2) a una tasa extremadamente alta (500 chequeos por segundo). Para SNMP v3 debe configurar las credenciales de acceso y debido al cifrado de datos hará un chequeo menos rápido.
- Solo envía datos al servidor cada X segundos (por defecto 300), pero puede ejecutar las pruebas de latencia, ICMP y SNMP con un intervalo menor (por ejemplo 30 segundos) de forma que, cuando detecta cambios de estado, notifica inmediatamente al servidor. Estos cambios de estado se han de definir previamente si el tipo de Módulo no es un
*_proc
(por ejemplo interfaces de red o conectividad general de red).
- Es un servidor autónomo, no requiere conexión a la base de datos de Pandora FMS. Envía todos los datos como XML de forma que funciona como un servidor independiente, similar a como lo hace un Agente Software en modo broker o a un Export Server.
- Tiene un mecanismo de autodiscovery para SNMP y WMI, de forma que crea los Agentes detectados (por dirección IP), detecta los elementos dinámicos (interfaces de red, almacenamiento) y los monitoriza de forma automática.
- En sistemas Windows® detecta discos, CPU y memoria.
- En sistemas de red con SNMP detecta estado de las interfaces, tráfico de entrada y salida por cada interfaz, y el nombre del sistema.
- Los Módulos autogenerados se pueden modificar, como otro módulo más, gestionando el Agente desde la consola, como si fuera un Agente ordinario (en la sección de Operaciones masivas → Satélite).
- Puede crear Agentes manualmente generando un fichero de configuración de Agente en el directorio de configuraciones del Satellite Server (explicado más adelante).
Versión NG 759 o posterior.
- Desde la versión 759 NG, tanto el Satellite server como el Enterprise Network Server soportan IPv6 en todas sus funcionalidades avanzadas. Ahora el código de alto rendimiento que antes solo se soportaba en IPv4 aplica también a IPv6 mejorando las capacidades de polling existentes.
Capacidad
La capacidad máxima del Satellite Server depende totalmente del hardware del servidor donde se ejecuta, y el tipo de chequeos que se necesitan realizar. En entorno de pruebas se ha logrado realizar 500 chequeos ICMP y SNMP por segundo, pero eso depende mucho de los tiempos de respuesta del dispositivo remoto (no es lo mismo uno que responde en 10 milisegundos que uno que tarda 2 segundos en responder). En condiciones ideales teóricas se puede hablar de que se pueden monitorizar unos 150 000 monitores con un solo Satellite Server. En condiciones reales se ha probado en entornos más o menos controlados (redes locales) unos 50 000 Módulos con un Satellite Server en un ordenador de hardware muy discreto (procesador Intel i5®, 2 GHz, 4 GB RAM).
Si existen muchos Módulos críticos, el rendimiento puede verse muy afectado. También hay que tener en cuenta el timeout configurado, ya que solo se realiza una comprobación crítica por timeout. Si tiene 1000 Módulos críticos y el timeout configurado en 4 segundos, se tardará 4000 segundos en ejecutar todos estos chequeos con un único hilo.
Instalación
El Satellite Server se distribuye en forma de tarball (GNU/Linux®) o .exe
(Windows®), de forma que no hace falta instalar Perl ni ninguna librería adicional. El funcionamiento en las versiones Windows® o Linux® es idéntico. En caso de Windows® se instala como servicio, y en el caso de Linux® se instala como demonio del sistema. El fichero de configuración y las especificaciones de ambos son idénticas.
La versión de Linux® del Satellite Server depende de paquetes externos que se especifican en la sección correspondiente de esta documentación.
Instalación de Satellite Server en Linux
El sistema operativo GNU/Linux recomendado es RedHat Enterprise (RHEL) 8 / Rocky Linux 8.
Antes de proceder con la instalación es necesario dejar claro cuáles son las dependencias fundamentales del Satellite Server: Perl, Braa, Wmic (versión 761 y anteriores) o PandoraWMIC (versión 762 y posteriores), Fping, Nmap y libnsl.
Si está utilizando una versión anterior del sistema operativo, utilice yum en lugar de dnf.
Instale Perl con el siguiente comando:
dnf install perl
En el instalador se adjuntan las dependencias de Braa y Wmic/PandoraWMIC. Es necesario instalar Fping y Nmap de forma independiente:
dnf install fping nmap
Por último en las dependencias confirme si tiene instalado libnsl:
dnf install libnsl
Una vez descargado el paquete que contiene el Satellite Server es necesario ir a la carpeta de descarga con privilegios de root y descomprimir el binario:
tar -xvzf pandorafms_satellite_server_X.XNG.XXX_x86_64.tar.gz
A continuación se generará una carpeta denominada satellite_server
. Vaya a dicha carpeta tecleando:
cd satellite_server/
Para instalar el Satellite Server en sí, debe ejecutar el comando de instalación:
./satellite_server_installer --install
Una vez terminado el proceso, será necesario editar el fichero de configuración del satélite localizado en:
/etc/pandora/satellite_server.conf
En versiones anteriores a la 761 la licencia debe introducirse manualmente en la opción pandora_license
. Con un editor de texto como VIM edite el fichero, busque dicho token y proceda a descomentarlo. Introduzca la licencia del servidor Pandora FMS Enterprise.
Busque el token server_ip e indique ahí la dirección IP o dominio del servidor Pandora FMS Enterprise al cual se conectará el servidor Satélite.
Tras ello puede guardar el archivo e iniciar el servicio, ejecutando lo siguiente:
sudo /etc/init.d/satellite_serverd start
En caso de algún error o mal funcionamiento, puede revisar el fichero de registro en:
/var/log/satellite_server.log
Instalación en Windows
Elija el idioma de instalación:
Haga clic en Siguiente:
Elija el lugar para instalar el programa:
Será necesario instalar tambien WinPCap. La ventana de instalación aparecerá en este paso de la instalación.
Configure el encendido de WinPCap al iniciar la máquina:
Una vez terminada la instalación de WinCap verá la siguiente pantalla:
Introduzca la clave de licencia de Pandora FMS Enterprise para continuar con la instalación:
En el siguiente apartado debe configurar la dirección del servidor Pandora FMS para el envío de los datos; puede definir las reglas exploración de red para el Satellite Server.
Será necesario reiniciar la máquina para que se apliquen todos los cambios.
Una vez terminado el proceso, puede arrancar y detener el servicio Satellite Server PFMS desde el menú Inicio de Windows®.
Funcionamiento de Módulos WMI en algunas versiones de Windows
Por motivos de seguridad de Windows®, algunas versiones tienen limitados los usuarios con los que realizar consultas WMI remotas. En el caso de que estas consultas no se lleven a cabo, la solución es ejecutar el servicio del Satellite Server como usuario Administrador.
El proceso a seguir es el siguiente:
Abra los servicios:
Haga clic sobre el servicio y entre en Propiedades:
Sobre la ventana de Iniciar sesión seleccione una cuenta con permisos de Administrador y aplique los cambios:
Debe reiniciar el servicio para aplicar los cambios.
Configuración
Todos los parámetros que requieren un timeout o tiempo de expiración se deben especificar en segundos ( por defecto 300 segundos que es igual a 5 minutos).
Es importante destacar que los intervalos de latency y SNMP son específicos al cambio de estado. En el caso de los chequeos booleanos (estado de un puerto, estado de la máquina), el umbral que define el cambio de estado es automático. En el caso de valores numéricos (latencia, tráfico de red en una interfaz, espacio de disco, CPU, etc.), se basa en el umbral. Por defecto no se definen umbrales; esto tiene que hacerse en la definición del Módulo.
agent_interval
agent_interval xxx
Por defecto, 300 segundos (5 minutos). Será el tiempo tras el que enviará datos al servidor, independientemente de que los chequeos que haga el Satellite Server sean con un intervalo más corto. De ser necesario, y por defecto, crea Agentes en el servidor Pandora FMS correspondiente según el tiempo aquí especificado.
agent_threads
agent_threads xxx
Número de hilos que se utilizan para mandar ficheros XML de datos.
xxxxxx_interval
xxxxxx_interval xxx
Ejecuta todos los chequeos (latencia, SNMP, etc) cada xxx
segundos. Si el dato recopilado cambia respecto al anterior lo envía en ese momento. Si es igual, lo enviará cuando el intervalo de ese Agente así lo ordene. Es útil para realizar pruebas muy intensivas y notificar solo en el caso de cambio de estado.
xxxxx_retries
xxxxx_retries xxx
Número de reintentos xxx
en los chequeos (latencia, SNMP, ping, etcétera).
xxxxx_timeout
xxxxx_timeout xxx
Timeout en segundos para las pruebas de tipo SNMP, latencia y ping.
xxxxx_block
xxxxx_block xxx
Fuerza al servidor a ejecutar las consultas (latencia, ping y SNMP) en bloques de XXX
consultas. Cuanto mayor sea el número (máximo 500) más capacidad de proceso tendrá, pero a costa de incrementar la latencia. En algunos casos puede ser conveniente disminuir ese número.
xxxxx_threads
xxxxx_threads n
Número de hilos n
asignados a cada tipo de chequeo para que trabajen de manera concurrente. Dependerá de la potencia (CPU y RAM) de la máquina. Cuantos más hilos, más se cargará el sistema, pero más capacidad de proceso tendrá. Al superar los 20 hilos, dependiendo del sistema, puede empeorar el rendimiento.
log_file
log_file <path_file>
Indica el fichero en el que se escribe el log del Satellite Server, por defecto en /var/log/satellite_server.log
.
recon_task
recon_task xxxxx[,yyyy]
Direcciones/Redes IP empleadas para el Autodiscovery, separadas por comas. Ejemplo:
192.168.50.0/24,10.0.1.0/22,192.168.70.64/26
server_ip
server_ip <IP>
Dirección IP o nombre DNS del servidor de Pandora FMS al cual enviar la información. Los datos se envían por Tentacle, de forma que la comunicación hacia el servidor debe estar permitida y garantizada por el puerto 41121/tcp
.
recon_mode
recon_mode <mode_discovery>
Modo de autodescubrimiento ( <mode_discovery>
) a utilizar. El sistema empleará los siguientes protocolos para descubrir los sistemas:
recon_mode icmp
Realiza verificación para determinar si el host está en línea (ping) y mide el tiempo de latencia.recon_mode snmp
Si es capaz de comunicar por SNMP (v1 y v2 únicamente) buscará todas las interfaces de red y sacará el tráfico de todas ellas, así como su estado operativo, además del nombre del dispositivo y ubicación. Probará con las diferentes comunidades suministradas en el fichero de configuración para conectar. Para utilizar SNMP v3 cuyo reconocimiento es innecesario, consulte en este enlace cómo configurar las credenciales de acceso conocidas.recon_mode wmi
Similar al caso anterior, en este caso mostrando Carga de CPU, Memoria y Discos (todos los disponibles).
recon_community
recon_community <aaa>,<bbb>,<ccc>...
Especifica una lista de comunidades SNMP <xxx>
para usar en el discovery de SNMP, separadas por comas. Utilizará esta lista en la exploración SNMP: por cada dirección IP encontrada, intentará ver si responde a alguna de estas comunidades.
wmi_auth
wmi_auth Administrator%password[,user%pass]
Especifica una lista de parejas de credenciales de usuario, cada una de ellas en el formato <nombre de usuario>%<contraseña> y separadas por comas.
Por ejemplo: admin%1234,super%qwerty
. Utilizará esta lista en la exploración WMI. Por cada dirección IP encontrada, intentará ver si responde a alguna de estas combinaciones.
wmi_ntlmv2
wmi_ntlmv2 [0|1]
Habilita (1) o deshabilita (0) la autenticación con el protocolo NTLMv2 para WMI.
agent_conf_dir
agent_conf_dir <path>
Vía ( <path>
) al directorio que crea y almacena automáticamente los ficheros de configuración de cada Agente creado por el Satellite Server. Por defecto /etc/pandora/conf
. Dichos Agentes también pueden ser creados manualmente.
group
group <group_name>
Define el nombre del grupo <group_name>
por defecto de los Agentes creados por el Satellite Server. Por ejemplo, “Servers”.
daemon
daemon [1|0]
Si su valor es 1 ejecuta el demonio (servicio) en segundo plano (valor por defecto).
hostfile
hostfile <file>
Es un método alternativo o complementario al de explorar una red para encontrar hosts. En este fichero <file>
, en cada línea hay una dirección. Alternativamente, se le puede pasar en la misma línea el hostname seguido de la IP, de esa forma el Agente será creado con ese nombre y además use esa dirección IP para los Módulos (por ejemplo: 192.168.0.2 <hostname>
). Es necesario que al realizar una consulta con Fping a esas direcciones su resultado sea en línea para que dichas direcciones sean válidas.
pandora_license
Desde la versión 761 y posteriores el licenciamiento del servidor Satélite se hace automáticamente y este token queda obsoleto.
pandora_license xxxxxxx
Escribe y almacena la licencia del servidor Pandora FMS Enterprise, tal como se muestra en la seccion Setup → License de la Consola Pandora FMS.
Puede usar la misma licencia en tantos Satellite Servers como se necesite, ya que el total de Agentes que usan la licencia se verifica en el servidor de Pandora FMS, no en el Satellite Server.
remote_config
remote_config [1|0]
Activa por defecto la configuración remota en los Agentes detectados, necesario si quiere gestionarlos desde la Consola después de detectarlos. También activa la configuración remota del propio Satellite Server.
temporal_min_size
temporal_min_size xxx
Si el espacio libre (en megabytes) de la partición en la que se encuentra el directorio temporal es menor que este valor, no se siguen generando paquetes de datos. De este modo se evita que se llene el disco si por alguna razón se pierde la conexión con el servidor durante un intervalo de tiempo prolongado.
xml_buffer
xml_buffer [0|1]
Valor por defecto 0. Estando configurado con valor a 1 el Agente guardará los XML de datos que no haya podido enviar para intentarlo de nuevo más adelante.
En Unix, si está en un entorno seguro considere cambiar el directorio temporal, ya que /tmp
tiene permisos de escritura para todos los usuarios.
snmp_version
snmp_version xx
Versión de SNMP que se utilizará, por defecto 1
. Para utilizar SNMP v3 consulte en este enlace cómo configurar las credenciales de acceso conocidas.
Algunos Módulos podrían dejar de funcionar si se cambia este valor.
braa
braa <path>
Vía <path>
al binario de Braa. Valor por defecto /usr/bin/braa
.
fping
fping <path>
Vía <path>
al binario de Fping. Valor por defecto /usr/sbin/fping
.
fsnmp
fsnmp <path>
Vía <path>
al binario de Fsnmp. Valor por defecto /usr/bin/pandorafsnmp
.
latency_packets
latency_packets xxx
Número de paquetes xxx
ICMP que se envían por petición de latencia.
nmap
nmap <path>
Vía <path>
al binario de Nmap. Valor por defecto /usr/bin/nmap
.
nmap_timing_template
nmap_timing_template x
Un valor xxx
que especifica nivel de agresividad de Nmap, de 1 a 5. Uno significa más lento pero más fiable, cinco significa más rápido pero menos fiable. Valor por defecto: 2.
ping_packets
ping_packets xxx
Número de paquetes ICMP que se envían por cada ping.
recon_enabled
recon_enabled [0|1]
Habilita (1) o deshabilita (0) el autodescubrimiento de equipos.
recon_timing_template
recon_timing_template xxx
Tal como nmap_timing_template pero aplicado a los escaneos de red.
server_port
server_port xxxxx
Puerto del servidor Tentacle.
server_name
server_name xxxxx
Nombre del servidor Satellite (por defecto toma el hostname de la máquina).
server_path
server_path <path>
Ruta <path>
donde los ficheros XML son copiados si el transfer_mode está en local (por defecto /var/spool/pandora/data_in
).
server_opts
Parámetros del servidor que son pasados a Tentacle.
transfer_mode
transfer_mode [tentacle|local]
Modo de transferencia de ficheros. Puede ser únicamente Tentacle o local (por defecto Tentacle).
Servidor Secundario
secondary_mode [on_error|always]
Un tipo especial de parámetro de configuración general es la definición de un servidor secundario. Esto permite definir un servidor al que se le envían los datos, de forma complementaria al servidor definido de forma estándar. El modo de servidor secundario funciona de dos formas:
- on_error: Envía datos al servidor secundario solo si no puede enviarlas al primario.
- always: Siempre envía datos al servidor secundario, independientemente de si puede contactar o no con el servidor principal.
Ejemplo de configuración:
secondary_server_ip 192.168.1.123 secondary_server_path /var/spool/pandora/data_in secondary_mode on_error secondary_transfer_mode tentacle secondary_server_port 41121
snmp_verify
snmp_verify [0|1]
Habilita (1) o deshabilita (0) la comprobación de módulos SNMP v1 que hacen fallar Braa en tiempo real. Estos Módulos serán descartados y dejarán de ejecutarse. Véase también tanto snmp2_verify como snmp3_verify.
snmp2_verify
snmp2_verify [0|1]
Habilita (1) o deshabilita (0) la comprobación de módulos SNMP v2 que hacen fallar Braa en tiempo real. Estos módulos serán descartados y dejarán de ejecutarse. Véase también tanto snmp_verify como snmp3_verify.
¡Comprobar módulos SNMP versión 2 puede ser muy lento!
snmp3_verify
snmp3_verify [0|1]
Habilita (1) o deshabilita (0) la comprobación de módulos SNMPv3 que hacen fallar Braa en tiempo real. Estos módulos serán descartados y dejarán de ejecutarse. Véase también tanto snmp_verify como snmp2_verify.
Para utilizar SNMP v3 consulte en este enlace cómo configurar las credenciales de acceso conocidas.
snmp3_seclevel
Nivel de seguridad utilizado para los mensajes SNMPv3 (noauth
, authnopriv
o authpriv
).
Para utilizar SNMP v3 consulte en este enlace cómo configurar las credenciales de acceso conocidas.
snmp3_secname
Nombre de seguridad utilizado para los mensajes SNMPv3.
Para utilizar SNMP v3 consulte en este enlace cómo configurar las credenciales de acceso conocidas.
snmp3_authproto
Protocolo de autenticación (md5
o sha
) para peticiones SNMPv3 autenticadas.
Para utilizar SNMP v3 consulte en este enlace cómo configurar las credenciales de acceso conocidas.
snmp3_authpass
Contraseña de autentificación para la solicitud SNMPv3 autentificada.
Para utilizar SNMP v3 consulte en este enlace cómo configurar las credenciales de acceso conocidas.
snmp3_privproto
Protocolo de privacidad (des
o aes
) para peticiones SNMPv3 cifradas.
Para utilizar SNMP v3 consulte en este enlace cómo configurar las credenciales de acceso conocidas.
snmp3_privpass
Contraseña de privacidad para mensajes SNMPv3 cifrados.
Para utilizar SNMP v3 consulte en este enlace cómo configurar las credenciales de acceso conocidas.
startup_delay
startup_delay xxx
Espera xxx segundos antes de enviar ficheros de datos por primera vez.
temporal
temporal <directory>
Directorio temporal donde se crean los ficheros XML, por defecto /tmp
.
tentacle_client
tentacle_client <path>
Vía <path>
del cliente de Tentacle. Valor por defecto /usr/bin/tentacle_client
.
wmi_client
snmp_blacklist
snmp_blacklist <path>
Vía <path>
a la lista de exclusión de Módulos SNMP. Valor por defecto /etc/pandora/satellite_server.blacklist
.
add_host
add_host <dir_IP> [agent_name]
Añade el host dado a la lista de agentes monitorizados. Se puede especificar el nombre del Agente después de la dirección IP. Se pueden añadir múltiples hosts, uno en cada línea por separado. Por ejemplo:
add_host 192.168.0.1 add_host 192.168.0.2 localhost.localdomain
ignore_host
ignore_host <agent_name>
Elimina el host dado de la lista de Agentes monitorizados, incluso si es encontrado en un escaneo de red por una tarea de reconocimiento (Recon Task). El host debe identificarse por el nombre del Agente. Se pueden ignorar múltiples hosts, uno por cada línea. Por ejemplo:
ignore_host 192.168.0.1 ignore_host localhost.localdomain
keepalive
keepalive xxx
El Satellite Server informa de su estado y comprueba cambios en la configuración remota (de los Agentes y de sí mismo) cada xxx
segundos. Valor por defecto: 30 segundos.
credential_pass
credential_pass xxx
Contraseña utilizada para cifrar las contraseñas de las cajas de credenciales. Debe ser la misma que se defina en la Consola de Pandora FMS. Por defecto se utiliza el nombre de host.
timeout_bin
timeout_bin <path>
Si está definido, el programa timeout (normalmente /usr/bin/timeout
) se utilizará al llamar al cliente de Tentacle.
timeout_seconds
timeout_seconds xxx
Tiempo de expiración, en segundos, para el programa timeout. El parámetro timeout_bin debe estar configurado.
proxy_traps_to
proxy_traps_to <dir_IP[:port]>
Redirige los traps SNMP recibidos por el Satellite Server a la dirección (y puerto, opcionalmente) especificados. Por defecto se utiliza el puerto 162.
proxy_tentacle_from
proxy_tentacle_from <dir_IP[:port]>
Redirige los datos recibidos por Tentacle Server desde la dirección (y puerto, de manera opcional) especificados. Por defecto se utiliza el puerto 41121.
proxy_tentacle_to
proxy_tentacle_to <dir_IP[:port]>
Redirige las peticiones de clientes de Tentacle recibidas por el Satellite Server a la dirección (y puerto, de manera opcional) especificados. Por defecto se utiliza el puerto 41121.
Esta opción puede entrar en conflicto con la configuración remota de agentes.Esto ocurre si se pretende usar el Satellite Server como proxy de algunos Agentes Software y monitorizarlos a su vez desde el mismo Satellite Server de forma remota (ICMP, SNMP, etc.) estando la configuración remota habilitada en ambos casos.En esta situación se deberá, o bien usar Agentes distintos para los chequeos hechos (es decir, con agent_name
diferente), o bien dejar la configuración remota habilitada solamente en uno de los dos (Satellite Server o Agentes Software).
dynamic_inc
dynamic_inc [0|1]
Con valor de 1 mueve los módulos dinámicos descubiertos de forma automática (SNMP, WMI…) a ficheros separados para que no interfieran con la configuración remota de Agentes.
vlan_cache_enabled
vlan_cache_enabled [0|1]
Habilita (1) o deshabilita (0) la cache VLAN de los hosts autodescubiertos.
verbosity
verbosity <0-10>
Nivel de detalle en el registro del log, donde 10 es el nivel de información más detallado.
agents_blacklist_icmp
Versión NG 713 o superior.
agents_blacklist_icmp 10.0.0.0/24[,8.8.8.8/30]
Lista de exclusión de chequeos ICMP. Este campo se puede configurar con una lista de direcciones IP usando la notación CIDR para evitar que se ejecuten módulos de tipo ICMP. Es posible especificar varias subredes separándolas por comas.
agents_blacklist_snmp
Versión NG 713 o superior.
agents_blacklist_snmp 10.0.0.0/24[,8.8.8.8/30] (Version> 7.0OUM713)
Lista de exclusión de chequeos SNMP. Este campo se puede configurar con una lista de direcciones IP usando la notación CIDR para evitar que se ejecuten módulos de tipo SNMP. Es posible especificar varias subredes separándolas por comas.
agents_blacklist_wmi
Versión NG 713 o superior.
agents_blacklist_wmi 10.0.0.0/24[,8.8.8.8/30]
Lista de exclusión de chequeos WMI. Este campo se puede configurar con una lista de direcciones IP usando la notación CIDR para evitar que se ejecuten módulos de tipo WMI. Es posible especificar varias subredes separándolas por comas.
general_gis_exec
Versión NG 734 o superior.
general_gis_exec xxx
Activando esta opción, se usará un script para proveer posicionamiento GIS a todos los Agentes detectados por el Satellite Server. El script debe tener permisos de ejecución e imprimir por pantalla las coordenadas con el formato <longitud>,<latitud>,[<altitud>] El tercer parámetro, la altitud, es opcional.
forced_add
Si se configura a 1
, los hosts añadidos de forma manual (a través de host_file o add_host) se crearán siempre, aunque no respondan a ping, con un fichero de configuración sin módulos.
Creación de Agentes en Satellite Server
Existen tres modos de crear los Agentes en el Satellite Server: Recon Task, fichero de satellite_hosts.txt o de manera manual creando los .conf de los Agentes a monitorizar.
Creación de Agentes mediante Recon Task
La creación de Agentes mediante una tarea de reconocimiento (Recon Task) es la más utilizada por los usuarios de Pandora FMS. Para llevarla a cabo, debemos acceder al fichero de configuración del Satellite Server y configurar los siguientes parámetros:
- recon_community: Se debe especificar una lista de comunidades SNMP para usar en el discovery de SNMP separadas por comas (en el caso de realizar una Recon Task de tipo SNMP).
- recon_enabled: Se debe poner a 1 para habilitar el Recon Task del Satellite Server.
- recon_interval: Intervalo de tiempo donde se escanea la red, en segundos (por defecto 604800 segundos, 7 días).
- recon_mode: Modo de realizar la Recon Task (SNMP,ICMP,WMI), separados por comas.
- recon_task: Lista de redes a las cuales hacer el reconocimiento, separadas por comas.
- recon_timing_template: Un valor que especifica cómo de agresivo debe ser nmap, de 1 a 5. Uno significa más lento pero más fiable; cinco significa más rápido pero menos fiable (por defecto 3).
Un ejemplo de realización de Recon Task es:
recon_community public recon_enabled 1 recon_interval 604800 recon_mode icmp,snmp,wmi recon_task 192.168.0.0/24,192.168.1.0/24 recon_timing_template 3
Una vez configurados los datos, ejecute el Satellite Server mediante el comando:
/etc/init.d/satellite_serverd start
Los Agentes cuyos ficheros de configuración no contengan ningún Módulo serán ignorados por el Satellite Server.
Creación de agentes mediante fichero
En primer lugar, para poder crear un Agente mediante el fichero satellite_hosts.txt, debe ir al archivo de configuración del Satellite Server y quitar de comentario la línea:
host_file /etc/pandora/satellite_hosts.txt
En segundo lugar debe crear el fichero en la ruta señalada anteriormente con las direcciones IP de los hosts que queremos crear colocando la dirección IP y nombre del Agente a crear:
192.168.10.5 Server5 192.168.10.6 Server6 192.168.10.7 Server7
Para que los Agentes con estas direcciones IP puedan ser creados, es necesario que respondan a la llamada fping, pues en caso contrario no se crearán.
Una vez configurados los datos, iniciamos el Satellite Server mediante el comando:
/etc/init.d/satellite_serverd start
La lectura del fichero indicado se realiza cada recon_interval segundos.
Creación de agentes de manera manual
En el directorio /etc/pandora/conf
(por defecto) van alojados los ficheros de configuración de los nuevos Agentes. Abra una venta terminal y vaya a esa carpeta:
cd /etc/pandora/conf
Proceda a crear un fichero con una extensión .conf
, por ejemplo “archivo.conf”. Rellene manualmente los siguientes campos:
- agent_name: Nombre que se asignará al Agente.
- agent_alias: Alias que se asignará al Agente.
- address: Dirección IP del elemento a monitorizar.
- group: Grupo al cual asignar el Agente.
- gis_exec: Script de posicionamiento (opcional). Si se utiliza, sobreescribe la localización provista por el parámetro general_gis_exec del Satellite Server.
- Agregue los Módulos a crear en el Agente.
Un ejemplo sería:
agent_name Example agent_alias This is an example address 127.0.0.1 group Servers module_begin module_name Ping module_ping module_end module_begin module_name Latency module_latency module_end
Una vez configurados los datos, inicie el Satellite Server mediante el comando:
/etc/init.d/satellite_serverd start
Eliminación de agentes en Satellite Server
Puede realizar una eliminación total de Agentes o una eliminación parcial de Agentes.
Haga primero un respaldo de todas las carpetas y sus archivos antes de proceder.
Para la eliminación total de Agentes debemos tener en cuenta el método utilizado en la creación de Agentes:
- Manual: Habrá que eliminar, en primer lugar, los ficheros
.conf
de los Agentes creados en la carpeta/etc/pandora/conf
y posteriormente eliminar los Agentes en la consola. - Fichero satellite_hosts.txt: Habrá que eliminar el fichero, así como los
.conf
que se hayan creado en la carpeta/etc/pandora/conf
, y posteriormente eliminar los Agentes en la Consola. - Recon_task: Habrá que desconfigurar la
recon_task
en el fichero.conf
del Satellite Server, eliminar los.conf
que se hayan creado en la carpeta/etc/pandora/conf
y posteriormente eliminar los Agentes en la Consola.
Para la eliminación parcial también debemos de tener en cuenta el método utilizado en la creación de Agentes.
- Manual: Habrá que eliminar, en primer lugar, los ficheros
.conf
de los Agentes a borrar en la carpeta/etc/pandora/conf
y posteriormente eliminar los Agentes en la consola. - Fichero satellite_hosts.txt: Habrá que eliminar del fichero las líneas de las direcciones IP a eliminar, así como los
.conf
que se hayan creado en la carpeta/etc/pandora/conf
con esas direcciones IP, y posteriormente eliminar los Agentes en la consola. - Recon_task: Habrá que configurar la lista de excluidos de la
recon_task
en el fichero.conf
del Satellite Server, después borrar los.conf
que se hayan creado en la carpeta/etc/pandora/conf
con esas direcciones IP y eliminar los Agentes en la consola.
Configuraciones personalizadas por Agente
Adicionalmente a los Módulos “automáticos”, se podrá agregar a la monitorización cualquier chequeo TCP, SNMP, WMI o SSH que esté disponible, usando una sintaxis similar a que se usa para los Módulos locales en los Agentes Software. Se exponen algunos ejemplos de Módulos válidos para el Satellite Server, tal como se autogeneran después de detectar el sistema.
¡Asegúrese de que los OID empiezan con un punto o los módulos SNMP no funcionarán!
Estado de la interfaz vía SNMP. El Satellite Server detecta automáticamente cada interfaz:
module_begin module_name if eth1 OperStatus module_description IP address N/A. Description: The current operational state of the interface. The testing(3) state indicates that no operational packets can be passed. module_type generic_data_string module_snmp 192.168.70.225 module_oid .1.3.6.1.2.1.2.2.1.8.3 module_community artica06 module_end
Para obligar al módulo a utilizar SNMP versión 2c añada la línea:
module_version 2c
Para obligar al módulo a utilizar SNMP versión 1 añada la línea:
module_version 1
Por ejemplo:
module_begin module_name if eth1 OperStatus module_description IP address N/A. Description: The current operational state of the interface. The testing(3) state indicates that no operational packets can be passed. module_type generic_data_string module_snmp 192.168.70.225 module_version 2c module_oid .1.3.6.1.2.1.2.2.1.8.3 module_community artica06 module_end
Conectividad a una máquina (vía PING):
module_begin module_name ping module_type generic_data module_ping 192.168.70.225 module_end
Comprobación de un puerto (vía TCP):
module_begin module_name Port 80 module_type generic_proc module_tcp module_port 80 module_end
Consulta genérica SNMP. En este caso el Satellite Server saca automáticamente el tráfico de cada interfaz, con su nombre “real” descriptivo:
module_begin module_name if eth0 OutOctets module_description The total number of octets transmitted out of the interface, including framing characters. module_type generic_data_inc module_snmp 192.168.70.225 module_oid .1.3.6.1.2.1.2.2.1.16.2 module_community public module_end
Consulta WMI para uso de CPU (porcentaje):
module_begin module_name CPU module_type generic_data module_wmicpu 192.168.30.3 module_wmiauth admin%none module_end
Consulta WMI para memoria libre (porcentaje):
module_begin module_name FreeMemory module_type generic_data module_wmimem 192.168.30.3 module_wmiauth admin%none module_end
Consulta genérica WMI:
module_begin module_name GenericWMI module_type generic_data_string module_wmi 192.168.30.3 module_wmiquery SELECT Name FROM Win32_ComputerSystem module_wmiauth admin%none module_end
Comando genérico SSH:
module_begin module_name GenericSSH module_type generic_data module_ssh 192.168.30.3 module_command ls /tmp | wc -l module_end
Para introducir un umbral hay que hacerlo tanto en la definición de texto del Módulo (module_min_warning
, module_min_critical
) como en la definición de umbrales mediante la interfaz web. Por ejemplo:
module_begin module_name Latency module_type generic_data module_latency 192.168.70.225 module_min_warning 80 module_min_critical 120 module_end
Manualmente puede crear Módulos de ejecución. Los scripts o comandos que ejecute el Satellite Server deben estar previamente desplegados y accesibles por el mismo. En este sentido, funciona igual que un module_exec
de un Agente. Tenga en cuenta que el uso de module_exec
puede hacer que el rendimiento del Satellite Server disminuya.
module_begin module_name Sample_Remote_Exec module_type generic_data module_exec /usr/share/test/test.sh 192.168.50.20 module_min_warning 90 module_min_critical 95 module_end
A partir de la versión 7 de Pandora FMS también pueden añadirse plugins. Al igual que estos, hay que tener en cuenta que los plugins se ejecutarán en la máquina donde está corriendo el Satellite Server. Por lo tanto, habrá que implementar en estos plugins algún método para conectarse al equipo remoto que se necesita monitorizar. La ventaja respecto a los anteriores es su gran flexibilidad. De esta forma, se pueden implementar condiciones y otros mecanismos para los que un module_exec
se queda corto. La sintaxis es la misma que la de los Agentes. Un ejemplo de uso de un plugin podría ser el siguiente:
module_plugin /usr/share/pandora/remote_advanced_checks.sh 192.168.0.1
SNMPv3
Para configurar un módulo SNMPv3, defina module_version a 3 y especifique:
module_seclevel
: Nivel de seguridad (noauth
,authnopriv
oauthpriv
).module_secname
: Nombre de seguridad.module_authproto
: Protocolo de autenticación (md5
osha
).module_authpass
: Clave de autenticación.module_privproto
: Protocolo de privacidad (aes
odes
).module_privpass
: Clave de privacidad, según sea necesario.
Por ejemplo:
module_begin module_name snmp_noauth module_type generic_data_string module_snmp 127.0.0.1 module_version 3 module_oid .1.3.6.1.2.1.1.1.0 module_seclevel noauth module_secname snmpuser module_end
module_begin module_name snmp_authnopriv module_type generic_data_string module_snmp 127.0.0.1 module_version 3 module_oid .1.3.6.1.2.1.1.2.0 module_seclevel authnopriv module_secname snmpuser module_authproto md5 module_authpass 12345678 module_end
module_begin module_name snmp_authpriv module_type generic_data_string module_snmp 127.0.0.1 module_version 3 module_oid .1.3.6.1.2.1.1.2.0 module_seclevel authpriv module_secname snmpuser module_authproto sha module_authpass 12345678 module_privproto aes module_privpass 12345678 module_end
La configuración específica de SNMPv3 se puede compartir entre Módulos sacándola fuera de la declaración del Módulo, en caso de que sea la misma para todos (también se puede compartir entre Agentes moviéndola al fichero de configuración del Satellite Server):
agent_name snmp address 127.0.0.1 seclevel authpriv secname snmpuser authproto md5 authpass 12345678 privproto des privpass 12345678 module_begin module_name snmp_authpriv_1 module_type generic_data_string module_snmp module_version 3 module_oid .1.3.6.1.2.1.1.1.0 module_end module_begin module_name snmp_authpriv_2 module_type generic_data_string module_snmp module_version 3 module_oid .1.3.6.1.2.1.1.2.0 module_end
Para la creación de módulos SNMP (incluyendo SNMPv3) por medio de la Consola web PFMS visite este vídeo. Para la creación de grupos de componentes (incluyendo SNMPv3) consulte “SNMP wizard”.
Fichero de configuración del Satellite Server por defecto para SNMPv3:
Deberá colocar sus propios valores y/o credenciales, así como cambiar los protocolos o métodos de cifrado necesarios. Deberá reiniciar el servidor PFMS para que los nuevos valores de configuración sean leídos y puestos en memoria.
# Security level used for SNMPv3 messages (noauth, authnopriv or authpriv). #snmp3_seclevel authpriv # Security name used for SNMPv3 messages. #snmp3_secname # Authentication protocol (md5 or sha) for authenticated SNMPv3 requests. #snmp3_authproto sha # Authentication password for authenticated SNMPv3 request. #snmp3_authpass # Privacy protocol (des or aes) for encrypted SNMPv3 requests. #snmp3_privproto des # Privacy password for encrypted SNMPv3 messages. #snmp3_privpass
Cajas de credenciales
Salvo que la autenticación esté configurada con clave privada y clave pública, los Módulos SSH necesitan un nombre de usuario ( <user>
) y una contraseña ( <pass>
) para funcionar. Ambos se registran en el fichero de configuración principal, satellite_server.conf
, utilizando cajas de credenciales (credential_box
) con los siguientes formatos:
red/máscara,usuario,contraseña
red/máscara,usuario,[[contraseña cifrada]]
Por ejemplo:
credential_box 192.168.1.1/32,<user>,<pass1> credential_box 192.168.1.0/24,<user>,<pass2>
Las búsquedas en las cajas de credenciales se hacen de máscaras más a menos restrictivas.
Las contraseñas se pueden cifrar utilizando Blowfish en modo ECB. Asegúrese de que credential_pass está definido, de otro modo el nombre del host se utilizará como contraseña de cifrado por defecto. La representación hexadecimal del texto cifrado se debe rodear con corchetes dobles:
credential_box 192.168.1.0/24,<user>,[[80b51b60786b3de2]]
Vista en la consola de todos los Agentes
Si la configuración del Satellite Server ha sido correcta, debería obtener una vista de Agentes parecida a esta:
Generalmente en todas las máquinas se crearán Módulos de tipo ICMP (Ping y Latencia) pero en algunas también se pueden generar Módulos de tipo SNMP y WMI. En las que tengan WMI habilitado se generarán los siguientes Módulos, de estar disponibles:
En las máquinas con SNMP habilitado se generarán los siguientes módulos, de estar disponibles:
En el apartado de operaciones masivas de la Consola de Pandora FMS hay una sección especial dedicada al Satellite Server, donde se pueden realizar diversas acciones de edición y borrado de Agentes y Módulos de forma masiva:
Lista de exclusión de SNMP
Al monitorizar redes grandes los Módulos SNMP que devuelven datos inválidos pueden afectar al rendimiento del Satellite Server, y llevar a otros Módulos a estado Desconocido. Para evitar esto, el Satellite Server puede leer una lista de excluidos de Módulos SNMP que serán descartados en el arranque antes de la ejecución.
Para crear una lista de excluidos, edite el fichero de configuración /etc/pandora/satellite_server.conf
y asegúrese de que snmp_blacklist
está descomentado y configurado con la ruta al fichero en el que se guardarán los Módulos de la lista de excluidos. A continuación ejecute:
satellite_server -v /etc/pandora/satellite_server.conf
Reinicie el Satellite Server. La lista de excluidos se puede regenerar tantas veces como sea necesario.
El formato de la lista de excluidos es:
agent:OID agent:OID ...
Por ejemplo:
192.168.0.1:.1.3.6.1.4.1.9.9.27 192.168.0.2:.1.3.6.1.4.1.9.9.27