Difference between revisions of "Pandora: Documentation es: Monitorizacion remota"

From Pandora FMS Wiki
Jump to: navigation, search
(Monitorización con plugins remotos de servidor)
m (Monitorización de rutas: Artifico para que funcionen los enlaces web cerca de subtítulos.)
(174 intermediate revisions by 12 users not shown)
Line 1: Line 1:
[[Pandora:Documentation|Volver a Indice de Documentacion Pandora FMS]]
+
[[Pandora:Documentation|Volver al Índice de Documentación Pandora FMS]]
 +
 
  
 
= Monitorización remota =
 
= Monitorización remota =
  
==Introducción==
+
== Introducción ==
  
El servidor de red de Pandora FMS es una pieza clave, ya que permite ejecutar pruebas de forma remota y centralizada. Al contrario que el servidor de datos, el servidor de red ejecuta las tareas asignadas a él mediante un sistema de colas multiproceso. Además, un servidor de red puede trabajar con otros servidores de red balanceando la carga y actuando como respaldo en caso de que otro servidor de red caiga, haciéndose cargo del trabajo que tenía el servidor caído. Para saber más sobre la HA en Pandora FMS consulta el capitulo correspondiente.
+
El Servidor de Red (''Network Server'') de Pandora FMS es una pieza clave, ya que permite ejecutar pruebas de forma remota y centralizada. Al contrario que el [[Pandora:Documentation_es:Arquitectura#Servidor_de_datos|Servidor de Datos]], el Servidor de Red ejecuta las tareas asignadas a él mediante un sistema de colas multiproceso. Además, un Servidor de Red puede trabajar con otros [[Pandora:Documentation_es:HA|servidores de red (modo HA)]] balanceando la carga y actuando como respaldo en caso de que otro servidor de red caiga, haciéndose cargo del trabajo que tenía el servidor fuera de línea
  
El servidor de red trabaja únicamente con aquellos módulos de red asignados a él. Obviamente, y dado que se trata de pruebas de red, el servidor de red tiene que tener una visibilidad completa (direcciones IP y puertos) sobre los que se van a realizar las pruebas. No tiene sentido realizar pruebas contra un sistema cuyos puertos no se pueden ver o sobre el cual no se tienen las rutas. La existencia de cortafuegos (firewalls) o rutas en la red no tiene nada que ver con Pandora FMS y los problemas generados por estas razones tampoco tienen nada que ver con una configuración concreta de Pandora FMS.
+
[[Image:Remote-monitoring.jpg|500px|center]]
  
Además del ''network server'' (servidor de red) existen muchos otros subtipos de servidores de Pandora FMS que ejecutan pruebas remotas. En este capítulo veremos los servidores de red, los servidores de plugin remotos, los servidores que lanzan pruebas remotas contra máquinas Windows (''WMI Server''). Otros servidores que también realizan pruebas remotas, como el servidor de pruebas WEB (''WEB Server o Goliat server'') tienen capítulos específicos de documentación.
+
El Servidor de Red trabaja únicamente con aquellos módulos de red asignados a él. El servidor de red debe tener una visibilidad completa (direcciones IP y puertos) sobre los que se van a realizar las pruebas. Sin embargo los cortafuegos (''firewalls'') tanto de manera física (en ''firmware'' de ''routers'') como de software (a nivel de sistema operativo) pueden dificultar esta tarea, por lo que se debe prestar mucha atención en establecer las políticas de seguridad adecuadas para realizar el trabajo de monitorización.
  
<br>
+
Además del Servidor de Red existen muchos otros [[Pandora:Documentation_es:Arquitectura#Servidores_de_Pandora_FMS|subtipos de servidores de Pandora FMS]] que ejecutan pruebas remotas. En este capítulo veremos los servidores de red, los servidores de plugin remotos y los servidores que lanzan pruebas remotas contra máquinas Windows (''WMI Server''). Otros servidores que también realizan pruebas remotas, como el servidor de pruebas WEB (''WEB Server o Goliat server''), tienen capítulos específicos de documentación.
[[File:Remote-monitoring.jpg|500px|center]]
 
<br>
 
  
 
== Monitorización básica de red ==
 
== Monitorización básica de red ==
Line 19: Line 18:
 
Los módulos de red básicos de Pandora FMS ejecutan tareas de monitorización remota. Las tareas de ejecución remota se pueden resumir en tres bloques.
 
Los módulos de red básicos de Pandora FMS ejecutan tareas de monitorización remota. Las tareas de ejecución remota se pueden resumir en tres bloques.
  
'''Pruebas ICMP'''
+
#'''Pruebas ICMP''': son pruebas básicas de red que permiten saber si un anfitrión o ''host'' está en línea y accesible, además del tiempo que se tarda en llegar a dicho dispositivo a través de la red.
 +
 
 +
#'''Pruebas TCP''': de forma remota se comprueba que un sistema tiene abierto el puerto TCP especificado en la definición del módulo. Adicionalmente se puede enviar una cadena de texto y también el recibir una respuesta concreta para comprobar que la comunicación es correcta. Esto permite implementar comprobaciones simples de protocolo, por ejemplo, para comprobar si un servidor HTTP ''está vivo'' se envia la cadena <code>GET / HTTP/1.0</code>  esperando recibir la cadena <code>200 OK</code>.
 +
 
 +
#'''Pruebas SNMP''': es posible lanzar peticiones SNMP (''SNMP Polling'') a sistemas que tengan dicho servicio activado para obtener datos como el estado de las interfaces, el consumo de red por interfaz, etc. Acá se describe las operaciones básicas y las operaciones avanzadas se describen en el capítulo de [[Pandora:Documentation_es:Monitorizacion_traps_SNMP|Monitorizacion traps SNMP]]
 +
 
 +
[[Image:Pandora 1.3 Network&DataServer Arch.png|center|700px]]
 +
 
 +
{{Tip|El servidor de red es quien ejecuta las diferentes pruebas de red asignadas en cada agente. Cada agente se asigna a un servidor de red, y es este quien se encarga de su ejecución, insertando los resultados en la base de datos Pandora FMS.}}
  
Son pruebas básicas de red que permiten saber si un host está accesible y vivo y el tiempo que se tarda en llegar a dicho dispositivo a través de la red.
+
=== Configuración genérica de un módulo para monitorización de red ===
  
'''Pruebas TCP'''
+
Para monitorizar de forma remota un equipo o un servicio de un equipo (FTP, SSH, etc.), primero se debe crear el agente correspondiente para monitorizar el servicio.
  
De forma remota se comprueba que un sistema tiene abierto el puerto TCP especificado en la definición del módulo. Adicionalmente se puede enviar una cadena de texto y se puede esperar al recibir una respuesta concreta para comprobar que la comunicación es correcta. Esto permite implementar comprobaciones simples de protocolo, además de verificar si el otro extremo responde o no.
+
{{Tip|Cuando se habla de crear un agente, se refiere a crear un ''Agente Lógico'' en la interfaz de Pandora FMS, el cual es distinto a instalar un [[Pandora:Documentation_es:Operacion|Agente Software en la máquina destino.]]}}
  
Por ejemplo, podríamos comprobar si un servidor HTTP ''está vivo'' enviando la cadena «GET / HTTP/1.0»  esperando recibir la cadena «200 OK».
+
Se accede en la sección de administración de la consola de Pandora FMS, '''Resources''' > '''Manage agents''' ("Recursos" > "Administrar Agentes"):
  
'''Pruebas SNMP'''
+
[[Image:CapturaMR1.JPG|center|500px]]
  
Remotamente es posible lanzar peticiones SNMP (''SNMP Polling'') a sistemas que tengan su servicio SNMP activado y accesible para obtener datos como estado el de las interfaces, el consumo de red por interfaz, etc. Existe un a sección dedicada a SNMP con Pandora FMS (ver más adelante).
+
En la siguiente pantalla, pulse el botón '''Create agent''' ("Crear Agente"):
  
<center><br><br>
+
[[Image:bibi.jpg|700px|center]]
[[Image:Pandora 1.3 Network&DataServer Arch.png|center|700px]]
+
 
</center><br><br>
+
Rellene los datos para su nuevo agente y pulse el botón '''Create''' ("Crear"):
  
Como resumen, se puede concluir que el servidor de red es quien ejecuta las diferentes pruebas de red asignadas en cada agente. Cada agente se asigna a un servidor de red, y es éste quien se encarga de su ejecución, insertando los resultados en la BB.DD. del sistema de Pandora FMS.
+
[[image:Raro.jpg|700px|center]]
  
== Configuración genérica de un módulo para monitorización de red ==
+
Una vez que haya creado el agente, pulse sobre la solapa superior de los módulos ('''Modules'''). Allí seleccione crear un nuevo módulo de red y pulse el botón '''Create''' ("crear"):
  
Para monitorizar de forma remota un equipo o un servicio de un equipo (FTP, SSH, etc.), primero se deberá crear el agente correspondiente para monitorizar el servicio, por ello, se empezará por ahí.
+
[[image:Sasa.jpg|500px|center]]
  
{{Tip|Cuando se habla de crear un agente, no se refiere a instalar un agente software en la máquina destino, si no a crear un agente en la interfaz de Pandora FMS}}
+
En el siguiente formulario seleccione un módulo de componente de red, y cuando se cargue el menú desplegable de la derecha, seleccione la comprobación deseada.
  
En la sección de administración de la consola de Pandora FMS pulse sobre '''Resources''' > '''Manage agents''':
+
==== Ejemplo de creación de un módulo Host Alive ====
<br><br>
 
<center>
 
[[image:anvi.jpg|center]]
 
</center>
 
<br>
 
En la siguiente pantalla, pulse el botón '''Create agent''':
 
<br><br>
 
<center>
 
[[image:bibi.jpg|750px|center]]
 
</center>
 
<br>
 
Rellene los datos para su nuevo agente y pulse el botón '''Create''':
 
<br><br>
 
<center>
 
[[image:Raro.jpg|750px|center]]
 
</center>
 
<br>
 
Una vez que haya creado el agente, pulse sobre la solapa superior de los módulos (Modules). En ella, seleccione crear un nuevo módulo de red y pulse el botón '''Create''':
 
<br><br>
 
<center>
 
[[image:Sasa.jpg|650px|center]]
 
</center>
 
<br>
 
En el siguiente formulario seleccione un módulo de componente de red, y cuando se cargue el menú desplegable de la derecha, busque la comprobación que le interese. En este ejemplo se seleccionará Host Alive, que representa un ping a la máquina, una simple comprobación para saber si la máquina está conectada a Internet o no.
 
<br><br>
 
<center>
 
[[image:Alive.jpg|center|800px]]
 
</center>
 
<br>
 
Se dejan las opciones avanzadas para más tarde. Note que el módulo ha obtenido la dirección IP del agente. Si lo desea, ésta puede ser diferente. Una vez que termine de definir el módulo, pulse el botón '''Create'''.
 
  
En la siguiente pantalla se mostrarán los módulos para el agente, el predeterminado Keepalive que se crea con el agente y el módulo Host Alive añadido:
+
''Host Alive'' es una simple comprobación para saber si un dispositivo está en línea mediante la ejecución de un ''ping''.
<br><br>
 
<center>
 
[[image:Kiji.jpg|center|800px]]
 
</center>
 
<br>
 
Como se ve, existe una advertencia sobre los módulos. La advertencia sólo significa que aún no se ha recibido ningún dato en el módulo, ya que se acaban de añadir. Una vez que se comiencen a recibir datos, la advertencia desaparecerá.
 
  
Para ver los datos del módulo recién creado, pulse sobre la solapa superior View, y en ella vaya a la parte de abajo, donde se mostrarán los datos una vez se empiecen a recibir:
+
[[image:Alive.jpg|center|700px]]
<br><br>
 
<center>
 
[[image:keso.jpg|center|800px]]
 
</center>
 
<br>
 
Para añadir otro tipo de comprobaciones de red, proceda de forma similar a la anterior, pero seleccionando otro tipo de módulos.
 
  
== Monitorización ICMP ==
+
En ''Target IP'' se debe colocar la dirección IP objetivo. Una vez que termine de definir el módulo, pulse el botón '''Create''' ("Crear").
  
El ejemplo anterior es un ejemplo de monitorización ICMP. Estas son las comprobaciones mas básicas y sencillas que nos dan una información importante y exacta. Existen dos tipos de comprobaciones ICMP:
+
En la siguiente pantalla se mostrarán los módulos para el agente, el predeterminado ''KeepAlive'' que se crea con el agente y el módulo ''Host Alive'' recién añadido:
  
* '''icmp_proc''', o comprobación de host (ping), que permite saber si una dirección IP responde o no.
+
[[image:Kiji.jpg|center|500px]]
  
* '''icmp_data''' o comprobación de latencia. Básicamente nos dice el tiempo en milisegundos que tarda en responder la dirección IP en responder a una consulta básica ICMP.
+
La advertencia sobre los módulos significa que aún no ha recibido ningún dato en el módulo. Una vez comience a recibir datos, la advertencia desaparecerá.
  
== Monitorización TCP ==
+
Para ver los datos del módulo recién creado, pulse sobre la solapa superior '''View''' ("Vista"), y en ella vaya a la parte de abajo, donde se mostrarán los datos una vez se empiecen a recibir:
  
Los chequeos TCP permiten comprobar el estado de un puerto o un servicio TCP.
+
[[image:keso.jpg|center|500px]]
 
Los campos fundamentales de este tipo de módulos son:
 
  
<br>
+
Para añadir otro tipo de comprobaciones de red, proceda de forma similar a la anterior, pero seleccionando otro tipo de módulos.
<center>
 
[[image:Tcpfields.JPG|750px]]
 
</center>
 
<br>
 
  
Las comprobaciones TCP por defecto simplemente miran si el puerto de destino esta abierto o no. Opcionalmente se le puede enviar una cadena de texto, y esperar a recibir algo que será tratado directamente por Pandora FMS como un dato, mediante los campos TCP Send y TCP Receive.
+
=== Monitorización ICMP ===
  
Se puede enviar una cadena de texto (utilizando la cadena «^M» para reemplazar al retorno de carro) y se puede esperar al recibir una subcadena de respuesta para comprobar que la comunicación es correcta. Esto permite implementar comprobaciones simples de protocolo. Por ejemplo, podríamos comprobar si un servidor está vivo enviando la cadena
+
El ejemplo anterior es una monitorización ICMP. Estas son las comprobaciones más básicas y sencillas que nos dan una información importante y exacta.
  
  GET / HTTP/1.0^M^M
+
* '''icmp_proc''': comprobación en línea (ping) que permite saber si una dirección IP responde o no.
  
y esperando recibir la cadena
+
* '''icmp_data''': comprobación de ''latencia'' que indica el tiempo en milisegundos para responder a una consulta básica ICMP.
  
200 OK
+
=== Monitorización TCP ===
  
Esto se codifica en los campos TCP Send y TCP receive.
+
TCP está orientado hacia la conexión por lo que a un envío '''TCP Send''' corresponderá una respuesta '''TCP Receive''' que indica el estado de un puerto o un servicio a monitorizar. Opcionalmente se puede enviar una cadena de texto y esperar a recibir una respuesta que será tratada directamente por Pandora FMS como un dato.
  
'''TCP send'''
+
;TCP Send
 
Campo para configurar los parámetros que enviar al puerto TCP. Admite la cadena ^M para reemplazarla por el envió de un retorno de carro. Para enviar varias cadenas en secuencia envió/respuesta, hay que separarlas con el carácter |
 
  
'''TCP receive'''
+
Campo para configurar los parámetros que enviar al puerto TCP. Para enviar varias cadenas en secuencia envío/respuesta, hay que separarlas con el carácter <code>|</code>; admite la cadena <code>^M</code> para reemplazarla por el envío de un retorno de carro. Ejemplo:
  
Campo para configurar las cadenas de texto que se esperan recibir en la conexión TCP. Si se envían/reciben en varios pasos, cada paso se separa con el carácter |
+
GET / HTTP/1.0^M^M
  
A través de las comprobaciones TCP de Pandora se puede hacer algo más que ver simplemente si un puerto está abierto o esperar una respuesta ante una petición simple. Se pueden enviar datos, esperar a recibir algo, enviar algo después, esperar a recibir algo y así hasta el paso que queramos. Solo si todo el proceso es correcto, podemos dar por válido el resultado.
+
;TCP receive
  
Para utilizar el sistema de comprobaciones diálogo/respuesta de Pandora, puede separar las diferentes peticiones con el carácter |  
+
Campo para configurar las cadenas de texto que se deben comparar con las repuestas recibidas de la conexión TCP. Si se envían/reciben en varios pasos, cada paso se debe  separar con el carácter <code>|</code>.
  
Veamos un ejemplo de una conversación SNMP:
+
Ejemplo con '''Simple Mail Transfer Protocol''' (SMTP) en un servidor de correo electrónico:
  
  R: 220 mail.supersmtp.com Blah blah blah
+
  R: 220 mail.supersmtp.com ...
 
  S: HELO myhostname.com
 
  S: HELO myhostname.com
 
  R: 250 myhostname.com
 
  R: 250 myhostname.com
Line 148: Line 105:
 
  S: DATA
 
  S: DATA
 
  R: 354 Start mail input; end with .
 
  R: 354 Start mail input; end with .
  S: .......your mail here........
+
  S: .......<your mail here>........
 
  S: .
 
  S: .
 
  R: 250 OK
 
  R: 250 OK
 
  S: QUIT
 
  S: QUIT
  R: 221 mail.supersmtp.com Service closing blah blah blah
+
  R: 221 mail.supersmtp.com Service closing ...
  
Si quiere chequear los primeros puntos del protocolo, los campos necesarios para emular esta conversación serían:
+
La cadena de texto <code>250 OK</code> es clave en las tres respuestas para comprobar que funciona de forma adecuada, por ello la configuración acorde es:
  
''TCP Send''
+
;TCP Send
  
 
  HELO myhostname.com^M|MAIL FROM: ^M| RCPT TO: ^M
 
  HELO myhostname.com^M|MAIL FROM: ^M| RCPT TO: ^M
  
''TCP Receive''
+
;TCP Receive
  
 
  250|250|250
 
  250|250|250
  
Si los tres primeros pasos son OK (código 250), entonces el servidor SMTP esta ok. No necesita enviar un mail completo (aunque podría, en cualquier caso). Esto permite realizar comprobaciones TCP basadas en el protocolo, que pueden usarse para cualquier protocolo que utilice conversaciones en texto plano.
+
Si los tres primeros pasos son <code>250 OK</code> entonces el servidor SMTP está ok. Todo esto permite usarse para cualquier otro protocolo que utilice conversaciones en texto plano.
 +
 
 +
=== Módulos de ejecución remota ===
 +
 
 +
{{Tip|<b>Enterprise</b> versión 741 o superior}}
 +
 
 +
* Remote execution data
 +
* Remote execution data proc
 +
* Remote execution data string
 +
* Remote execution data inc
 +
 
 +
Para poder utilizar con éxito estos módulos se necesitan las credenciales de conexión del agente a monitorizar. Por tanto todo esto se debe registrar en el [[Pandora:Documentation_es:Gestion_y_Administracion#Almac.C3.A9n_de_credenciales|<b>almacén seguro de credenciales</b>]]:
 +
 
 +
[[Image:remotexec9.PNG|center|600px]]
 +
 
 +
Ejemplo de creación de un nuevo módulo del servidor de red:
 +
 
 +
[[image:remotexec2.png|center|600px]]
 +
 
 +
Para ejecuciones remotas se admiten los siguientes tipos de datos de respuesta:
 +
 
 +
* <code>remote_execution_data</code>: numérico.
 +
* <code>remote_execution proc</code>: ''booleano'' (0 '''FALSO''', distinto de cero '''VERDADERO''').
 +
* <code>remote_execution_data_string</code>: alfanumérico (cadena).
 +
* <code>remote_execution_data_inc</code>: incremental (ratio).
 +
 
 +
Se deben definir los siguientes parámetros:
 +
 
 +
# '''Target IP''': opcionalmente la IP del objetivo (si no, se usará la del agente).
 +
# '''Port''': opcionalmente el puerto al que conectar (22 en GNU/Linux, indiferente en MS Windows®).
 +
# '''Command''': el comando a ejecutar para realizar la monitorización.
 +
# '''Credential identifier''': el juego de credenciales a utilizar para conectar.
 +
# '''Target OS''': opcionalmente el sistema operativo del objetivo (si no, se usará el del agente).
 +
 
 +
;Ejemplo:
 +
 
 +
[[image:remotexec3.png|center|500px]]
 +
 
 +
El sistema ejecutará el comando contra la máquina remota, recibiendo el número de archivos en el directorio de trabajo temporal.
 +
 
 +
[[image:remotexec4.png|center]]
 +
 
 +
;Ejemplo con tipo de dato alfanumérico para ver la salida literal del comando:
 +
 
 +
[[image:remotexec5.png|center|600px]]
 +
 
 +
El parámetro ''''Target OS'''' se puede configurar para que herede el sistema operativo del agente al que se está apuntando. 
 +
 
 +
Resultado:
 +
 
 +
[[Image:remotexec6.png|center|600px]]
 +
 
 +
[[Image:remotexec7.png|center|600px]]
 +
 
 +
{{Tip|El comportamiento del módulo es idéntico a la hora de asignar alertas, generar eventos o visualizar informes.}}
 +
 
 +
{{Warning|A partir de la versión '''743''' en el fichero <code>pandora_server.conf</code> se debe disponer de ''tokens'' para la configuración de los siguientes parámetros relacionados con la ejecución remota de módulos: <code>ssh_launcher</code>, <code>rcmd_timeout</code> y <code>rcmd_timeout_bin</code>.}}
 +
 
 +
=== Propiedades avanzadas comunes de los módulos de red ===
 +
 
 +
[[Image:Cap5_snmp_8.png|center|700px]]
 +
 
 +
* '''Custom ID''': permite almacenar un ID de una aplicación externa  para facilitar la integración de Pandora FMS con aplicaciones de terceros. Por ejemplo, una ''Configuration management database'' (CMDB).
 +
 
 +
* '''Interval''': intervalo de ejecución del módulo, el cual [[Pandora:Documentation_es:Configuracion_Consola#Otra_configuraci.C3.B3n|puede ser personalizado]] por un usuario Administrador de manera predefinida y luego ser utilizado por usuarios estándar.
 +
 
 +
* '''Post process''': para posprocesado del módulo (multiplicar o dividir el valor devuelto), por ejemplo cuando se obtienen bytes y se desea mostrar el valor en Megabytes.
 +
 
 +
* '''Min. Value''' y '''Max. Value''': cualquier valor por debajo del mínimo o por encima del máximo se tomará como inválido y se descartará.
 +
 
 +
* '''Export target''': solo disponible en la versión Enterprise y si se tiene configurado un [[Pandora:Documentation_es:ExportServer|Servidor de Exportación]].
 +
 
 +
<!-- ampliar información sobre la siguiente imagen
 +
[[Image:module_advanced.png|center|700px]]
 +
-->
 +
 
 +
;Cron
 +
 
 +
Si ''Cron from'' está activado, el módulo se ejecutará una vez cuando la fecha y hora actuales coincidan con la fecha y hora configuradas en ''Cron from'', ignorando el propio intervalo del módulo.
 +
 
 +
Se puede especificar periodos de tiempo en los cuales se ejecutará el módulo; tiene la nomenclatura: Minuto, Hora, Día del Mes, Mes, Día de la semana y existen tres posibilidades distintas:
 +
** '''Cron from''' tiene establecido por defecto en todos sus campos '''Any''' (_Cualquiera_), sin restricción  alguna de tiempo para la monitorización.
 +
** Si '''Cron from''' -> algún valor específico y '''Cron to''' todos en '''Any''': se ejecutará únicamente cuando coincida con el número estipulado. Ej: <code>15 20 * * *</code>, solo se ejecutará todos los días a las 20:15.
 +
** '''Cron from''' -> algún valor específico y '''Cron to''' ->  -> algún valor específico: se ejecutará durante el intervalo expuesto. Ej: <code>5 * * * *</code> y <code>10 * * * *</code>, se ejecutará cada hora entre los minutos 5 y 10 (esto es equivalente a <code>5-10 * * * *</code>).
 +
 
 +
Ejemplo, ejecutar cada lunes a las 6:30:
 +
[[Image:cron_from_ex1.png|center|600px]]
 +
 
 +
Ejemplo, ejecutar todos los días entre las 6 y las 7:                                                                                 
 +
 
 +
[[image:cron_from_ex2.png|center|600px]]                                                                                                                                                                                                       
 +
                                                                                                                                                                                                                                         
 +
Para los módulos locales se añade la línea ''module_crontab'' correspondiente al fichero de [[Pandora:Documentation_es:Operacion#Monitorizaci.C3.B3n_programada Monitorización programada|configuración del agente]].
 +
 
 +
'''Timeout'''
 +
 
 +
Tiempo que espera el agente a la ejecución del módulo, expresado en segundos.
 +
 
 +
'''Category'''
 +
 
 +
Esta categorización no tiene efectos desde la interfaz de usuario normal. Está pensada para usarse en conjunto con la [[Pandora:Metaconsole:Documentation_es:Introduction|Metaconsola]].
  
 
== Monitorización SNMP ==
 
== Monitorización SNMP ==
Line 170: Line 227:
 
=== Introducción a la monitorización SNMP ===
 
=== Introducción a la monitorización SNMP ===
  
Cuando se habla de la monitorización SNMP, lo más importante al principio es separar los conceptos de polling y los traps. El testeo o polling SNMP implica ordenar que Pandora FMS ejecute un comando «get» contra un dispositivo SNMP, como por ejemplo un router o un switch, esta es una operación '''síncrona''' (que se realiza cada cierto tiempo de forma activa).  
+
El Protocolo Simple de Administración de Red o ''Simple Network Management Protocol'' (SNMP), especificado en [https://tools.ietf.org/html/rfc3411 RFC 3411] y [https://tools.ietf.org/html/rfc3418 RFC 3418] y publicados por el IETF, trabaja con operaciones síncronas y operaciones asíncronas:
  
Por el contrario, recibir un trap SNMP es una operación asíncrona (basada en cambios o eventos, que pueden no ocurrir), comúnmente utilizada para recibir avisos provenientes del dispositivo como, por ejemplo, cuando un switch tumba un puerto o su ventilador se calienta demasiado.
+
* '''Polling SNMP''': se realiza cada cierto tiempo de forma activa e implica ordenar que Pandora FMS ejecute un comando <code>get</code> contra un dispositivo SNMP. Se realizan creando módulos de red en Pandora FMS de la forma habitual.
 +
 +
* '''Trap SNMP''': ocurre con cambios o eventos en el dispositivo, que pueden suceder en cualquier momento o no (ej. un ventilador cesa su funcionamiento y aumenta la temperatura del equipo). Es necesario activar la consola de ''traps'' SNMP en Pandora FMS, donde se mostrarán los que se reciban de cualquier dispositivo. Se pueden definir alertas mediante reglas de filtrado de ''traps'' por cualquiera de sus campos.
  
Los chequeos SNMP tipo polling se realizan creando módulos de red en Pandora FMS de la forma habitual.  
+
Pandora FMS trabaja con SNMP manejando Identificadores de Objetos u ''Object IDentifier'' (OID) individuales, así cada OID es un módulo de red. Ejemplo: para conocer el estado operativo de cada puerto así como el tráfico de entrada y salida de un Cisco Catalyst® de 24 puertos se deben definir un total de 72 módulos (24 x 3).
  
Utilizar los Traps SNMP es algo totalmente diferente. Se pueden recibir traps de cualquier dispositivo, únicamente será necesario activar la consola de traps SNMP en Pandora FMS, donde se mostrarán los traps que se reciban de cualquier dispositivo. Se pueden definir alertas mediante reglas de filtrado de traps por cualquiera de sus campos.
+
;Pasos necesarios para trabajar con SNMP:
  
Pandora FMS trabaja con SNMP manejando OID individuales. Para Pandora FMS cada OID es un módulo de red. Es decir, si queremos monitorizar un switch Cisco Catalyst de 24 puertos, y conocer el estado operativo de cada puerto así como el tráfico de entrada y salida, tenemos que definir un total de 72 módulos (24 x 3).
+
* Activar la gestión SNMP del dispositivo para que desde el servidor de red se pueda hacer consultas SNMP.
 +
* Conocer la IP y la comunidad SNMP del dispositivo remoto.
 +
* Conocer el OID concreto del dispositivo remoto (o utilizar uno de los múltiples ''wizards'' de que dispone Pandora FMS o su explorador de OIDs SNMP).
 +
* Saber cómo gestionar el dato que devuelve el dispositivo. Los dispositivos SNMP devuelven datos en diferentes formatos. Pandora FMS puede tratar casi todos. Los datos de tipo contador son los que Pandora FMS gestiona <code>como remote_snmp_inc</code> y son de especial importancia, ya que al ser contadores no pueden tratarse como datos numéricos sino como tasa de elementos por segundo. La mayoría de datos estadísticos SNMP son de tipo contador y se han de configurar como <code>remote_snmp_inc</code> si se quiere monitorizar de forma adecuada.
  
Para trabajar con dispositivos SNMP es necesario:
+
=== Monitorizando con módulos de red tipo SNMP ===
  
* Conocer qué es y cómo trabaja el protocolo SNMP. Esto se describe en profundidad en el RFC3411 publicado por el IETF.
+
Pandora FMS incluye algunos OID en su base de datos que puede usar directamente. Por ejemplo, a la hora de crear el módulo seleccione el componente Cisco MIBs para mostrar una lista de los chequeos con OID traducidos disponibles para Cisco:
* Conocer la IP y la comunidad SNMP del dispositivo remoto.
+
 
* Activar la gestión SNMP del dispositivo para que desde el servidor de red se puedan hacer consultas SNMP. Este servidor de red debe ser el asignado por el agente donde vayamos a definir los módulos de red. También hay que tener en cuenta que si queremos que otros servidores de red hagan consultas en caso de caída del servidor asignado, estos harán las consultas con otra dirección IP.
+
[[Image:Cap5_snmp_4.png|center|500px]]
* Conocer el OID concreto del dispositivo remoto que queramos consultar (o utilizar uno de los múltiples ''wizards'' de que dispone Pandora FMS o su explorador de OIDs SNMP.
+
 
* Saber cómo gestionar el dato que devuelve el dispositivo. Los dispositivos SNMP devuelven datos en diferentes formatos. Pandora FMS puede tratar casi todos. Los datos de tipo contador son los que Pandora FMS gestiona como remote_snmp_inc y son de especial importancia, ya que al ser contadores no pueden tratarse como datos numéricos sino como tasa de elementos por segundo. La mayoría de datos estadísticos SNMP son de tipo contador y se han de configurar como remote_snmp_inc si se quiere monitorizarlos adecuadamente.
+
Una vez que seleccione este componente puede elegir entre los OID disponibles para él y se rellenarán los campos con la información necesaria:
  
=== Monitorizando con módulos de red tipo SNMP ===
+
[[Image:Cap5_snmp_5.png|center|700px]]
  
Para poder monitorizar cualquier elemento por SNMP deberemos saber, al menos, su IP y su comunidad SNMP. También sería muy interesante saber la OID que se pretende monitorizar, aunque se pueden obtener a través de un SNMP Walk o del explorador SNMP integrado en Pandora, siempre que se sepa a qué pertenece cada OID. Esto último no siempre es fácil.
+
Pulse el botón '''Create''' ("Crear"). Para ver los datos del módulo recién creado pulse sobre la solapa superior '''View''' ("Vista"), y en ella vaya a la parte de abajo, donde se mostrará una gráfica SNMP en tiempo real con '''Graph''' (una vez se empiecen a recibir los datos).
  
Para monitorizar un elemento por SNMP, primero se habrá de crear un agente para ello, si ya se dispone de uno, simplemente se le añadirá un módulo de red nuevo siguiendo las indicaciones anteriores.
+
[[Image:SNMP_nueva.png|center|700px]]
  
Una vez que se haya creado el módulo, se debe seleccionar un tipo de dato SNMP en el formulario de configuración del módulo, ver la imagen:
+
{{Tip|Existen más MIB incluidas en Pandora FMS, y con la versión Enterprise se incluyen paquetes de MIB para distintos dispositivos.}}
<br><br>
 
<center>
 
[[image:Cap5_snmp_1.png]]
 
</center>
 
<br><br>
 
Cualquiera de los tres tipos de datos SNMP son válidos, simplemente seleccione el que coincida con el tipo de dato que quiere monitorizar.
 
  
Una vez que haya seleccionado un tipo de dato SNMP, se expandirá el formulario mostrando los campos adicionales para SNMP:
+
Para poder monitorizar cualquier otro elemento por SNMP deberemos saber su comunidad SNMP. En la creación del módulo debe seleccionar '''Manual setup''':
<br><br>
 
<center>
 
[[image:Cap5_snmp_2.png]]
 
</center><br>
 
<br>
 
A continuación se detallan los campos:
 
  
'''SNMP community'''
+
[[image:Cap5_snmp_1.png|center|700px]]
  
Comunidad SNMP. Necesaria para poder monitorizar el elemento. Actúa como si fuese una contraseña.
+
En el campo '''Type''' existen tres opciones para SNMP, al seleccionar una de ellas se expandirá el formulario mostrando los campos adicionales para SNMP ([https://www.youtube.com/watch?v=aUXwcm4ZrUY a disposición un video tutorial para más información]):
  
'''SNMP version'''
+
[[image:Cap5_snmp_2.png|center|700px]]
  
Versión del protocolo SNMP del dispositivo. Puede ser 1, 2, 2c y 3. La versión 3 incorpora cifrado y autenticación segura en la comunicación, lo que complica bastante la configuración y empeora el rendimiento del ''polling'' de los servidores de red de Pandora FMS.
+
* '''SNMP community''': es como una identificación de usuario o una contraseña que permite el acceso a las estadísticas de un enrutador u otro dispositivo (versiones SNMPv1 y SNMPv2c ya que SNMPv3 utiliza autenticación por credenciales). Por defecto los dispositivos traen la comunidad pública ('''public''') de solo lectura y generalmente cada administrador de red cambia todas las cadenas de la comunidad a valores personalizados en la configuración del dispositivo.  
  
'''SNMP OID'''
+
* '''SNMP OID''': identificador OID que monitorizar, el cual consiste en una cadena de números y puntos. Estas cadenas son automáticamente traducidas por cadenas alfanuméricas más descriptivas si las MIB correspondientes se encuentran instaladas en el sistema.
  
Identificador OID que monitorizar. Consiste en una cadena de números y puntos. Estas cadenas son automáticamente traducidas por cadenas alfanuméricas más descriptivas si las MIB correspondientes se encuentran instaladas en el sistema. Las MIB son librerías de fabricantes que sirven para traducir estos OID en cadenas más descriptivas.
+
Las MIB son una colección de definiciones que definen las propiedades del objeto gestionado dentro del dispositivo a gestionar. Como tal, no es en realidad una base de datos sino que depende de la implementación. Cada proveedor de equipos SNMP tiene una sección exclusiva de la estructura de árbol de la MIB bajo su control.
  
Un OID alfanumérico puede tener este aspecto:
+
Ejemplo de OID alfanumérico:
 
+
    iso.org.dod.internet.private.transition.products.chassis.card.slotCps.cpsSlotSummary.cpsModuleTable.cpsModuleEntry.cpsModuleModel.3562.3
iso.org.dod.internet.private.transition.products.chassis.card.slotCps.cpsSlotSummary.cpsModuleTable.cpsModuleEntry.cpsModuleModel.3562.3
 
  
El equivalente numérico sería este:
+
Su equivalente numérico:
  
 
  1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3
 
  1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3
  
Pandora FMS incluye algunos OID, en su base de datos, que puede usar directamente. Por ejemplo, a la hora de crear el módulo seleccione el componente Cisco MIBs para mostrar una lista de los chequeos con OID traducidos disponibles para Cisco:
+
=== Monitorizando SNMP desde los Agentes Software ===
  
<br>
+
También se puede hacer una monitorización remota desde un [[Pandora:Documentation_es:Operacion|Agente Software]], el cual generalmente es utilizado para obtener datos locales, sin embargo Pandora FMS presenta flexibilidad en este y en muchos otros aspectos.
<center>
 
[[image:Cap5_snmp_4.png|center]]
 
</center>
 
<br>
 
  
Una vez que seleccione este componente, puede elegir entre los OID disponibles para él:
+
; En GNU/Linux®
  
<br>
+
'''snmpget''' suele estar instalado por defecto, por lo que puede ser llamado desde la línea ''module_exec''.
<center>
 
[[image:Cap5_snmp_5.png|center]]
 
</center>
 
<br>
 
  
Al hacerlo, se rellenarán los campos con la información necesaria.
+
module_exec snmpget -v <versión> -c <comunidad> <dirección IP> <OID numérica>
  
Existen más MIB incluidas en Pandora FMS y con la versión Enterprise se incluyen paquetes de MIB para distintos dispositivos.
+
Cabe destacar que solo las OID "básicas" son traducibles por su equivalente numérico, y que es recomendable usar siempre OID numéricas, ya que no se sabe si la herramienta va a saber traducirla o no. En cualquier caso siempre se pueden cargar las mibs en el directorio <code>/usr/share/snmp/mibs</code>.
  
Una vez que haya introducido los datos, pulse el botón '''Create'''.
+
Ejemplos:
  
Para ver los datos del módulo recién creado, pulse sobre la solapa superior '''View''', y en ella vaya a la parte de abajo, donde se mostrarán los datos una vez se empiecen a recibir.   
+
module_begin
 +
module_name SNMP_if3_in
 +
module_type generic_data_inc
 +
module_exec snmpget -v 1 -c public 192.168.55.1 .1.3.6.1.2.1.2.2.1.10.3
 +
  module_end
  
<br><br>
+
module_begin
<center>
+
module_name SNMP_Sysup
[[image:Cap5_snmp_7.png]]
+
module_type generic_data
</center><br>
+
module_exec snmpget -v 1 -c public 192.168.55.1 DISMAN-EVENT-MIB::sysUpTimeInstance
<br>
+
module_end
  
=== Monitorizando SNMP desde los agentes ===
+
; En MS Windows®
  
Los agentes software Windows tienen una utilidad para obtener información SNMP. En los agentes Unix/Linux snmpget suele estar disponible, por lo que puede ser llamado desde la línea ''module_exec''.
+
'''snmpget.exe''' (el cual forma parte del proyecto '''net-snmp''', con licencia BSD) está añadido al Agente Software junto con las MIB básicas, además de un empaquetador o guión (''wrapper'' o ''script'') para encapsular la llamada.  
  
Hemos empaquetado en el agente "por defecto" de Windows la utilidad snmpget.exe (parte del proyecto net-snmp, con licencia BSD), y hemos añadido las MIB básicas y un wrapper o script para encapsular la llamada a la utilidad snmpget.exe.
+
La sintaxis de la ejecución es:
  
Utilizando esta llamada podemos monitorizar SNMP desde un agente, obteniendo información de cualquier equipo remoto al que el agente tenga acceso, pudiendo funcionar así como un "agente satélite" o "agente proxy" (según documentación).
+
module_exec getsnmp.bat <comunidad_SNMP> <ip de destino> <OID>
  
En windows la sintaxis de la ejecución es:
+
De similar manera que en Linux, se pueden cargar las MIBs en el directorio <code>/util/mibs</code>.
  
module_exec getsnmp.bat <comunidad_SNMP> <ip de destino> <OID>
+
Ejemplos:
 
 
Algunos ejemplos de módulos SNMP ejecutados por agentes windows:
 
  
 
  module_begin
 
  module_begin
Line 292: Line 335:
 
  module_end
 
  module_end
  
Los mismos ejemplos ejecutados desde agentes Unix
+
=== Gestor de MIBS ===
  
module_begin
+
Pandora FMS de manera predeterminada utiliza las MIB que está alojadas por el sistema operativo en <code>/usr/share/snmp/mibs</code>. Se pueden incorporar nuevas MIB (y gestionarlas luego) por medio de la funcionalidad '''MIB uploader'''. Estas MIBs solamente son usadas por Pandora FMS y están almacenadas en la vía <code>{PANDORA_CONSOLE}/attachment/mibs</code>.
module_name SNMP_if3_in
 
module_type generic_data_inc
 
module_exec snmpget -v 1 -c public 192.168.55.1 .1.3.6.1.2.1.2.2.1.10.3
 
module_end
 
  
module_begin
+
[[Image:CapturaMR2.JPG|center|600px]]
module_name SNMP_Sysup
 
module_type generic_data
 
module_exec snmpget -v 1 -c public 192.168.55.1 DISMAN-EVENT-MIB::sysUpTimeInstance
 
module_end
 
  
Cabe destacar que sólo las OID "basicas" son traducibles por su equivalente numérico, y que es recomendable usar siempre OID numéricas ya que no se sabe si la herramienta va a saber traducirla o no. En cualquier caso siempre se pueden cargar las mibs en el directorio /util/mibs en Windows o /usr/share/snmp/mibs en Linux.
+
{{Tip|Este funcionalidad '''solo gestiona''' las MIB para ''Polling SNMP'', en el caso de las ''Trap SNMP'' consulte el capítulo [[Pandora:Documentation_es:Monitorizacion_traps_SNMP|Monitorización con traps SNMP]].}}
  
 
=== Navegador SNMP de Pandora FMS ===
 
=== Navegador SNMP de Pandora FMS ===
  
Podemos acceder al explorador SNMP a través del menú Monitoring > SNMP > SNMP Browser.
+
{{Tip|Versión Enterprise NG 744 o superior}}
  
Lo primero que hay que entender es que Pandora FMS hace un recorrido completo del árbol del dispositivo, por lo que si este es grande (como un switch) esta operación puede tardar varios minutos. Tambien podemos escoger explorar únicamente una subrama, con lo que nos ahorraremos mucho tiempo.
+
El Navegador SNMP realiza un recorrido completo del árbol del dispositivo y dicha operación puede tardar varios minutos. También es posible recorrer ramas precisas y acortar el recorrido. Para acceder se debe ir a '''Monitoring''' > '''SNMP''' > '''SNMP Browser'''.
  
Por ejemplo, para sacar la informacion de CISCO únicamente, podria explorar su sub-mib enterprise de cisco que empieza por :
+
Por ejemplo, para sacar la información de Cisco® únicamente, podría explorar el sub-MIB enterprise de Cisco®, que empieza por :
  
 
   .1.3.6.1.4.1.9
 
   .1.3.6.1.4.1.9
  
El explorador se utiliza para "navegar", esto es, ir desplegando las ramas y obteniendo los valores, pulsando en el icono del ojo. El sistema pedirá esa informacion al sistema y además mostrará (si esta disponible) la informacion del OID solicitado. Si no existe informacion sobre el OID del dispositivo, esta se muestra unicamente en formato numerico. La informacion descriptiva de los OID se almacena mediante las mibs [http://en.wikipedia.org/wiki/Management_information_base]. Si no dispone de una MIB para el dispositivo que desea explorar, probablemente tenga que recurrir a buscar "trozos de informacion" en la informacion visualizada por pandora, lo cual es complejo y lleva tiempo.
+
El explorador se utiliza para "navegar", esto es, ir desplegando las ramas y obteniendo los valores. El sistema pedirá esa información al sistema y además mostrará (si está disponible) la información del OID solicitado. Si no existe información sobre el OID del dispositivo, esta se muestra únicamente en formato numérico. La información descriptiva de los OID se almacena mediante las [https://es.wikipedia.org/wiki/Base_de_información_gestionada bases de información gestionada o MIBs]. Si no dispone de una MIB para el dispositivo que desea explorar, probablemente tenga que recurrir a buscar "trozos de información" en la información visualizada por Pandora FMS, lo cual es complejo y lleva tiempo.
 +
 
 +
El explorador SNMP también permite buscar una cadena de texto tanto en los valores de OID's obtenidos como en los valores traducidos de los propios OID's (si están disponibles). Esto es especialmente útil para buscar cadenas conocidas concretas y localizar su OID. Si localiza varias entradas nos permitirá ir saltando de una ocurrencia a otra, y las mostrará resaltadas en amarillo.
 +
 
 +
[[Image:snmp_browser_module_creator.png|center|800px]]
 +
 
 +
 
 +
Es posible seleccionar varios OIDs y añadirlos a un agente pulsando el botón '''Create agent modules'''. Para ello se selecciona los agentes que serán monitorizado con dichos OIDs y se añaden al cuadro de la derecha. Estos módulos se crearan una vez pulsemos el botón '''Add modules'''.
 +
 
 +
[[Image:SNMP1.png|center|800px]]
 +
 
 +
[[Image:SNMP12.png|center|500px]]
 +
 
 +
También se puede seleccionar varios OIDs para añadirlos a una política pulsando el botón '''Create policy module'''.
 +
 
 +
[[Image:SNMP21.png|center]]
 +
 
 +
Seleccionamos las políticas en las que queremos agregar la configuracion de modulos de esos OIDs. Para generar una nueva política para estos OIDs pulse el botón “Create new policy”.
 +
 
 +
[[Image:SNMP33.png|center|500px]]
  
El explorador SNMP de Pandora, permite buscar una cadena de texto tanto en los valores de OID's obtenidos como en los valores traducidos de los propios OID's (si estan disponibles). Esto es especialmente útil para buscar cadenas conocidas concretas, y localizar su OID. Si localiza varias entradas, nos permitirá ir saltando de una ocurrencia a otra, y las mostrará resaltadas en amarillo.
+
Rellene los campos asignando un nombre, un grupo y una descripción a la nueva política y se pulsa el botón “Create policy”. Luego las añadimos al cuadro de la derecha y se pulsa el botón '''Add modules''' para hacer efectiva esta configuración en las políticas
  
<br>
+
[[Image:SNMP31.png|center|500px]]
<center>
 
[[file:snmp_browser_module_creator.png]]
 
</center>
 
<br>
 
  
Desde el explorador SNMP se puede crear un componente de red para reutilizarlo después.
 
  
<center>
+
[[Image:SNMP32.png|center|500px]]
[[File: Snmp browser from module creation.jpg]]
 
</center>
 
  
Desde el editor de módulos SNMP, cuando creemos o editemos un módulo de red, podemos lanzar el navegador de SNMP haciendo click en el botón de "Navegador SNMP", que lo abrirá en una ventana flotante. Una vez escogido el OID que buscamos, haciendo click en el icono de la mano con el dedo apuntando hacia abajo, escogeremos ese OID y lo pasaremos al campo correspondiente de la definición del módulo, de forma automática, para su uso con Pandora FMS.
 
  
==== Gestor de MIBS ====
+
Para seleccionar un OID concreto está disponible desde el detalle del OID el botón '''Create agent module'''. Este botón permite seleccionar un agente concreto y redirigirá a la creación del módulo dentro de este agente con todos los datos SNMP que se han seleccionado.
  
A través de Pandora FMS podemos subir y gestionar las MIBS para poder incorporar nuevas mibs o borrar las que no nos interesen. Estas Mibs las usará solo Pandora, que además usará las del sistema operativo (en /usr/share/snmp/mibs). Pandora FMS utilizará el path {PANDORA_CONSOLE}/attachment/mibs para almacenar las mibs.  
+
[[Image:SNMP41.png|center|800px]]
  
<center>
+
Desde el editor de módulos SNMP, cuando edita o crea un módulo de red, se puede lanzar el navegador de SNMP haciendo clic en el botón de "Navegador SNMP", que lo abrirá en una ventana emergente.
[[file:new_snmp_browser_mibmanager.png|350px]]
+
</center>
+
Una vez escogido el OID que buscamos, haciendo clic en el icono de filtro, se escoge ese OID y este pasará automáticamente al campo correspondiente de la definición del módulo para su uso en nuestro agente.
  
Es importante destacar que el gestor de mibs de Pandora sólo gestiona las mibs de "polling" que para nada tiene que ver con las mibs de traps SNMP. Para esta funcionalidad existe otro gestor, exclusivo de la versión Enteprise de Pandora FMS.
+
[[Image: Snmp browser from module creation.jpg|center|800px]]
  
 
=== Wizard SNMP de Pandora FMS ===
 
=== Wizard SNMP de Pandora FMS ===
  
En la vista de administración de un agente, hay un conjunto de herramientas para crear módulos de forma masiva: los wizard de agente.  
+
En la vista de administración de un agente hay un conjunto de herramientas para crear módulos de forma masiva: los '''wizard''' de agente.  
  
<br>
+
[[Image:agent_wizard.png|center|500px]]
<center>
 
[[file:agent_wizard.png]]
 
</center>
 
<br>
 
  
==== Wizard SNMP ====
+
===== Wizard SNMP =====
  
<br>
+
[[Image:agent_wizard_snmp_wizard.png|center|300px]]
<center>
 
[[file:agent_wizard_snmp_wizard.png]]
 
</center>
 
<br>
 
  
Deberás definir la IP de destino, la comunidad y otros parámetros optativos (SNMP v3 está soportado) para hacer un ''Walk'' a la máquina.
+
Debe definir la IP de destino, la comunidad y otros parámetros opcionales (SNMP v3 está soportado) para hacer un ''Walk'' a la máquina.
  
<br>
+
[[Image:snmp_wizard_form.png|center|600px]]
<center>
 
[[file:snmp_wizard_form.png|750px]]
 
</center>
 
<br>
 
  
Una vez se reciba la información correctamente, aparecerá un fromulario para la creación de módulos:
+
Una vez se reciba la información correctamente, aparecerá un formulario para la creación de módulos:
  
<center><br><br>
+
Con el ''Wizard'' SNMP es posible crear módulos de varios tipos de datos SNMP:
[[file:snmp_wizard_module_creator.png|750px]]
 
</center><br><br>
 
  
Con el Wizard SNMP es posible crear módulos de varios tipos de datos SNMP:
+
* '''Devices''': Dispositivos.
 +
* '''Processes''': Procesos.
 +
* '''Free space on disk''': Espacio libre en disco.
 +
* '''Temperature sensors''': Sensores de temperatura.
 +
* '''Other SNMP data''': Otros datos SNMP.
  
* '''Dispositivos'''
+
[[Image:snmp_wizard_module_creator.png|center|800px]]
* '''Procesos'''
 
* '''Espacio libre en disco'''
 
* '''Sensores de temperatura'''
 
* '''Otros datos SNMP'''
 
  
Seleccionarás el tipo de módulo y pasarás los elementos que quieras del combo de la izquierda al de la derecha. Cuando acabes este proceso podrás hacer click en el botón de Crear módulos.
+
Seleccione el tipo de módulo y pase los elementos que desee del combo de la izquierda al de la derecha. Cuando acabe este proceso podrá hacer clic en el botón de '''Create Modules''' (Crear módulos).
  
Este wizard creará dos tipos de módulos:  
+
Este ''wizard'' creará dos tipos de módulos:  
* '''Módulos SNMP para las consultas con OID estático''' (Sensores, memoria, CPU, etc.).
+
* '''Módulos SNMP para las consultas con OID estático''': Sensores, Memoria, CPU, etcétera.
* '''Módulos Plugin para las consultas con OID dinámico o los datos calculados''' (Procesos, Espacio en disco, memoria usada expresada en porcentaje, etc).
+
* '''Módulos Plugin para las consultas con OID dinámico o los datos calculados''': Procesos, Espacio en disco, Memoria usada expresada en porcentaje, etcétera.
  
  
{{warning|Para los módulos de tipo plugin usaremos el plugin de SNMP remoto. Por lo que si el plugin no está instalado en el sistema, estas características permanecerán desactivadas. El plugin deberá tener el nombre "snmp_remote.pl". La localización donde esté alojado no importará.}}
+
{{Warning|Para los módulos de tipo plugin usaremos el plugin de SNMP remoto, por lo que si el ''plugin'' no está instalado en el sistema, estas características permanecerán desactivadas. El plugin deberá tener el nombre '''snmp_remote.pl''' sin importar su localización.}}
  
==== SNMP Interfaces wizard ====
+
Para que el ''wizard'' SNMP pueda obtener datos de un dispositivo SNMP gracias a los componentes remotos, es necesario cumplir 2 requisitos:
  
<center><br><br>
+
* Tener registrado en Pandora el Private Enterprise Number (PEN) del fabricante del dispositivo.
[[file:agent_wizard_snmp_interfaces_wizard.png]]
+
* Tener registrados y habilitados en Pandora componentes del wizard SNMP para el fabricante del dispositivo.
</center><br><br>
 
  
En el Wizard de agente hay un Wizard SNMP específicamente creado para la navegación de Interfaces.
+
Si el dispositivo explorado cumple estos requisitos, se mostrarán todos los módulos de los cuales se hayan podido obtener datos para dar la oportunidad de seleccionar cual crear y cual no.
  
Este Wizard navega por la rama de SNMP '''IF-MIB::interfaces''', ofreciendo la posibilidad de crear múltiples módulos de varios interfaces con la selección múltiple.
+
Estos módulos se mostrarán organizados en bloques en base al grupo al que pertenezca el componente del ''wizard'' que los haya generado.
  
Como el Wizard SNMP, después de seleccionar la IP de destino, comunidad, etc. el sistema hará una consulta SNMP a la máquina destino y rellenará el formulario para la creación de módulos.
+
Todos los bloques se mostrarán comprimidos en un primer momento para facilitar la visualización, de esta manera, se podrán ir expandiendo para modificar las selecciones o los datos. Además, en cada bloque donde se hayan marcado módulos para su creación se verá un icono informativo que nos lo indicará.
  
Usándolo, podrás seleccionar una o más interfaces del combo de la izquierda. Espués, en el de la derecha aparecerán los elementos comunes a ellos (Descripción, Velocidad, Tráfico entrante/saliente...). Podrás seleccionar uno o más elementos del combo y hacer click en Crear módulos para crear los módulos seleccionados para cada interfaz seleccionada en el combo de la izquierda.
+
[[image:IMG8_wizard_components.png|center|400px]]
 
<center><br><br>
 
[[file:agent_wizard_snmp_interfaces_creation.png|800px]]
 
</center><br><br>
 
  
== Propiedades avanzadas comunes de los módulos de red ==
+
Si desplegamos un bloque, se podrán elegir los módulos que se agregarán y los que no, así como la opción de modificar el nombre, la descripción o los umbrales de cada módulo individualmente.
  
La siguiente pantalla muestra las propiedades avanzadas para la configuración de los módulos de red:
+
[[image:IMG9_wizard_components.png|center|800px]]
  
<br>
+
Una vez pulsado el botón ''Create modules'' se mostrará un listado resumen de los módulos elegidos con su configuración. En este listado se verán los módulos que no se puedan crear, ya sea porque ya existen en el agente o porque se han configurado 2 o más módulos con el mismo nombre en el propio ''wizard''.
<center>
 
[[image:Cap5_snmp_8.png|center|800px]]
 
</center>
 
<br>
 
  
'''Description'''
+
{{Tip|Tenga en cuenta que si el valor del Módulo recogido por el ''wizard'' es de tipo [[Pandora:Documentation_es:Operacion#Tipos_de_m.C3.B3dulos|''incremental'' o ''incremental absoluto'']], dicho valor '''no es el incremento en sí''' sino un valor referencial. Para obtener un valor incremental son necesarias dos lecturas, por ello el valor del Módulo indicará "cero" hasta que se realice la próxima lectura.}}
  
Descripción del módulo. De forma predeterminada ya existe una descripción, que se puede cambiar.
+
Antes de que se añadan al agente, habrá una última oportunidad de confirmar la creación de estos módulos o de cancelarla y seguir modificando el resultado del ''wizard''.
  
'''Custom ID'''
+
[[Image:IMG10_wizard_components.png|center|800px]]
  
Identificador personalizado necesario si se desea que el servidor envíe mensajes multicast con información sobre los agentes o utilizar este campo para integrar los datos de Pandora FMS en un sistema externo de información, como una CMDB.
+
Una vez confirmada la creación de los módulos, se volverá a evaluar uno a uno si se pueden crear o no, para evitar módulos duplicados en el caso de que en el lapso de tiempo de la confirmación se hayan creado los mismos módulos por otro medio.
  
'''Interval'''
+
Se notificará si el proceso se ha podido completar con éxito o si por el contrario ha habido algún módulo que no se haya podido crear.
  
Intervalo de ejecución del módulo, puede ser distinto al del agente, de hecho en el ejemplo lo es.
+
===== SNMP Interfaces wizard =====
  
Los valores mostrados dependen de los que se tengan configurados en la sección "Configuración > Estilos visuales", en el apartado "Valores del intervalo".
+
[[Image:agent_wizard_snmp_interfaces_wizard.png|center|500px]]
  
Mientras que a un usuario administrador se le dará la posibilidad de definir un intervalo personalizado en el momento de crear o editar un módulo, los usuarios estandar únicamente podrán definir intervalos previamente configurados, mostrándose los de por defecto en el caso de no definirse ninguno en "Estilos visuales".
+
En el ''Wizard'' de agente hay un asistente SNMP específicamente creado para la navegación de Interfaces. Este ''Wizard'' navega por la rama de SNMP '''IF-MIB::interfaces''', ofreciendo la posibilidad de crear múltiples módulos de varios interfaces con la selección múltiple. Después de seleccionar la IP de destino, comunidad, etc., el sistema hará una consulta SNMP a la máquina destino y rellenará el formulario para la creación de módulos.
  
'''Post process'''
+
[[Image:agent_wizard_snmp_interfaces_creation.png|center|800px]]
  
posprocesado del módulo. Sirve para multiplicar o dividir el valor devuelto, como por ejemplo cuando se obtienen bytes y se desea mostrar el valor en Megabytes.
+
Se podrá seleccionar una o más interfaces del combo de la izquierda. Después, en el de la derecha aparecerán los elementos comunes a ellos (Descripción, Velocidad, Tráfico entrante/saliente...). Podrá seleccionar uno o más elementos del combo y hacer clic en '''Create Modules''' para crear los módulos seleccionados para cada interfaz seleccionada en el combo de la izquierda.
 +
 +
{{Warning|Para que el wizard SNMP de interfaces pueda obtener datos de un dispositivo SNMP el dispositivo SNMP debe devolver datos de la rama '''IF-MIB'''.}}
  
'''Min. Value'''
+
Se verá un primer bloque de configuración general para todas las interfaces seleccionadas del dispositivo con los posibles módulos a agregar. Los módulos que se seleccionen en este bloque y sus umbrales serán la configuración por defecto que se agregará para las interfaces de red. Este bloque se podrá desactivar para no agregar una monitorización general a las interfaces.
  
Valor mínimo del módulo. Cualquier valor por debajo de éste se tomará como inválido y se descartará.
+
[[image:IMG11_wizard_components.png|center|800px]]
  
'''Max. Value'''
+
Tiene un bloque específico para cada interfaz de red, el cual permite ser seleccionado para indicar que dicha interfaz debe ser monitorizada. Si además en el bloque anterior se ha configurado una monitorización general, todas las interfaces marcadas tomarán esas configuraciones.
  
Valor máximo del módulo. Cualquier valor por encima de éste se tomará como inválido y se descartará.
+
[[Image:IMG12_wizard_components.png|center|600px]]
  
'''Export target'''
+
En cada bloque de interfaz podremos también indicar configuraciones específicas para el interfaz, es decir, agregarle módulos específicos que no vengan en el bloque de monitorización general, o sobreescribir esas configuraciones con otra distinta para este caso.
 +
También se podrán modificar los nombres y las descripciones de los módulos para cada caso específico. Es necesario que el bloque del interfaz venga marcado para su monitorización, de esta manera las configuraciones específicas tendrán efecto.
  
Sirve para exportar los valores devueltos por el módulo a un servidor de exportación. Sólo está disponible en la versión Enterprise de Pandora FMS y si se ha configurado un servidor de exportación. Consultar la sección referente al servidor de exportación para obtener más detalles.
+
[[Image:IMG13_wizard_components.png|center|800px]]
  
<br>
+
Todos los bloques se mostrarán comprimidos en un primer momento para facilitar la visualización. De esta manera, se podrán ir expandiendo para modificar las selecciones o los datos. Además, en cada bloque donde se hayan marcado módulos para su creación se verá un icono informativo que nos lo indicará.
<center>
 
[[image:module_advanced.png|center|800px]]
 
</center>
 
<br>
 
  
'''Cron'''
 
  
Cuando se selecciona esta opción, los intervalos del módulo serán ignorados y se ejecutará en la fecha indicada aquí. Esto es muy similar a la ejecución programada de los módulos locales.
+
Una vez pulsado el botón ''Create modules'' se mostrará un listado resumen de los módulos elegidos con su configuración. En este listado se verán los módulos que no se puedan crear, ya sea porque ya existen en el agente o porque se han configurado 2 o más módulos con el mismo nombre en el propio wizard.
  
'''Timeout'''
+
A pesar de todas las modificaciones que realicemos, antes de que se añadan al agente, habrá una última oportunidad de confirmar la creación de estos módulos o de cancelarla y seguir modificando el resultado del wizard.
  
Tiempo que espera el agente a la ejecución del módulo expresado en segundos.
+
[[image:IMG14_wizard_components.png|center|800px]]
  
'''Category'''
+
Una vez confirmada la creación de los módulos, se volverá a evaluar uno a uno si se pueden crear o no, para evitar módulos duplicados en el caso de que en el lapso de tiempo de la confirmación se hayan creado los mismos módulos por otro medio.
  
Esta categorización no tiene efectos desde la interfaz de usuario normal, está pensada para usarse en conjunto con la metaconsola.
+
Se nos notificará si el proceso se ha podido completar con éxito o, si por el contrario, ha habido algún módulo que no se haya podido crear.
  
 
== Monitorización de Windows remotos con WMI ==
 
== Monitorización de Windows remotos con WMI ==
  
WMI es un sistema de microsoft para obtener información remota de equipos funcionando con SO Windows, esta disponible desde la version Windows XP hasta las versiones más actuales. WMI permite obtener todo tipo de información del SO, las aplicaciones e incluso el hardware. Las consultas de WMI se pueden realizar localmente (de hecho el agente de Pandora lo hace internamente, llamando a la API del sistema operativo y preguntando al subsistema WMI) o de forma remota. En algunos sistemas, el acceso remoto a WMI no está activado y es preciso activarlo para poder consultarle desde el exterior.
+
WMI es un sistema operativo (S.O.) de Microsoft® para obtener información remota de equipos funcionando con Windows®; está disponible desde la versión Windows XP hasta las versiones más actuales. WMI permite obtener todo tipo de información del S.O., las aplicaciones e incluso el hardware. Las consultas de WMI se pueden realizar localmente con el Agente Software (llamando a la API del S.O.) o de forma remota. En algunos sistemas el acceso remoto a WMI no está activado y es preciso activarlo para poder ser consultado desde el exterior.
  
Pandora FMS permite la monitorización remota de equipos Windows mediante consultas WMI. Para ello será necesario habilitar el componente ''wmiserver'' en el fichero de configuración del servidor de Pandora FMS.
+
Es necesario habilitar el componente '''wmiserver''' en el fichero de configuración del servidor de Pandora FMS.
  
 
   # wmiserver : 1 or 0. Set to 1 to activate WMI server with this setup
 
   # wmiserver : 1 or 0. Set to 1 to activate WMI server with this setup
Line 483: Line 504:
 
     wmiserver 1
 
     wmiserver 1
  
Las consultas se hacen en WQL, una especie de lenguaje SQL específico de Microsoft para consultas internas al sistema operativo, y se puede realizar cualquier consulta que aparezca en la base de datos del sistema WMI.
+
Las consultas se hacen en WQL, una especie de lenguaje SQL específico de Microsoft® para consultas internas al sistema operativo, y se puede realizar cualquier consulta que aparezca en la base de datos del sistema WMI.
  
Para comenzar a monitorizar por WMI, primero se deberá crear el agente correspondiente, y una vez listo pulse sobre la solapa superior de los módulos ('''Modules'''). En ella, seleccione crear un nuevo módulo WMI y pulse el botón '''Create''':
+
Para comenzar a monitorizar por WMI, primero se deberá crear el agente correspondiente, luego pulse sobre la solapa superior de los módulos ('''Modules'''). En ella, seleccione crear un nuevo módulo WMI y pulse el botón '''Create''':
  
<br><br>
 
<center>
 
 
[[image:Feo.jpg|center|400px]]
 
[[image:Feo.jpg|center|400px]]
</center><br><br>
 
  
Algunos campos son específicos de WMI y requieren una pequeña explicación:
+
Los campos específicos de WMI requieren una pequeña explicación:
  
'''Namespace'''
+
[[Image:Campos.jpg|center|800px]]
  
Espacio de nombres WMI, en algunas consultas este campo es diferente de cadena vacía (por defecto), dependiendo del proveedor de información de la aplicación que se monitorice.
+
* '''Namespace''': Espacio de nombres WMI; en algunas consultas este campo es diferente de cadena vacía (por defecto), dependiendo del proveedor de información de la aplicación que se monitorice.
  
'''Username'''
+
* '''Username''': Nombre del usuario administrador o de otro usuario que tenga privilegios para ejecutar consultas WMI de forma remota.
  
Nombre del usuario administrador o de otro usuario que tenga privilegios para ejecutar consultas WMI de forma remota.
+
* '''Password''': Contraseña.
  
'''Password'''
+
* '''Key string''': Opcional, campo para comparar con la cadena devuelta por la consulta, y de existir el módulo devuelve 1 o 0, en lugar de la cadena en sí.
  
Contraseña para el usuario administrador o el usuario suministrado.
+
* '''Field number''': El número del campo devuelto empezando desde 0 (las consultas WMI pueden devolver más de un campo). En la mayoría de las veces es 0 o 1.
 +
* '''WMI Query''': Consulta WMI, similar a una sentencia en SQL.  
  
'''WMI Query'''
+
Algunos ejemplos de ''WMI Query'':
 
 
Consulta WMI, similar a una sentencia en SQL, veamos algunos ejemplos:
 
  
 
  SELECT LoadPercentage from Win32_Processor WHERE DeviceID = "CPU0"
 
  SELECT LoadPercentage from Win32_Processor WHERE DeviceID = "CPU0"
Line 514: Line 531:
 
  SELECT AvailableBytes from Win32_PerfRawData_PerfOS_Memory
 
  SELECT AvailableBytes from Win32_PerfRawData_PerfOS_Memory
 
  SELECT DiskWriteBytesPersec from Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE name = "_Total"
 
  SELECT DiskWriteBytesPersec from Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE name = "_Total"
 
'''Key string'''
 
 
Opcional, campo para comparar con la cadena devuelta por la consulta, y de existir el módulo devuelve 1 ó 0, en lugar de la cadena en sí.
 
 
'''Field number'''
 
 
El número del campo devuelto empezando desde 0 (las consultas WMI pueden devolver más de un campo). En la mayoría de las veces es 0 o 1.
 
 
<center>
 
[[image:Campos.jpg|center|800px]]
 
</center>
 
  
 
Si no conoce los parámetros exactos, puede seleccionar uno de los predeterminados incluidos en la base de datos de Pandora FMS. Para ello, seleccione el componente de módulo WMI:
 
Si no conoce los parámetros exactos, puede seleccionar uno de los predeterminados incluidos en la base de datos de Pandora FMS. Para ello, seleccione el componente de módulo WMI:
  
<br><br>
+
[[image:Galleta.jpg|center|600px]]
<center>
 
[[image:Galleta.jpg|center|800px]]
 
</center><br><br>
 
  
 
Y después seleccione una comprobación WMI de las posibles:
 
Y después seleccione una comprobación WMI de las posibles:
  
<br><br>
+
[[Image:Galletita.jpg|center|200px]]
<center>
 
[[image:Galletita.jpg]]
 
</center><br><br>
 
  
La información necesaria se rellena automáticamente, salvo el usuario y la contraseña. '''Note que debe introducir un usuario con permisos de administración y su contraseña, de lo contrario el módulo no podrá devolver ningún valor''':
+
La información necesaria se rellena automáticamente, salvo el usuario y la contraseña. '''Note que debe introducir un usuario con permisos de administración y su contraseña; de lo contrario el módulo no podrá devolver ningún valor''':
  
<br><br>
 
<center>
 
 
[[image:otro.jpg|center|800px]]
 
[[image:otro.jpg|center|800px]]
</center><br><br>
 
  
 
La versión Enterprise de Pandora FMS dispone de más de 400 módulos WMI de monitorización remota para Windows, cubriendo las tecnologías:
 
La versión Enterprise de Pandora FMS dispone de más de 400 módulos WMI de monitorización remota para Windows, cubriendo las tecnologías:
  
*Active Directory
+
* Active Directory®.
*BIOS
+
* BIOS.
*Información del sistema
+
* Información del sistema.
*Información de Windows
+
* Información de Windows®.
*Impresoras
+
* Impresoras.
*MSTDC
+
* MSTDC.
*IIS
+
* IIS.
*LDAP
+
* LDAP.
*Microsoft Exchange
+
* Microsoft Exchange®.
  
==== Wizard WMI ====
+
=== Wizard WMI ===
  
En el Wizard de agente (Pestaña en la vista de administración de un agente), hay un Wizard WMI, usado para navegar y crear módulos con consultas WMI a un agente específico.
+
Utilizado para navegar y crear módulos con consultas WMI a un agente específico.
 +
En el ''Wizard'' de agente (pestaña en la vista de administración de un agente), haga clic en el icono:
  
<center><br><br>
+
[[Image:agent_wizard_wmi_wizard.png|center|500px]]
[[file:agent_wizard_wmi_wizard.png]]
 
</center><br><br>
 
  
Deberás especificar el usuario y password del Administrador (o de un usuario con permisos para hacer consultas WMI) en el servidor de destino para hacer las primeras consultas WMI. Esta información será utilizada para la creación de módulos.   
+
Debe especificar el nombre de usuario y contraseña que tenga permisos para hacer consultas WMI (o en su defecto la del Administrador) en el servidor de destino para hacer las primeras consultas WMI. Esta información será utilizada para la creación de módulos.   
  
<center><br><br>
+
[[Image:wmi_wizard_module_creator.png|center|700px]]
[[file:wmi_wizard_module_creator.png|800px]]
 
</center><br><br>
 
  
 
Con el Wizard WMI es posible crear módulos de diferentes tipos de información WMI:
 
Con el Wizard WMI es posible crear módulos de diferentes tipos de información WMI:
  
* '''Servicios''': Se crearán monitores booleanos en estado normal si el servicio está corriendo y estado crítico cuando se encuentre detenido.  
+
* '''Servicios''': Se crearán monitores booleanos en estado normal si el servicio está corriendo y en estado crítico cuando se encuentre detenido.  
 
* '''Procesos''': Los monitores de procesos recibirán información solamente cuando el proceso esté activo. De lo contrario, caerán en estado desconocido.
 
* '''Procesos''': Los monitores de procesos recibirán información solamente cuando el proceso esté activo. De lo contrario, caerán en estado desconocido.
* ''Espacio libre en disco'''
+
* '''Espacio libre en disco'''
* '''Componentes WMI''': En este caso escogerás entre los componentes WMI registrados en el sistema (Administración->Gestionar módulos->Componentes de red)
+
* '''Componentes WMI''': En este caso escogerá entre los componentes WMI registrados en el sistema (Administración > Gestionar módulos > Componentes de red)
  
== Monitorización con plugins remotos de servidor ==
+
{{Warning|Debe tener registrados y habilitados en Pandora componentes del wizard WMI: de esta manera se mostrarán todos los módulos de los cuales se hayan podido obtener datos para tner la oportunidad de crearlos o no.}}
  
Este tipo de monitorización consiste en la ejecución de plugins de forma remota desde el servidor de Pandora FMS contra otros sistemas. Las instalaciones traen por defecto varios plugins de servidor listos para utilizarse, y el usuario puede siempre añadir los que necesite.  
+
Estos módulos se mostrarán organizados en bloques en base al grupo al que pertenezca el componente del wizard que los haya generado.  
  
Un plugin remoto es un script o ejecutable que admite parámetros y devuelve un valor. A través de un plugin puede implementar usted mismo cualquier tipo de operación, y a través de unos parámetros de entrada, personalizar, como quiere que se comporte esa aplicación que ha desarrollado. Esto le permitiría por ejemplo, pasarle como parámetro la IP de destino del test. El resultado podría ser un número, un valor booleano (0 error, > 0 OK), o una cadena de texto. La única limitación que tienen los plugins remotos es que sólo pueden devolver un único valor.
+
[[Image:IMG15_wizard_components.png|center|400px]]
  
Para registrar un plugin en Pandora FMS, iremos a la sección de administración de la consola, y en ella, pulsaremos sobre Manage servers; después pulsar ''Manage plugins'':
+
Todos los bloques se mostrarán comprimidos en un primer momento para facilitar la visualización y se podrán ir expandiendo para modificar los seleccionados o los datos. Además, en cada bloque donde se hayan marcado módulos para su creación se verá un icono informativo que indicará.
  
<center><br><br>
+
Si desplegamos un bloque, se podrán elegir los módulos que se agregarán y los que no, así como la opción de modificar el nombre, la descripción o los umbrales de cada módulo individualmente.
[[image:verdecito1.jpg]]
 
</Center><br><br>
 
  
Desde esta pantalla podrá ver que ya tiene unos cuantos plugins registrados. Aquí también puede registrar su plugin de forma manual. Para explicar como funciona, vamos a ver un plugin ya registrado, haga click en el que se llama "UDP Plugin" que permite hacer una prueba de conectividad UDP contra una máquina remota.
+
[[Image:IMG16_wizard_components.png|center|800px]]
  
<center><br><br>
+
Una vez pulsado el botón ''Create modules'' se mostrará un listado con un resumen de los módulos elegidos con su configuración. En este listado se verán los módulos que no puedan ser creados, ya sea porque ya existen en el agente o porque se han configurado dos o más módulos con el mismo nombre en el mismo ''wizard''.
[[image:verdecito2.jpg|center|800px]]
 
</Center><br><br>
 
  
<center>
+
A pesar de todas las modificaciones que se realicen habrá una última oportunidad de confirmar la creación de estos módulos o de cancelarla y seguir modificando el resultado del ''wizard''.
[[Image:plugin_create_1.jpg]]
 
</center>
 
'''Plugin type'''
 
  
Hay dos tipos de plugins: estándar (standard) y los de tipo Nagios. Los complementos estándar son scripts que ejecutan acciones y admiten parámetros. Los complementos de Nagios son, como su nombre indica, complementos de Nagios que se pueden usar en Pandora FMS. La diferencia estriba principalmente en que los plugins de nagios devuelven un error level para indicar si la prueba ha tenido éxito o no y una cadena descriptiva adicional. Esa descripción no es un valor numérico que se pueda usar como valor de un módulo, así que en este caso la utilizaremos para actualizar la descripción del módulo.  
+
[[Image:IMG17_wizard_components.png|center|800px]]
  
En este caso (para el plugin de ejemplo, UDP port check), seleccionaremos Standard ya que no se trata de un plugin de Nagios.
+
Una vez confirmada la creación de los módulos, se volverá a evaluar uno a uno si se pueden crear o no, para evitar módulos duplicados en el caso de que en el lapso de tiempo de la confirmación se hayan creado los mismos módulos por otro medio.
  
'''Max. timeout'''
+
El asistente notificará si el proceso se ha podido completar con éxito o si por el contrario ha habido algún módulo que no haya podido ser creado.
  
Es el tiempo de expiración del complemento. Si no se recibe una respuesta en ese tiempo, se detendrá su ejecución. Este es un elemento muy relevante a la hora de implementar monitorización con plugins, ya que si el tiempo que tarda en ejecutar el plugin es mayor que este numero, nunca podremos obtener valores con él (no se inicializará siquiera). Este valor siempre debe ser mayor que el tiempo que tarde normalmente en devolver un valor el script/ejecutable usado como plugin. Si no se indica nada, se utilizará el valor indicado en la configuración como ''plugin_timeout''.
+
== Monitorización con plugins remotos de servidor ==
  
{{Tip|En la ejecución de un plugin existen tres timeouts: el del servidor, el del plugin y el del módulo. Tenga en cuenta que el del servidor prevalece sobre los demás, y en segundo lugar, el del plugin. Es decir, si tiene un servidor con un timeout de 10 segundos y un plugin con un timeout de 20 y un módulo que usa ese plugin con un timeout de 30, el máximo tiempo que se esperará a la ejecución de ese módulo será de 10 segundos. }}
+
Un ''plugin remoto'' es un guión (''script'') o fichero ejecutable que admite parámetros y devuelve un '''solo y único''' valor. El resultado podría ser un número, un valor booleano (0 = error, OK <> 0 ) o una cadena de texto. Un ''plugin'' remoto generalmente permite parámetros de entrada. Por defecto varios ''plugins'' de servidor vienen instalados y listos para utilizarse y el usuario puede siempre añadir los que necesite.
  
En este caso, seleccionamos 15.
+
Existen dos clases de ''plugin'' remoto: estándar y tipo [[Pandora:Nagios_a_Pandora|Nagios]]. La diferencia estriba principalmente en que los de tipo Nagios responden con un nivel de errores (''error level'') y '''además, de manera opcional, con una cadena descriptiva.'''
  
'''Description'''
+
=== Administración de plugins remotos ===
  
Descripción del complemento. Escribir una breve descripción, como por ejemplo: Check a remote UDP port (by using NMAP). Use IP address and Port options. La descripción no es baladí, ya que se verá en la interfaz de uso del plugin por parte del usuario. Asegúrese de que explique para qué sirve el plugin.
+
[[Image:verdecito1.jpg|center|230px]]
  
'''Plug-in command'''
+
Pulsar sobre '''Manage servers''' y luego '''Manage plugins''', se abrirá una nueva ventana:
  
Path al ejecutable del plugin. De forma predeterminada, si la instalación ha sido estándar, estarán en el directorio ''/usr/share/pandora_server/util/plugin/''. Aunque puede ser cualquier ruta del sistema. Para este caso, escribir ''/usr/share/pandora_server/util/plugin/udp_nmap_plugin.sh'' en el campo. Si utiliza plugin propios, asegurese de que conoce bien la ruta donde ha dejado el plugin y de que tiene permisos de ejecución (chmod 755).
+
[[image:verdecito2.jpg|center|700px]]
  
'''Plug-in parameters'''
+
Al hacer clic en uno de ellos o crear uno nuevo se abrirá el siguiente diálogo:
  
Una cadena con los parámetros del plugin, que irán tras el comando y un espacio en blanco. Este campo acepta macros tales como _field1_ _field2_ ... _fieldN_.  Aquí es donde está la parte más compleja del funcionamiento de un plugin, no se asuste, lo veremos con une ejemplo.
+
[[Image:plugin_create_1.jpg|center|700px]]
  
'''Parameters macros'''
+
'''Plug-in type''' permite establecer si es de tipo estándar o tipo Nagios. '''Max. timeout''' para fijar el tiempo de espera para su ejecución, ''se debe prestar especial atención en este valor ya que debe abarcar suficiente tiempo para la ejecución'' de lo contrario no obtendremos valor alguno.
  
Es posible agregar macros ilimitadas para usarlas en el campo de los parámetros del plugin. Estas macros aparecerán como campos de texto en la configuración del módulo para que el usuario abstraiga la complejidad de uso de un módulo de tipo plugin. Se trata de que el usuario utilice un plugin como si fuera un módulo "de librería" en el que rellena campos, sin tener que saber como funciona por debajo. La definición de macros permite que el usuario rellene los parámetros de llamada al script sin saber como funciona, ni el script ni la forma de llamarlo.  
+
{{Tip|En la ejecución de un plugin existen tres valores de espera: el del servidor, el del ''plugin'' y el del módulo. El del servidor prevalece sobre los demás, y en segundo lugar, el del ''plugin''. Ej. con valores de ''timeout'' del servidor en 10 segundos, el del ''plugin'' en 20 y el del un módulo con este ''plugin'' en 30, '''el máximo tiempo que se esperará a la ejecución de ese módulo será de 10 segundos.'''}}
  
Cada macro tiene tres campos:
+
El campo de la descripción es importante ya que se verá en la interfaz de uso del plugin por parte del usuario, escoja una leyenda corta y explicativa. La siguiente imagen de ejemplo muestra este uso práctico
  
* Descripcion: Una cadena corta descriptiva de la macro. Será la etiqueta que aparecerá junto al campo en el formulario.
+
[[Image:macro_editor2.jpg|center|700px]]
* Valor por defecto: Valor asignado al campo por defecto.
 
* Ayuda: Un texto explicativo de la macro, para mostrar algún ejemplo de uso o explicar mejor para que sirve ese campo.
 
  
Ejemplo de la configuración de macros:
+
Valores esenciales de configuración:
  
<center><br><br>
+
[[Image:plugin_create_2.jpg|center|700px]]
[[image:macro_configuration.png|800px]]
 
</Center><br><br>
 
  
Ejemplo de esta misma macro en el editor del módulo:
+
* '''Plug-in command''': Vía donde está alojado el ''plugin'', por defecto en el directorio <code>/usr/share/pandora_server/util/plugin/</code>. Si utiliza ''plugin'' propios asegúrse de que tiene permisos de ejecución (<code>chmod 755</code>).
  
<center><br><br>
+
* '''Plug-in parameters'''. Permite establecer parámetros separados con espacios ademá de campos macro <code>_field1_ _field2_ ... _''fieldN''_</code>. Estas macros aparecerán como campos de texto en la configuración del módulo para que el usuario abstraiga de la complejidad de uso de un módulo de tipo ''plugin''. Esto permite permite que el usuario rellene los parámetros de llamada al ''script'' sin necesidad de conocer su funcionamiento ni la forma de llamarlo.
[[image:macro_editor.png|800px]]
 
</Center><br><br>
 
  
'''Macros internas'''
+
Cada macro tiene tres campos:
  
De una forma similar a las alertas, también se pueden utilizar macros internas en la configuración de plugins.  
+
[[Image:macro_configuration.png|center|700px]]
  
Las macros soportadas son las siguientes:
+
* '''Description''': Será la etiqueta que aparecerá junto al campo en el formulario.
 +
* '''Default value''': Valor asignado al campo por defecto.
 +
* '''Help''': Un texto explicativo de la macro, para mostrar algún ejemplo de uso o explicar mejor para qué sirve ese campo.
  
*_agent_: Nombre del agente al que pertenece el módulo.
+
==== Macros internas ====
  
*_agentdescription_: Descripción del agente al que pertenece el módulo.
+
De una forma similar a las alertas, también se pueden utilizar macros internas en la configuración de ''plugins''. Las macros soportadas son las siguientes:
  
*_agentstatus_ : Estado actual del agente.
+
* <code>_agent_</code> o <code>_agentalias_</code>: Alias del agente al que pertenece el módulo.
  
*_address_: Dirección del agente al que pertenece el módulo.
+
* <code>_agentname_</code>: Nombre del agente al que pertenece el módulo.
  
*_module_: Nombre del módulo.
+
* <code>_agentdescription_</code>: Descripción del agente al que pertenece el módulo.
  
*_modulegroup_: Nombre del grupo del módulo
+
* <code>_agentstatus_</code>: Estado actual del agente.
  
*_moduledescription_: Descripción del módulo.
+
* <code>_address_</code>: Dirección del agente al que pertenece el módulo.
  
*_modulestatus_: Estado del módulo.
+
* <code>_module_</code>: Nombre del módulo.
  
*_moduletags_: Tags asociados al módulo.
+
* <code>_modulegroup_</code>: Nombre del grupo del módulo.
  
*_id_agent_: ID del agente, util para construir directamente la URL o redireccionar a la consola de Pandora FMS.
+
* <code>_moduledescription_</code>: Descripción del módulo.
  
*_id_module_: ID del módulo.
+
* <code>_modulestatus_</code>: Estado del módulo.
  
*_policy_: Nombre de la política a la que pertenece el módulo (si se da el caso).
+
* <code>_moduletags_</code>: Etiquetas (''tags'') asociados al módulo.
  
*_interval_: Intervalo de ejecución del módulo.
+
* <code>_id_agent_</code>: ID del agente, útil para construir directamente la URL o redireccionar a la Consola de Pandora FMS.
  
*_target_ip_: Dirección IP del destino del módulo.
+
* <code>_id_module_</code>: ID del módulo.
  
*_target_port_: Puerto del destino del módulo.
+
* <code>_policy_</code>: Nombre de la política a la que pertenece el módulo si está establecida alguna.
  
*_plugin_parameters_: Parámetros de Plug-in del módulo.
+
* <code>_interval_</code>: Intervalo de ejecución del módulo.
  
*_email_tag_: Emails asociados a tags de módulos.
+
* <code>_target_ip_</code>: Dirección IP del destino del módulo.
  
Después de configurarlo, pulsar el botón ''Create'' y comprobar que se ha creado correctamente el complemento:
+
* <code>_target_port_</code>: Puerto del destino del módulo.
  
<center><br><br>
+
* <code>_plugin_parameters_</code>: Parámetros de ''plugin'' del módulo.
[[image:verdecito2.jpg|center|800px]]
 
</Center><br><br>
 
  
El código del plugin UP es extremadamente sencillo y nos sirve para explicar como funciona todo el proceso:
+
* <code>_email_tag_</code>: correos electrónicos asociados a ''tags'' de módulos.
 +
 
 +
=== Un plugin remoto por dentro ===
  
 
  #!/bin/bash
 
  #!/bin/bash
Line 704: Line 686:
 
  nmap -T5 -p $PORT -sU $HOST | grep open | wc -l
 
  nmap -T5 -p $PORT -sU $HOST | grep open | wc -l
  
 +
Este ''plugin'' para GNU/Linux toma dos parámetros, el puerto UDP a probar <code>-p</code> y la dirección de destino <code>-sU</code>. Al registrar el ''plugin'' hemos definido dos macros, una para el puerto y otra para la IP, de forma que al momento de crear un módulo de tipo ''plugin'' el usuarios únicamente visualize esos parámetros.
  
Este plugin para Linux toma dos parámetros, el puerto UDP a probar y la direccion de destino, con los parámetros -p y -sU respectivamente. Al registrar el plugin hemos definido dos macros, una para el puerto y otra para la IP de forma que cuando el usuario vaya a crear un modulo de tipo plugin solo vea eso, nada más.
+
Una vez registrado el ''plugin'', para ser usardo en un agente se deberá crear un módulo de tipo ''plugin server''. Pulse sobre la solapa superior de los módulos ('''Modules'''). En ella, seleccione crear un nuevo módulo de red y pulse el botón '''Create''' (crear):
  
<center><br>
 
 
[[image:trescientos1.jpg|center|450px]]
 
[[image:trescientos1.jpg|center|450px]]
</Center><br>
 
  
Una vez registrado el plugin, para poder usarlo en un agente, se deberá crear un mógulo de tipo ''plugin server'', pulse sobre la solapa superior de los módulos (''Modules''). En ella, seleccione crear un nuevo módulo de red y pulse el botón ''Create'':
+
Especifique la dirección IP '''Target IP''' y puerto '''Port''' donde realizará el análisis, seleccione el tipo de módulo '''Generic numeric''' para recabar un valor numérico y complete los demás campos que sean necesarios.
 +
 
 +
[[Image:example1_edition_module.png|center|700px]]
 +
 
 +
Una vez haya finalizado, pulse el botón '''Create'''.
 +
 
 +
[[Image:udp_port_check_demo.jpg|center|600px]]
 +
 
 +
=== Ejemplo #1: Módulo de plugin remoto para MySQL ===
 +
 
 +
MySQL es un motor de base de datos al cual Pandora FMS ha creado un ''plugin'' por defecto para que sea personalizado por cada cliente a sus usuarios. Para ello vaya a
 +
'''Administration''' -> '''Manage servers''' -> '''plugins''' y agregue un nuevo módulo de complemento para MySQL:
  
<center><br>
+
[[Image:plugin_mysql1.png|center|800px]]
[[image:trescientos1.jpg|center|450px]]
 
</Center><br>
 
  
En el siguiente formulario, rellene los campos vacíos, seleccione el tipo de módulo ''Generic module to adquire numeric data'', especifique la dirección IP contra la que realizar el análisis, y también el puerto sobre el que hacerlo:
+
Este plugin proporciona cuatro comprobaciones totalmente transparentes al usuario (como se verá luego) desde que es iniciado:
  
<center><br><br>
+
* <code>-q Com_select</code>: Número de consultas de lectura ''select''.
[[image:example1_edition_module.png|center|800px]]
+
* <code>-q Com_update</code>: Número de consultas de escritura ''update''.
</Center><br><br>
+
* <code>-q Connections</code>: Número de conexiones.
 +
* <code>-q Innodb_rows_read</code>: Lecturas de filas tipo ''Innodb''.
  
Una vez que haya finalizado pulse el botón ''Create''.
+
En el siguiente paso nótese la ubicación por defecto del ''plugin'' y los cuatro parámetros para poder realizar las comprobaciones señaladas anteriormente:
  
En la siguiente pantalla se mostrarán los módulos para el agente, el módulo ''Nmap añadido'':
+
[[Image:plugin_mysql2.png|center|800px]]
  
<center><br><br>
+
Configuración del primer y segundo parámetros (dirección IP y nombre de usuario):
[[image:topito1.jpg|center|800px]]
+
[[image:plugin_mysql3.png|center|800px|Configuración del primer y segundo parámetros (dirección IP y nombre de usuario)]]
</Center><br><br>
+
 +
Configuración del tercer y cuarto parámetros (contraseña de usuario y [[Pandora:Documentation_es:Glosario_Terminos#Base_de_datos|consulta de tipo SQL]]):
 +
[[image:plugin_mysql4.png|center|800px|Configuración del tercer y cuarto parámetros (contraseña de usuario y consulta de tipo SQL)]]
  
Como se ve, existe una advertencia sobre los módulos. La advertencia sólo significa que aún no se ha recibido ningún dato en el módulo, ya que se acaban de añadir. Una vez que se comiencen a recibir datos, la advertencia desaparecerá.
+
El ''plugin'' quedaría como sigue:
  
Para ver los datos del módulo recién creado, pulse sobre la solapa superior ''View'', y en ella vaya a la parte de abajo, donde se mostrarán los datos una vez se empiecen a recibir.
+
[[image:plugin_mysql_module.png|center|800px]]
  
<center><br><br>
+
Cree un módulo en el agente del equipo donde está instalado Pandora FMS y asígnelo; su nombre será <code>Mysql Connections</code>, usando como ''plugin'' "MySQL", como IP <code>localhost<code>, como usuario <code>pandora</code>, la contraseña de la base de datos de Pandora FMS y como comprobación la palabra ''Connections''.
[[image:topito2.jpg|center|800px]]
 
</Center><br><br>
 
  
Para ver los datos de los módulos de tipo cadena de texto (en el ejemplo, la descripción del sistema ''System Description'') vaya a la solapa superior de los datos,''Data'':
+
El módulo para crear quedaría como sigue:
  
=== Ejemplo #1: Módulo de plugin remoto para MySQL ===
+
[[Image:mysql_module2.png|center|400px]]
  
Este es otro ejemplo, algo más complejo de como implementar un plugin, en este caso otro plugin por defecto que viene con Pandora, el plugin de chequeo de MYSQL.
+
Al ser creado aparecerá en el listado de módulos de tipo ''plugin'' (en este caso, pendiente de inicializarse):
  
Cree un módulo de complemento (Administration -> Manage servers -> Manage plugins) para MySQL con los siguientes datos:
+
[[image:fosforo3.jpg|center|600px]]
  
*Nombre: MySQL
+
=== Ejemplo #2: Módulo de plugin remoto para servidor SMTP ===
*Plugin type: Standard
 
*Max. timeout: 10 seconds
 
*Descripcion:
 
MySQL check plugin
 
  
*Plugin command: /usr/share/pandora_server/util/plugin/mysql_plugin.sh
+
[[image:Pandora_plugin_SMTP5.png|center|800px]]
*Plugin parameters: -s _field1_ -u _field2_ -p _field3_ -q _field4_
 
*Macro _field1_:
 
** Descripción: IP Address
 
** Valor por defecto: X.X.X.X
 
*Macro _field1_:
 
** Descripción: User
 
** Valor por defecto: User
 
*Macro _field1_:
 
** Description: Password
 
** Valor por defecto: Password
 
*Macro _field1_:
 
** Descripción: Check
 
** Valor por defecto: Connections
 
** Ayuda: Possible values: Connections/Com_select/Com_update/Innodb_rows_read
 
  
El plugin quedaría como sigue:
+
Este plugin envía un correo utilizando un servidor remoto, devuelve 1 si funciona y 0 si falla (tipo <code>generic_proc</code> ). Nótese el texto de ayuda que aparece para los parámetros y parámetros adicionales (''Parameters in the plugin'' y ''Optional parameters'', esquina inferior derecha).
  
<center><br><br>
+
Se deben  establecer los siguientes parámetros en la configuración de un módulo al usar el ''plugin'':
[[image:plugin_mysql1.png|center|800px]]
 
</Center>
 
  
<center>
+
[[image: smtp_module2.png|center|600px]]
[[image:plugin_mysql2.png|center|800px]]
 
</Center>
 
  
<center>
+
=== Ejemplo #3: Módulo de plugin remoto para servidor DNS ===
[[image:plugin_mysql3.png|center|800px]]
 
</Center>
 
  
<center>
+
[[Image:Pandora_plugin_DNS5.png|center|800px]]
[[image:plugin_mysql4.png|center|800px]]
 
</Center>
 
  
Este plugin proporciona cuatro comprobaciones:
+
Este ''plugin'' devuelve la dirección IP de un dominio consultada a un DNS específico, devuelve 1 si funciona y 0 si falla (dato tipo <code>generic_proc</code>).
  
*''-q Connections: Conexiones
+
[[Image:dns_module2.png|center|400px]]
*''-q Com_select: Número de consultas select desde el inicio
 
*''-q Com_update: Número de consultas update desde el inicio
 
*''-q Innodb_rows_read: Lecturas de filas Innodb
 
  
Cree un módulo en el agente del equipo donde está instalado Pandora FMS y asígnelo; su nombre será ''Mysql Connections'', usando como complemento él mismo (MySQL), como IP ''localhost'', como usuario pandora, como contraseña la contraseña de la base de datos de Pandora, y cp,p comprobación ''Connections''.
+
{{Tip|Otra monitorización adicional sería comprobar si todas las direcciones IP que devuelve el DNS pertenecen realmente al dominio consultado, esto se logra al comparar con un rango previo y predeterminado de direcciones IP.}}
  
El módulo para crear quedaría como sigue:
+
=== Macros de campos personalizados para monitorización remota ===
  
<center><br><br>
+
Cuando se configuran módulos remotos, tener que introducir información relativa a un mismo agente varias veces puede convertirse rápidamente en algo monótono (por ejemplo, una cadena de comunidad SNMP). Las macros de campos personalizados permiten utilizar los [[Pandora:Documentation_es:Operacion#Custom_fields|campos personalizados de agentes]] como macros para ciertas opciones de configuración de módulos.
[[image:plugin_mysql_module.png|center|800px]]
 
</Center>
 
<center>
 
[[image:mysql_module2.png|center|800px]]
 
</Center><br><br>
 
  
Una vez que lo cree, aparecerá en el listado de módulos:
+
En el siguiente ejemplo se creará un componente de red SNMP que pueda ser reutilizado entre agentes con cadenas de comunidad SNMP diferentes:
  
<center><br><br>
+
* En la Consola Pandora FMS vaya a '''Resources''' > '''Custom fields''' y defina un nuevo campo personalizado en el que se almacenará la cadena de comunidad SNMP. Apunte su ID, ya que más tarde formará parte de la macro, y rellene la cadena de comunidad con el valor adecuado en sus agentes SNMP.
[[image:fosforo3.jpg|center|800px]]
 
</Center><br><br>
 
  
Y la información en la página principal (solapa ''View''):
+
[[image:CapturaMR3.JPG|center|600px|Campo 11 agregado, "SNMP Community"]]
  
<center><br><br>
+
* A continuación cree un [[Pandora:Documentation_es:Plantillas_y_Componentes#Componentes_de_red|componente de red]] SNMP e introduzca <code>_agentcustomfield_<n>_''</code> como cadena de comunidad SNMP, donde ''n'' es el ID del campo personalizado (en ese ejemplo <code>_agentcustomfield_11_</code>).
[[image:faltaba.jpg|center|550px]]
 
</Center><br><br>
 
  
=== Ejemplo #2: Módulo de plugin remoto para servidor SMTP ===
+
[[image:custom_field_network_component.png|center]]
  
Este plugin envia un correo utilizando un servidor remoto, se puede especificar IP del servidor, puerto, usuario y password y esquema de autenticación, asi como el correo de destino y el correo de destino. Devuelve 1 si funciona y 0 si falla, es decir, se debería utilizar usando el tipo generic_proc.
+
* Por último, configure un módulo utilizando el [[Pandora:Documentation_es:Plantillas_y_Componentes#Componentes_de_red|componente de red]] que acaba de crear. El módulo empezará a funcionar de forma automática.
  
Esta es una captura de la configuración de un módulo usando el plugin:
+
Las macros de campos personalizados funcionan con módulos de tipo SNMP, WMI, ''plug-in'' e inventario. Se pueden utilizar en módulos independientes, componentes de red y en módulos de política.
  
<center><br><br>
+
Otro ejemplo: para un módulo de tipo WMI se podrían definir de forma análoga dos nuevos campos personalizados para almacenar el nombre de usuario y la contraseña, y utilizar las macros correspondientes en la definición del módulo:
[[image:Pandora_plugin_SMTP5.png|center|800px]]
 
</Center>
 
<center>
 
[[image: smtp_module2.png|center|800px]]
 
</Center><br><br>
 
  
=== Ejemplo #3: Módulo de plugin remoto para servidor DNS ===
+
[[image:wmi_custom_field.png|center]]
  
Este plugin verifica que la dirección IP de un dominio dado (p.e: artica.es) es una IP determinada, utilizando como referencia un DNS externo. De esta forma podemos validar si ese dominio está devolviendo la IP correcta, para evitar balanceos innecesarios, ataques DNS, etc. Devuelve 1 si funciona y 0 si falla, es decir, se deberia utilizar usando el tipo generic_proc.
+
== Ejecución remota de wizards y pruebas de red (Exec Server) ==
  
Esta es una captura de la configuración de un módulo usando el plugin:
+
{{Tip|Solamente para servidores PFMS instalados en GNU/Linux.}}
  
<center><br><br>
+
Esta funcionalidad permite que desde la consola de Pandora FMS se puedan ejecutar algunas acciones en servidores remotos de Pandora FMS. Así, podrá usar los Wizards SNMP de agente, el navegador de MIBs y los ''event responses'' desde un servidor remoto, además de poder hacerlo desde el servidor donde está la consola. Internamente, funciona a través de la ejecución de comandos remotos SSH desde la consola de Pandora FMS a los servidores habilitados, llamados '''Exec Server'''. Estos pueden ser [[Pandora:Documentation_es:Arquitectura#Servidores_de_Pandora_FMS|servidores de Pandora FMS o Satellite Servers]].
[[image:Pandora_plugin_DNS5.png|center|800px]]
 
</Center>
 
<center>
 
[[image:dns_module2.png|center|800px]]
 
</Center><br><br>
 
  
=== Ejemplo #4: Módulo de plugin remoto para puerto UDP ===
+
=== Configuración ===
  
Este plugin verifica que para una dirección y un puerto UDP, el puerto responde. Devuelve 1 si funciona y 0 si falla, es decir, se debería utilizar usando el tipo generic_proc.
+
En un Agente Lógico ya creado y con la configuración remota habilitada se establecerá que un usuario (por ejemplo "apache"), por medio de un par de llaves digitales creadas (pública y privada), pueda acceder a un dispositivo remoto al cual se le haya alojado y configurado la clave pública. Al finalizar usted habrá configurado una conexión SSH para los procesos automatizados de monitorización.
  
Esta es una captura de la configuración de un módulo usando el plugin:
+
{{Warning|Sin la configuración remota habilitada '''usted carecerá''' de la creación de módulos de Satellite desde los asistentes (''wizards'').}}
  
<center><br><br>
+
1. De la lista de servidores de Pandora FMS seleccione uno para que funcione como Exec Server y edite el mismo:
[[image:Pandora_plugin_UDP5.png|center|800px]]
 
</Center>
 
  
<center>
+
[[Image:Exec-server-111.JPG|center|800px]]
[[image:udp_module2.png|center|800px]]
 
</Center><br><br>
 
  
== Umbral Flip Flop ==
+
2. Active la casilla de verificación como Exec Server, introduzca el puerto y la direccción IP del servidor donde se lanzarán los comandos deseados. Esta opción se podrá configurar sobre el Network Server y/o Satellite Server.
  
Un módulo remoto (ya sea un módulo de red, un módulo de plug-in etc.) puede devolver datos poco fiables for diferentes motivos. Por ejemplo, un módulo de ping puede devolver 0 aunque un host esté arriba por problemas de congestión de la red.
+
[[image:server_222_2.png|center|800px]]
  
Dependiendo de cómo esté configurado Pandora FMS, esto puede desencadenar una serie de eventos no deseados (cambios de estados, disparos de alertas, envío de emails...).
+
{{Tip|Ya que en este punto está sin finalizar la configuración, la prueba de conexión fallará.}}
  
Para solucionar esta situación Pandora FMS dispone de umbrales de FF personalizados para cada módulo. El umbral de FF es el número de veces adicionales que un módulo se ejecutará antes de cambiar su estado (un valor de 0 quiere decir que esta característica está deshabilitada). Sólo si la condición que provoca el cambio de estado se mantiene en todos los reintentos se cambia el estado del módulo.
+
3. Para que el usuario de ejemplo “apache” (o equivalente) tenga una ''shell'' de ejecución se debe habilitar el servidor donde se ejecuta la '''Consola''' de Pandora FMS. En el fichero <code>/etc/passwd</code> modifique la siguiente línea para que el usuario tenga una shell válida:
 +
 
 +
apache:x:48:48:Apache:/var/www:/bin/bash
  
<br>
+
4. Se creará el directorio <code>.ssh</code> en la ruta <code>/var/www/</code> y se otorgarán permisos para el usuario “apache”:
<center>
 
[[image:Ff_threshold.png|center|800px]]
 
</Center>
 
<br>
 
  
El intervalo de estas ejecuciones adicionales se puede especificar con el intervalo de FF.  
+
mkdir /var/www/.ssh
 +
chown apache /var/www/.ssh
  
<br>
+
5. Ahora debe actuar como ''root'' para generar el par de llaves:
<center>
 
[[image:Ff_interval.png|center|800px]]
 
</Center>
 
<br>
 
  
Todo esto se ve mejor con un ejemplo: Supongamos que tenemos un módulo WMI que devuelve la cantidad de espacio en disco libre en megabytes. Configuramos este módulo para que se ponga en estado crítico cuando este valor sea menor que 100. A continuación creamos una alerta que envía un email al administrador de sistemas cuando el módulo está crítico para que éste pueda liberar algo de espacio. Pero, por un bug de software, cada cierto tiempo el valor devuelto es mucho menor que el valor actual. Para solucionar este problema configuramos el umbral de FF del módulo a uno y el intervalo de FF a 30 segundos. Esto quiere decir que la primera vez que el módulo reciba un dato menor que 100, el módulo se volverá a ejecutar pasados 30 segundos, y sólo si sigue siendo menor que 100 se pondrá en estado crítico. De otro modo el módulo continúa su ejecución normal.
+
su apache
 +
ssh-keygen
  
Esto funciona bien para módulos síncronos, pero los módulos asíncronos necesitan un parámetro de configuración adicional. Como no envían datos en intervalos regulares, comprobar valores consecutivos puede no resultar muy útil si están muy separados en el tiempo. En este caso, hay que especificar un timeout de FF. Lo que implica que los valores consecutivos deben ocurrir dentro del intervalo de tiempo especificado.
+
Acepte los valores por defecto presionando la tecla Intro ''Enter'', observará algo parecido a esto:
  
<br>
+
[[image:Exec-server-3.jpg|center|500px]]
<center>
 
[[image:Ff_timeout.png|center|800px]]
 
</Center>
 
<br>
 
  
Desde la versión 5.1, se pueden definir umbrales de FF individuales para cada estado, de modo que un módulo puede necesitar dos valores consecutivos para cambiar a estado crítico, pero sólo uno para volver a estado normal.
+
{{Tip|Note usted y tenga presente dónde y cuales nombres tienen los dos ficheros de llaves creados. Esto es importante para su seguridad, además que es necesario en un próximo paso.}}
  
 +
7. Antes de acceder por SSH al Exec Server (servidor de Pandora FMS o Satellite Server), se debe crear en esa máquina un usuario específico llamado <code>pandora_exec_proxy</code> y, además, la carpeta <code>/home/pandora_exec_proxy/.ssh/</code>:
  
== Ejecución remota de pruebas de red (Exec Server) ==
+
sudo useradd pandora_exec_proxy -m
 +
 
 +
mkdir /home/pandora_exec_proxy/.ssh/
 +
 
 +
{{Warning|Prescinda de establecer contraseña alguna para que solamente autentique al usuario por medio de llave pública y privada, así obtiene un mayor grado de seguridad.}}
 +
 
 +
8. Se copiará desde la consola de Pandora FMS al servidor Exec Server el contenido de la llave pública, generada en el paso anterior.  Para ello habrá que copiar el contenido del fichero <code>/var/www/.ssh/id_rsa.pub</code> (copiando y pegando el contenido) al fichero <code>/home/pandora_exec_proxy/.ssh/authorized_keys</code> y se cambiarán los permisos de ese fichero:
  
Esta funcionalidad permite que desde la consola de Pandora se puedan ejecutar algunas acciones en servidores remotos de Pandora. Así, podrá usar los Wizards SNMP de agente, el navegador de MIBs y las 'event responses' desde un servidor remoto, además de poder hacerlo desde el servidor donde está la consola.
+
chown -R pandora_exec_proxy /home/pandora_exec_proxy/.ssh/
  
Internamente, funciona a través de la ejecución de comandos remotos SSH desde la consola de Pandora a los servidores habilitados, a los que llamaremos “Exec Server”. Estos pueden ser servidores de Pandora o Satélite Servers, pero siempre en Linux.
+
9.  Una vez creado este usuario, desde la máquina donde está corriendo la consola, y con el usuario “apache”, se ejecutará manualmente el siguiente comando para verificar que puede conectar sin introducir contraseña (sustituya <ip_address> con el valor correspondiente del paso 2):
  
=== Configuración ===
+
  ssh [email protected]<ip_address>
  
Para esta funcionalidad necesitaremos configurar los sistemas siguiendo una serie de pasos:
+
10. Edite (en la Consola), el fichero <code>/etc/pass</code> para que el usuario "apache" carezca de inicio de sesión (solo podrá ser invocado si se es ''root'', ver paso 5):
  
1. En la lista de servidores, en PandoraFMS, debemos acceder a la edición del servidor que queremos usar como proxy:
+
apache:x:48:48:Apache:/var/www:/sbin/nologin
  
<center><br><br>
+
11.  Para finalizar, solo habrá que probar la configuración en la sección de edición del servidor proxy dentro de la consola de Pandora FMS, compruebe el indicador de prueba:
[[image:Exec-server-1.jpg|center]]
 
</Center>
 
  
2. Editamos la IP del servidor donde vamos a lanzar los comandos deseados y activamos el check de “Exec Server”. Esta opción se podrá configurar sobre el Network Server y/o sobre Satélite Server.
+
[[image:Exec-server-4.png|center|300px]]
  
3. No realizamos el test de configuración, ya que no hemos terminado de configurar el sistema y dará error.
+
=== Uso de la funcionalidad de los Exec Server===
  
<center><br><br>
+
Una vez configurado, en el explorador MIB, en los ''wizard'' SNMP de agente y en los ''event responses'' se podrá escoger desde donde lanzar una petición, si desde la consola local o desde el Exec Server configurado:
[[image:Exec-server-2.1.png|center]]
 
</Center>
 
  
4. Habilitamos el servidor donde se ejecuta la CONSOLA de Pandora para que el usuario “apache” o equivalente, tenga una shell de ejecución. Modificamos el fichero /etc/passwd y modificamos la línea para que el usuario tenga una shell válida, por ejemplo:
+
[[Image:Exec-server-555.JPG|center|800px]]
 
+
 
apache:x:48:48:Apache:/var/www:/bin/bash
+
De igual manera para los ''Wizard'' WMI, interfaces SNMP y ''wizard'' de agente SNMP (excepto para los Satellite Server):
  
5. Creamos el directorio “.ssh” en la ruta “/var/www/” y le damos permisos para el usuario “apache”:
+
[[Image:Exec-server-666.JPG|center|800px]]
  
mkdir /var/www/.ssh
+
Dependiendo del servidor seleccionado a la hora de lanzar el Wizard se crearán los módulos adaptados para servidor o Satellite Server. En este último caso se escribirán los módulos en el fichero de configuración remota para que puedan ser ejecutados por el servidor.  
chown apache /var/www/.ssh
 
  
6. Ejecutaremos, como root:
+
Para configurar una ''event response'' nueva desde un Exec Server:
  
su apache
+
[[Image:Exec-server-777.JPG|center|800px]]
  
7. Generaremos la clave SSH para la conexión contra la máquina remota. Ejecutamos el comando:
+
Luego lanzarla desde un evento:
  
ssh-keygen
+
[[Image:Exec-server-8.JPG|center|800px]]
  
Y aceptamos con enter las preguntas que nos haga:
+
== Monitorización de rutas ==
  
<center><br><br>
+
Pandora FMS ofrece por defecto la monitorización de rutas completas entre dos puntos de la red, indicando visualmente el camino que se está siguiendo en todo momento para comunicarse entre estos dos puntos.
[[image:Exec-server-3.jpg|center]]
 
</Center>
 
  
8. Antes de acceder por SSH al “Exec server” (que será un servidor de pandora o un satellite server en linux), debemos crear en esa máquina, un usuario específico, llamado “pandora_exec_proxy” y, además, creamos la carpeta "/home/pandora_exec_proxy/.ssh/":
+
Para utilizar este sistema se necesita:
  
sudo useradd pandora_exec_proxy -m
+
* Un Agente software en el punto de origen de la ruta que queremos analizar.
 +
* Alcance vía ICMP desde el punto de origen.
  
mkdir /home/pandora_exec_proxy/.ssh/
+
El analizador de rutas de Pandora FMS utiliza un ''plugin'' de agente para trazar un mapa de la ruta. Este ''plugin'' de agente usa varios métodos para la recolección de información, reportando al servidor de Pandora FMS la información estructurada.
  
'''NOTA''': El usuario no lleva password, de forma que no se pueda usar para conectar remotamente.
+
De manera opcional, si desea hacer escaneos de rutas a través de Internet, se recomienda que despliegue la [https://es.wikipedia.org/wiki/MTR_(software) aplicación MTR] en el equipo origen de ruta.
  
9. Copiaremos desde la consola de Pandora al servidor “''exec server''” el contenido de la llave pública, generada en el paso anterior.  Para ello copiaremos el contenido del fichero <strong>“''/var/www/.ssh/id_rsa.pub''”</strong> y nos lo llevaremos (copiando y pegando el contenido) al fichero:
 
<strong>''/home/pandora_exec_proxy/.ssh/authorized_keys'</strong>' y cambiamos los permisos de ese fichero:
 
  
chown -R pandora_exec_proxy /home/pandora_exec/.ssh/
 
  
10.  Una vez creado este usuario, desde la máquina donde esta corriendo la consola, y con el usuario “apache”, ejecutaremos manualmente el siguiente comando para verificar que puede entrar sin introducir password (sustituyendo la IP por el hostname/ip del Exec server que hemos configurado en los pasos anteriores)
+
=== Configuración ===
  
  ssh [email protected]_address
+
{{Tip|Versión NG 715 o superior}}
  
11. Después de que todos estos pasos sean correctos, volveremos a editar (en la consola), el fichero /etc/pass para dejar el usuario apache como estaba al principio (sin shell local):
+
Acceda a la pestaña de configuración de plugins en su agente y agregue la siguiente línea:
  
  apache:x:48:48:Apache:/var/www:/sbin/nologin
+
  route_parser -t <direccion_objetivo>
  
12.  Para finalizar, solo tenemos que probar la configuración en la sección de edición de nuestro servidor proxy, dentro de la consola de pandora, y si el indicador de prueba se vuelve verde, ya lo tendremos operativo y funcional.
+
[[Image:route_conf2.png|center|800px]]
  
<center><br><br>
+
Donde <code><dirección objetivo></code> puede ser una dirección IP v4 o un nombre de dominio FQDN.
[[image:Exec-server-4.png|center]]
 
</Center>
 
  
=== Uso de la funcionalidad de los ''exec servers''===
+
* Por último active la ejecución del ''plugin''.
  
A partir de ahora, en el explorador MIB, en los wizard SNMP de agente y en los event responses podremos escoger desde donde lanzamos la petición, si desde la consola local, o desde el Exec server configurado:
+
;Nota:  
  
<center><br><br>
+
Si utiliza una versión del agente '''anterior''' a NG 715 primero usted deberá:
[[image:Exec-server-5.png|center]]
 
</Center>
 
  
Y lo mismo con los Wizard WMI, el de interfaces SNMP y el wizard de agente SNMP (no disponible para servidores satélite )
+
* [https://pandorafms.com/library/route-parser-monitoring/ Descargar el ''plugin''] para el análisis de rutas de la librería de módulos.
 +
* Transferir el ''plugin'' a su Agente Software mediante colecciones (o copiando manualmente el archivo, ver siguiente figura):
  
<center><br><br>
+
[[Image:route_conf1.png|center|800px]]
[[image:Exec-server-6.png|center]]
 
</Center>
 
  
Dependiendo el servidor que tengamos seleccionado a la hora de lanzar el Wizard se crearán los módulos adaptados para servidor o satélite server
+
=== Visualización ===
  
Para las ejecuciones de “event response” primero debemos configurar una event response nueva, que utilice nuestro nuevo exec server:
+
Una vez el sistema esté configurado y reportando, aparecerá una nueva pestaña en la vista del agente con la ruta que han seguido las comunicaciones para alcanzar el objetivo:
  
<center><br><br>
+
Vista de ejemplo de ruta hacia una máquina en una red distinta a la de origen (conexiones LAN):
[[image:Exec-server-7.png|center]]
 
</Center>
 
  
Y luego desde un evento, la lanzamos:
+
[[Image:route_view1.png|center|800px]]
  
<center><br><br>
+
Vista de ejemplo de ruta hacia 8.8.8.8 (Google's DNS) (conexiones WAN)
[[image:Exec-server-8.png|center]]
 
</Center>
 
  
 +
[[image:route_view2.png|center|800px]]
  
[[Pandora:Documentation|Volver a Indice de Documentacion Pandora FMS]]
+
[[Pandora:Documentation|Volver al Índice de Documentación Pandora FMS]]
  
 
[[Category: Pandora FMS]]
 
[[Category: Pandora FMS]]
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 +
 +
<!-- Fin de 2ª revisión (ver historial de texto) JJOS 2020-dic-06 -->

Revision as of 00:22, 5 February 2021

Volver al Índice de Documentación Pandora FMS


1 Monitorización remota

1.1 Introducción

El Servidor de Red (Network Server) de Pandora FMS es una pieza clave, ya que permite ejecutar pruebas de forma remota y centralizada. Al contrario que el Servidor de Datos, el Servidor de Red ejecuta las tareas asignadas a él mediante un sistema de colas multiproceso. Además, un Servidor de Red puede trabajar con otros servidores de red (modo HA) balanceando la carga y actuando como respaldo en caso de que otro servidor de red caiga, haciéndose cargo del trabajo que tenía el servidor fuera de línea

Remote-monitoring.jpg

El Servidor de Red trabaja únicamente con aquellos módulos de red asignados a él. El servidor de red debe tener una visibilidad completa (direcciones IP y puertos) sobre los que se van a realizar las pruebas. Sin embargo los cortafuegos (firewalls) tanto de manera física (en firmware de routers) como de software (a nivel de sistema operativo) pueden dificultar esta tarea, por lo que se debe prestar mucha atención en establecer las políticas de seguridad adecuadas para realizar el trabajo de monitorización.

Además del Servidor de Red existen muchos otros subtipos de servidores de Pandora FMS que ejecutan pruebas remotas. En este capítulo veremos los servidores de red, los servidores de plugin remotos y los servidores que lanzan pruebas remotas contra máquinas Windows (WMI Server). Otros servidores que también realizan pruebas remotas, como el servidor de pruebas WEB (WEB Server o Goliat server), tienen capítulos específicos de documentación.

1.2 Monitorización básica de red

Los módulos de red básicos de Pandora FMS ejecutan tareas de monitorización remota. Las tareas de ejecución remota se pueden resumir en tres bloques.

  1. Pruebas ICMP: son pruebas básicas de red que permiten saber si un anfitrión o host está en línea y accesible, además del tiempo que se tarda en llegar a dicho dispositivo a través de la red.
  1. Pruebas TCP: de forma remota se comprueba que un sistema tiene abierto el puerto TCP especificado en la definición del módulo. Adicionalmente se puede enviar una cadena de texto y también el recibir una respuesta concreta para comprobar que la comunicación es correcta. Esto permite implementar comprobaciones simples de protocolo, por ejemplo, para comprobar si un servidor HTTP está vivo se envia la cadena GET / HTTP/1.0 esperando recibir la cadena 200 OK.
  1. Pruebas SNMP: es posible lanzar peticiones SNMP (SNMP Polling) a sistemas que tengan dicho servicio activado para obtener datos como el estado de las interfaces, el consumo de red por interfaz, etc. Acá se describe las operaciones básicas y las operaciones avanzadas se describen en el capítulo de Monitorizacion traps SNMP
Pandora 1.3 Network&DataServer Arch.png

Info.png

El servidor de red es quien ejecuta las diferentes pruebas de red asignadas en cada agente. Cada agente se asigna a un servidor de red, y es este quien se encarga de su ejecución, insertando los resultados en la base de datos Pandora FMS.

 


1.2.1 Configuración genérica de un módulo para monitorización de red

Para monitorizar de forma remota un equipo o un servicio de un equipo (FTP, SSH, etc.), primero se debe crear el agente correspondiente para monitorizar el servicio.

Info.png

Cuando se habla de crear un agente, se refiere a crear un Agente Lógico en la interfaz de Pandora FMS, el cual es distinto a instalar un Agente Software en la máquina destino.

 


Se accede en la sección de administración de la consola de Pandora FMS, Resources > Manage agents ("Recursos" > "Administrar Agentes"):

CapturaMR1.JPG

En la siguiente pantalla, pulse el botón Create agent ("Crear Agente"):

Bibi.jpg

Rellene los datos para su nuevo agente y pulse el botón Create ("Crear"):

Raro.jpg

Una vez que haya creado el agente, pulse sobre la solapa superior de los módulos (Modules). Allí seleccione crear un nuevo módulo de red y pulse el botón Create ("crear"):

Sasa.jpg

En el siguiente formulario seleccione un módulo de componente de red, y cuando se cargue el menú desplegable de la derecha, seleccione la comprobación deseada.

1.2.1.1 Ejemplo de creación de un módulo Host Alive

Host Alive es una simple comprobación para saber si un dispositivo está en línea mediante la ejecución de un ping.

Alive.jpg

En Target IP se debe colocar la dirección IP objetivo. Una vez que termine de definir el módulo, pulse el botón Create ("Crear").

En la siguiente pantalla se mostrarán los módulos para el agente, el predeterminado KeepAlive que se crea con el agente y el módulo Host Alive recién añadido:

Kiji.jpg

La advertencia sobre los módulos significa que aún no ha recibido ningún dato en el módulo. Una vez comience a recibir datos, la advertencia desaparecerá.

Para ver los datos del módulo recién creado, pulse sobre la solapa superior View ("Vista"), y en ella vaya a la parte de abajo, donde se mostrarán los datos una vez se empiecen a recibir:

Keso.jpg

Para añadir otro tipo de comprobaciones de red, proceda de forma similar a la anterior, pero seleccionando otro tipo de módulos.

1.2.2 Monitorización ICMP

El ejemplo anterior es una monitorización ICMP. Estas son las comprobaciones más básicas y sencillas que nos dan una información importante y exacta.

  • icmp_proc: comprobación en línea (ping) que permite saber si una dirección IP responde o no.
  • icmp_data: comprobación de latencia que indica el tiempo en milisegundos para responder a una consulta básica ICMP.

1.2.3 Monitorización TCP

TCP está orientado hacia la conexión por lo que a un envío TCP Send corresponderá una respuesta TCP Receive que indica el estado de un puerto o un servicio a monitorizar. Opcionalmente se puede enviar una cadena de texto y esperar a recibir una respuesta que será tratada directamente por Pandora FMS como un dato.

TCP Send

Campo para configurar los parámetros que enviar al puerto TCP. Para enviar varias cadenas en secuencia envío/respuesta, hay que separarlas con el carácter |; admite la cadena ^M para reemplazarla por el envío de un retorno de carro. Ejemplo:

GET / HTTP/1.0^M^M 
TCP receive

Campo para configurar las cadenas de texto que se deben comparar con las repuestas recibidas de la conexión TCP. Si se envían/reciben en varios pasos, cada paso se debe separar con el carácter |.

Ejemplo con Simple Mail Transfer Protocol (SMTP) en un servidor de correo electrónico:

R: 220 mail.supersmtp.com ...
S: HELO myhostname.com
R: 250 myhostname.com
S: MAIL FROM: 
R: 250 OK
S: RCPT TO: 
R: 250 OK
S: DATA
R: 354 Start mail input; end with .
S: .......<your mail here>........
S: .
R: 250 OK
S: QUIT
R: 221 mail.supersmtp.com Service closing ...

La cadena de texto 250 OK es clave en las tres respuestas para comprobar que funciona de forma adecuada, por ello la configuración acorde es:

TCP Send
HELO myhostname.com^M|MAIL FROM: ^M| RCPT TO: ^M
TCP Receive
250|250|250

Si los tres primeros pasos son 250 OK entonces el servidor SMTP está ok. Todo esto permite usarse para cualquier otro protocolo que utilice conversaciones en texto plano.

1.2.4 Módulos de ejecución remota

Info.png

Enterprise versión 741 o superior

 


  • Remote execution data
  • Remote execution data proc
  • Remote execution data string
  • Remote execution data inc

Para poder utilizar con éxito estos módulos se necesitan las credenciales de conexión del agente a monitorizar. Por tanto todo esto se debe registrar en el almacén seguro de credenciales:

Remotexec9.PNG

Ejemplo de creación de un nuevo módulo del servidor de red:

Remotexec2.png

Para ejecuciones remotas se admiten los siguientes tipos de datos de respuesta:

  • remote_execution_data: numérico.
  • remote_execution proc: booleano (0 FALSO, distinto de cero VERDADERO).
  • remote_execution_data_string: alfanumérico (cadena).
  • remote_execution_data_inc: incremental (ratio).

Se deben definir los siguientes parámetros:

  1. Target IP: opcionalmente la IP del objetivo (si no, se usará la del agente).
  2. Port: opcionalmente el puerto al que conectar (22 en GNU/Linux, indiferente en MS Windows®).
  3. Command: el comando a ejecutar para realizar la monitorización.
  4. Credential identifier: el juego de credenciales a utilizar para conectar.
  5. Target OS: opcionalmente el sistema operativo del objetivo (si no, se usará el del agente).
Ejemplo
Remotexec3.png

El sistema ejecutará el comando contra la máquina remota, recibiendo el número de archivos en el directorio de trabajo temporal.

Remotexec4.png
Ejemplo con tipo de dato alfanumérico para ver la salida literal del comando
Remotexec5.png

El parámetro 'Target OS' se puede configurar para que herede el sistema operativo del agente al que se está apuntando.

Resultado:

Remotexec6.png
Remotexec7.png

Info.png

El comportamiento del módulo es idéntico a la hora de asignar alertas, generar eventos o visualizar informes.

 


Template warning.png

A partir de la versión 743 en el fichero pandora_server.conf se debe disponer de tokens para la configuración de los siguientes parámetros relacionados con la ejecución remota de módulos: ssh_launcher, rcmd_timeout y rcmd_timeout_bin.

 


1.2.5 Propiedades avanzadas comunes de los módulos de red

Cap5 snmp 8.png
  • Custom ID: permite almacenar un ID de una aplicación externa para facilitar la integración de Pandora FMS con aplicaciones de terceros. Por ejemplo, una Configuration management database (CMDB).
  • Interval: intervalo de ejecución del módulo, el cual puede ser personalizado por un usuario Administrador de manera predefinida y luego ser utilizado por usuarios estándar.
  • Post process: para posprocesado del módulo (multiplicar o dividir el valor devuelto), por ejemplo cuando se obtienen bytes y se desea mostrar el valor en Megabytes.
  • Min. Value y Max. Value: cualquier valor por debajo del mínimo o por encima del máximo se tomará como inválido y se descartará.


Cron

Si Cron from está activado, el módulo se ejecutará una vez cuando la fecha y hora actuales coincidan con la fecha y hora configuradas en Cron from, ignorando el propio intervalo del módulo.

Se puede especificar periodos de tiempo en los cuales se ejecutará el módulo; tiene la nomenclatura: Minuto, Hora, Día del Mes, Mes, Día de la semana y existen tres posibilidades distintas:

    • Cron from tiene establecido por defecto en todos sus campos Any (_Cualquiera_), sin restricción alguna de tiempo para la monitorización.
    • Si Cron from -> algún valor específico y Cron to todos en Any: se ejecutará únicamente cuando coincida con el número estipulado. Ej: 15 20 * * *, solo se ejecutará todos los días a las 20:15.
    • Cron from -> algún valor específico y Cron to -> -> algún valor específico: se ejecutará durante el intervalo expuesto. Ej: 5 * * * * y 10 * * * *, se ejecutará cada hora entre los minutos 5 y 10 (esto es equivalente a 5-10 * * * *).

Ejemplo, ejecutar cada lunes a las 6:30:

Cron from ex1.png

Ejemplo, ejecutar todos los días entre las 6 y las 7:

Cron from ex2.png

Para los módulos locales se añade la línea module_crontab correspondiente al fichero de configuración del agente.

Timeout

Tiempo que espera el agente a la ejecución del módulo, expresado en segundos.

Category

Esta categorización no tiene efectos desde la interfaz de usuario normal. Está pensada para usarse en conjunto con la Metaconsola.

1.3 Monitorización SNMP

1.3.1 Introducción a la monitorización SNMP

El Protocolo Simple de Administración de Red o Simple Network Management Protocol (SNMP), especificado en RFC 3411 y RFC 3418 y publicados por el IETF, trabaja con operaciones síncronas y operaciones asíncronas:

  • Polling SNMP: se realiza cada cierto tiempo de forma activa e implica ordenar que Pandora FMS ejecute un comando get contra un dispositivo SNMP. Se realizan creando módulos de red en Pandora FMS de la forma habitual.
  • Trap SNMP: ocurre con cambios o eventos en el dispositivo, que pueden suceder en cualquier momento o no (ej. un ventilador cesa su funcionamiento y aumenta la temperatura del equipo). Es necesario activar la consola de traps SNMP en Pandora FMS, donde se mostrarán los que se reciban de cualquier dispositivo. Se pueden definir alertas mediante reglas de filtrado de traps por cualquiera de sus campos.

Pandora FMS trabaja con SNMP manejando Identificadores de Objetos u Object IDentifier (OID) individuales, así cada OID es un módulo de red. Ejemplo: para conocer el estado operativo de cada puerto así como el tráfico de entrada y salida de un Cisco Catalyst® de 24 puertos se deben definir un total de 72 módulos (24 x 3).

Pasos necesarios para trabajar con SNMP
  • Activar la gestión SNMP del dispositivo para que desde el servidor de red se pueda hacer consultas SNMP.
  • Conocer la IP y la comunidad SNMP del dispositivo remoto.
  • Conocer el OID concreto del dispositivo remoto (o utilizar uno de los múltiples wizards de que dispone Pandora FMS o su explorador de OIDs SNMP).
  • Saber cómo gestionar el dato que devuelve el dispositivo. Los dispositivos SNMP devuelven datos en diferentes formatos. Pandora FMS puede tratar casi todos. Los datos de tipo contador son los que Pandora FMS gestiona como remote_snmp_inc y son de especial importancia, ya que al ser contadores no pueden tratarse como datos numéricos sino como tasa de elementos por segundo. La mayoría de datos estadísticos SNMP son de tipo contador y se han de configurar como remote_snmp_inc si se quiere monitorizar de forma adecuada.

1.3.2 Monitorizando con módulos de red tipo SNMP

Pandora FMS incluye algunos OID en su base de datos que puede usar directamente. Por ejemplo, a la hora de crear el módulo seleccione el componente Cisco MIBs para mostrar una lista de los chequeos con OID traducidos disponibles para Cisco:

Cap5 snmp 4.png

Una vez que seleccione este componente puede elegir entre los OID disponibles para él y se rellenarán los campos con la información necesaria:

Cap5 snmp 5.png

Pulse el botón Create ("Crear"). Para ver los datos del módulo recién creado pulse sobre la solapa superior View ("Vista"), y en ella vaya a la parte de abajo, donde se mostrará una gráfica SNMP en tiempo real con Graph (una vez se empiecen a recibir los datos).

SNMP nueva.png

Info.png

Existen más MIB incluidas en Pandora FMS, y con la versión Enterprise se incluyen paquetes de MIB para distintos dispositivos.

 


Para poder monitorizar cualquier otro elemento por SNMP deberemos saber su comunidad SNMP. En la creación del módulo debe seleccionar Manual setup:

Cap5 snmp 1.png

En el campo Type existen tres opciones para SNMP, al seleccionar una de ellas se expandirá el formulario mostrando los campos adicionales para SNMP (a disposición un video tutorial para más información):

Cap5 snmp 2.png
  • SNMP community: es como una identificación de usuario o una contraseña que permite el acceso a las estadísticas de un enrutador u otro dispositivo (versiones SNMPv1 y SNMPv2c ya que SNMPv3 utiliza autenticación por credenciales). Por defecto los dispositivos traen la comunidad pública (public) de solo lectura y generalmente cada administrador de red cambia todas las cadenas de la comunidad a valores personalizados en la configuración del dispositivo.
  • SNMP OID: identificador OID que monitorizar, el cual consiste en una cadena de números y puntos. Estas cadenas son automáticamente traducidas por cadenas alfanuméricas más descriptivas si las MIB correspondientes se encuentran instaladas en el sistema.

Las MIB son una colección de definiciones que definen las propiedades del objeto gestionado dentro del dispositivo a gestionar. Como tal, no es en realidad una base de datos sino que depende de la implementación. Cada proveedor de equipos SNMP tiene una sección exclusiva de la estructura de árbol de la MIB bajo su control.

Ejemplo de OID alfanumérico:

   iso.org.dod.internet.private.transition.products.chassis.card.slotCps.cpsSlotSummary.cpsModuleTable.cpsModuleEntry.cpsModuleModel.3562.3

Su equivalente numérico:

1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3

1.3.3 Monitorizando SNMP desde los Agentes Software

También se puede hacer una monitorización remota desde un Agente Software, el cual generalmente es utilizado para obtener datos locales, sin embargo Pandora FMS presenta flexibilidad en este y en muchos otros aspectos.

En GNU/Linux®

snmpget suele estar instalado por defecto, por lo que puede ser llamado desde la línea module_exec.

module_exec snmpget -v <versión> -c <comunidad> <dirección IP> <OID numérica>

Cabe destacar que solo las OID "básicas" son traducibles por su equivalente numérico, y que es recomendable usar siempre OID numéricas, ya que no se sabe si la herramienta va a saber traducirla o no. En cualquier caso siempre se pueden cargar las mibs en el directorio /usr/share/snmp/mibs.

Ejemplos:

module_begin
module_name SNMP_if3_in
module_type generic_data_inc
module_exec snmpget -v 1 -c public 192.168.55.1 .1.3.6.1.2.1.2.2.1.10.3
module_end
module_begin
module_name SNMP_Sysup
module_type generic_data
module_exec snmpget -v 1 -c public 192.168.55.1 DISMAN-EVENT-MIB::sysUpTimeInstance
module_end
En MS Windows®

snmpget.exe (el cual forma parte del proyecto net-snmp, con licencia BSD) está añadido al Agente Software junto con las MIB básicas, además de un empaquetador o guión (wrapper o script) para encapsular la llamada.

La sintaxis de la ejecución es:

module_exec getsnmp.bat <comunidad_SNMP> <ip de destino> <OID>

De similar manera que en Linux, se pueden cargar las MIBs en el directorio /util/mibs.

Ejemplos:

module_begin
module_name SNMP_if3_in
module_type generic_data_inc
module_exec getsnmp.bat public 192.168.55.1 .1.3.6.1.2.1.2.2.1.10.3
module_end
module_begin
module_name SNMP_if3_desc
module_type generic_data_string
module_exec getsnmp.bat public 192.168.55.1 IF-MIB::ifDescr.3
module_end
module_begin
module_name SNMP_Sysup
module_type generic_data
module_exec getsnmp.bat public 192.168.55.1 DISMAN-EVENT-MIB::sysUpTimeInstance
module_end

1.3.4 Gestor de MIBS

Pandora FMS de manera predeterminada utiliza las MIB que está alojadas por el sistema operativo en /usr/share/snmp/mibs. Se pueden incorporar nuevas MIB (y gestionarlas luego) por medio de la funcionalidad MIB uploader. Estas MIBs solamente son usadas por Pandora FMS y están almacenadas en la vía {PANDORA_CONSOLE}/attachment/mibs.

CapturaMR2.JPG

Info.png

Este funcionalidad solo gestiona las MIB para Polling SNMP, en el caso de las Trap SNMP consulte el capítulo Monitorización con traps SNMP.

 


1.3.5 Navegador SNMP de Pandora FMS

Info.png

Versión Enterprise NG 744 o superior

 


El Navegador SNMP realiza un recorrido completo del árbol del dispositivo y dicha operación puede tardar varios minutos. También es posible recorrer ramas precisas y acortar el recorrido. Para acceder se debe ir a Monitoring > SNMP > SNMP Browser.

Por ejemplo, para sacar la información de Cisco® únicamente, podría explorar el sub-MIB enterprise de Cisco®, que empieza por :

 .1.3.6.1.4.1.9

El explorador se utiliza para "navegar", esto es, ir desplegando las ramas y obteniendo los valores. El sistema pedirá esa información al sistema y además mostrará (si está disponible) la información del OID solicitado. Si no existe información sobre el OID del dispositivo, esta se muestra únicamente en formato numérico. La información descriptiva de los OID se almacena mediante las bases de información gestionada o MIBs. Si no dispone de una MIB para el dispositivo que desea explorar, probablemente tenga que recurrir a buscar "trozos de información" en la información visualizada por Pandora FMS, lo cual es complejo y lleva tiempo.

El explorador SNMP también permite buscar una cadena de texto tanto en los valores de OID's obtenidos como en los valores traducidos de los propios OID's (si están disponibles). Esto es especialmente útil para buscar cadenas conocidas concretas y localizar su OID. Si localiza varias entradas nos permitirá ir saltando de una ocurrencia a otra, y las mostrará resaltadas en amarillo.

Snmp browser module creator.png


Es posible seleccionar varios OIDs y añadirlos a un agente pulsando el botón Create agent modules. Para ello se selecciona los agentes que serán monitorizado con dichos OIDs y se añaden al cuadro de la derecha. Estos módulos se crearan una vez pulsemos el botón Add modules.

SNMP1.png
SNMP12.png

También se puede seleccionar varios OIDs para añadirlos a una política pulsando el botón Create policy module.

SNMP21.png

Seleccionamos las políticas en las que queremos agregar la configuracion de modulos de esos OIDs. Para generar una nueva política para estos OIDs pulse el botón “Create new policy”.

SNMP33.png

Rellene los campos asignando un nombre, un grupo y una descripción a la nueva política y se pulsa el botón “Create policy”. Luego las añadimos al cuadro de la derecha y se pulsa el botón Add modules para hacer efectiva esta configuración en las políticas

SNMP31.png


SNMP32.png


Para seleccionar un OID concreto está disponible desde el detalle del OID el botón Create agent module. Este botón permite seleccionar un agente concreto y redirigirá a la creación del módulo dentro de este agente con todos los datos SNMP que se han seleccionado.

SNMP41.png

Desde el editor de módulos SNMP, cuando edita o crea un módulo de red, se puede lanzar el navegador de SNMP haciendo clic en el botón de "Navegador SNMP", que lo abrirá en una ventana emergente.

Una vez escogido el OID que buscamos, haciendo clic en el icono de filtro, se escoge ese OID y este pasará automáticamente al campo correspondiente de la definición del módulo para su uso en nuestro agente.

Snmp browser from module creation.jpg

1.3.6 Wizard SNMP de Pandora FMS

En la vista de administración de un agente hay un conjunto de herramientas para crear módulos de forma masiva: los wizard de agente.

Agent wizard.png
1.3.6.1 Wizard SNMP
Agent wizard snmp wizard.png

Debe definir la IP de destino, la comunidad y otros parámetros opcionales (SNMP v3 está soportado) para hacer un Walk a la máquina.

Snmp wizard form.png

Una vez se reciba la información correctamente, aparecerá un formulario para la creación de módulos:

Con el Wizard SNMP es posible crear módulos de varios tipos de datos SNMP:

  • Devices: Dispositivos.
  • Processes: Procesos.
  • Free space on disk: Espacio libre en disco.
  • Temperature sensors: Sensores de temperatura.
  • Other SNMP data: Otros datos SNMP.
Snmp wizard module creator.png

Seleccione el tipo de módulo y pase los elementos que desee del combo de la izquierda al de la derecha. Cuando acabe este proceso podrá hacer clic en el botón de Create Modules (Crear módulos).

Este wizard creará dos tipos de módulos:

  • Módulos SNMP para las consultas con OID estático: Sensores, Memoria, CPU, etcétera.
  • Módulos Plugin para las consultas con OID dinámico o los datos calculados: Procesos, Espacio en disco, Memoria usada expresada en porcentaje, etcétera.


Template warning.png

Para los módulos de tipo plugin usaremos el plugin de SNMP remoto, por lo que si el plugin no está instalado en el sistema, estas características permanecerán desactivadas. El plugin deberá tener el nombre snmp_remote.pl sin importar su localización.

 


Para que el wizard SNMP pueda obtener datos de un dispositivo SNMP gracias a los componentes remotos, es necesario cumplir 2 requisitos:

  • Tener registrado en Pandora el Private Enterprise Number (PEN) del fabricante del dispositivo.
  • Tener registrados y habilitados en Pandora componentes del wizard SNMP para el fabricante del dispositivo.

Si el dispositivo explorado cumple estos requisitos, se mostrarán todos los módulos de los cuales se hayan podido obtener datos para dar la oportunidad de seleccionar cual crear y cual no.

Estos módulos se mostrarán organizados en bloques en base al grupo al que pertenezca el componente del wizard que los haya generado.

Todos los bloques se mostrarán comprimidos en un primer momento para facilitar la visualización, de esta manera, se podrán ir expandiendo para modificar las selecciones o los datos. Además, en cada bloque donde se hayan marcado módulos para su creación se verá un icono informativo que nos lo indicará.

IMG8 wizard components.png

Si desplegamos un bloque, se podrán elegir los módulos que se agregarán y los que no, así como la opción de modificar el nombre, la descripción o los umbrales de cada módulo individualmente.

IMG9 wizard components.png

Una vez pulsado el botón Create modules se mostrará un listado resumen de los módulos elegidos con su configuración. En este listado se verán los módulos que no se puedan crear, ya sea porque ya existen en el agente o porque se han configurado 2 o más módulos con el mismo nombre en el propio wizard.

Info.png

Tenga en cuenta que si el valor del Módulo recogido por el wizard es de tipo incremental o incremental absoluto, dicho valor no es el incremento en sí sino un valor referencial. Para obtener un valor incremental son necesarias dos lecturas, por ello el valor del Módulo indicará "cero" hasta que se realice la próxima lectura.

 


Antes de que se añadan al agente, habrá una última oportunidad de confirmar la creación de estos módulos o de cancelarla y seguir modificando el resultado del wizard.

IMG10 wizard components.png

Una vez confirmada la creación de los módulos, se volverá a evaluar uno a uno si se pueden crear o no, para evitar módulos duplicados en el caso de que en el lapso de tiempo de la confirmación se hayan creado los mismos módulos por otro medio.

Se notificará si el proceso se ha podido completar con éxito o si por el contrario ha habido algún módulo que no se haya podido crear.

1.3.6.2 SNMP Interfaces wizard
Agent wizard snmp interfaces wizard.png

En el Wizard de agente hay un asistente SNMP específicamente creado para la navegación de Interfaces. Este Wizard navega por la rama de SNMP IF-MIB::interfaces, ofreciendo la posibilidad de crear múltiples módulos de varios interfaces con la selección múltiple. Después de seleccionar la IP de destino, comunidad, etc., el sistema hará una consulta SNMP a la máquina destino y rellenará el formulario para la creación de módulos.

Agent wizard snmp interfaces creation.png

Se podrá seleccionar una o más interfaces del combo de la izquierda. Después, en el de la derecha aparecerán los elementos comunes a ellos (Descripción, Velocidad, Tráfico entrante/saliente...). Podrá seleccionar uno o más elementos del combo y hacer clic en Create Modules para crear los módulos seleccionados para cada interfaz seleccionada en el combo de la izquierda.

Template warning.png

Para que el wizard SNMP de interfaces pueda obtener datos de un dispositivo SNMP el dispositivo SNMP debe devolver datos de la rama IF-MIB.

 


Se verá un primer bloque de configuración general para todas las interfaces seleccionadas del dispositivo con los posibles módulos a agregar. Los módulos que se seleccionen en este bloque y sus umbrales serán la configuración por defecto que se agregará para las interfaces de red. Este bloque se podrá desactivar para no agregar una monitorización general a las interfaces.

IMG11 wizard components.png

Tiene un bloque específico para cada interfaz de red, el cual permite ser seleccionado para indicar que dicha interfaz debe ser monitorizada. Si además en el bloque anterior se ha configurado una monitorización general, todas las interfaces marcadas tomarán esas configuraciones.

IMG12 wizard components.png

En cada bloque de interfaz podremos también indicar configuraciones específicas para el interfaz, es decir, agregarle módulos específicos que no vengan en el bloque de monitorización general, o sobreescribir esas configuraciones con otra distinta para este caso. También se podrán modificar los nombres y las descripciones de los módulos para cada caso específico. Es necesario que el bloque del interfaz venga marcado para su monitorización, de esta manera las configuraciones específicas tendrán efecto.

IMG13 wizard components.png

Todos los bloques se mostrarán comprimidos en un primer momento para facilitar la visualización. De esta manera, se podrán ir expandiendo para modificar las selecciones o los datos. Además, en cada bloque donde se hayan marcado módulos para su creación se verá un icono informativo que nos lo indicará.


Una vez pulsado el botón Create modules se mostrará un listado resumen de los módulos elegidos con su configuración. En este listado se verán los módulos que no se puedan crear, ya sea porque ya existen en el agente o porque se han configurado 2 o más módulos con el mismo nombre en el propio wizard.

A pesar de todas las modificaciones que realicemos, antes de que se añadan al agente, habrá una última oportunidad de confirmar la creación de estos módulos o de cancelarla y seguir modificando el resultado del wizard.

IMG14 wizard components.png

Una vez confirmada la creación de los módulos, se volverá a evaluar uno a uno si se pueden crear o no, para evitar módulos duplicados en el caso de que en el lapso de tiempo de la confirmación se hayan creado los mismos módulos por otro medio.

Se nos notificará si el proceso se ha podido completar con éxito o, si por el contrario, ha habido algún módulo que no se haya podido crear.

1.4 Monitorización de Windows remotos con WMI

WMI es un sistema operativo (S.O.) de Microsoft® para obtener información remota de equipos funcionando con Windows®; está disponible desde la versión Windows XP hasta las versiones más actuales. WMI permite obtener todo tipo de información del S.O., las aplicaciones e incluso el hardware. Las consultas de WMI se pueden realizar localmente con el Agente Software (llamando a la API del S.O.) o de forma remota. En algunos sistemas el acceso remoto a WMI no está activado y es preciso activarlo para poder ser consultado desde el exterior.

Es necesario habilitar el componente wmiserver en el fichero de configuración del servidor de Pandora FMS.

 # wmiserver : 1 or 0. Set to 1 to activate WMI server with this setup
 # DISABLED BY DEFAULT
   wmiserver 1

Las consultas se hacen en WQL, una especie de lenguaje SQL específico de Microsoft® para consultas internas al sistema operativo, y se puede realizar cualquier consulta que aparezca en la base de datos del sistema WMI.

Para comenzar a monitorizar por WMI, primero se deberá crear el agente correspondiente, luego pulse sobre la solapa superior de los módulos (Modules). En ella, seleccione crear un nuevo módulo WMI y pulse el botón Create:

Feo.jpg

Los campos específicos de WMI requieren una pequeña explicación:

Campos.jpg
  • Namespace: Espacio de nombres WMI; en algunas consultas este campo es diferente de cadena vacía (por defecto), dependiendo del proveedor de información de la aplicación que se monitorice.
  • Username: Nombre del usuario administrador o de otro usuario que tenga privilegios para ejecutar consultas WMI de forma remota.
  • Password: Contraseña.
  • Key string: Opcional, campo para comparar con la cadena devuelta por la consulta, y de existir el módulo devuelve 1 o 0, en lugar de la cadena en sí.
  • Field number: El número del campo devuelto empezando desde 0 (las consultas WMI pueden devolver más de un campo). En la mayoría de las veces es 0 o 1.
  • WMI Query: Consulta WMI, similar a una sentencia en SQL.

Algunos ejemplos de WMI Query:

SELECT LoadPercentage from Win32_Processor WHERE DeviceID = "CPU0"
SELECT SerialNumber FROM Win32_OperatingSystem
SELECT AvailableBytes from Win32_PerfRawData_PerfOS_Memory
SELECT DiskWriteBytesPersec from Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE name = "_Total"

Si no conoce los parámetros exactos, puede seleccionar uno de los predeterminados incluidos en la base de datos de Pandora FMS. Para ello, seleccione el componente de módulo WMI:

Galleta.jpg

Y después seleccione una comprobación WMI de las posibles:

Galletita.jpg

La información necesaria se rellena automáticamente, salvo el usuario y la contraseña. Note que debe introducir un usuario con permisos de administración y su contraseña; de lo contrario el módulo no podrá devolver ningún valor:

Otro.jpg

La versión Enterprise de Pandora FMS dispone de más de 400 módulos WMI de monitorización remota para Windows, cubriendo las tecnologías:

  • Active Directory®.
  • BIOS.
  • Información del sistema.
  • Información de Windows®.
  • Impresoras.
  • MSTDC.
  • IIS.
  • LDAP.
  • Microsoft Exchange®.

1.4.1 Wizard WMI

Utilizado para navegar y crear módulos con consultas WMI a un agente específico. En el Wizard de agente (pestaña en la vista de administración de un agente), haga clic en el icono:

Agent wizard wmi wizard.png

Debe especificar el nombre de usuario y contraseña que tenga permisos para hacer consultas WMI (o en su defecto la del Administrador) en el servidor de destino para hacer las primeras consultas WMI. Esta información será utilizada para la creación de módulos.

Wmi wizard module creator.png

Con el Wizard WMI es posible crear módulos de diferentes tipos de información WMI:

  • Servicios: Se crearán monitores booleanos en estado normal si el servicio está corriendo y en estado crítico cuando se encuentre detenido.
  • Procesos: Los monitores de procesos recibirán información solamente cuando el proceso esté activo. De lo contrario, caerán en estado desconocido.
  • Espacio libre en disco
  • Componentes WMI: En este caso escogerá entre los componentes WMI registrados en el sistema (Administración > Gestionar módulos > Componentes de red)

Template warning.png

Debe tener registrados y habilitados en Pandora componentes del wizard WMI: de esta manera se mostrarán todos los módulos de los cuales se hayan podido obtener datos para tner la oportunidad de crearlos o no.

 


Estos módulos se mostrarán organizados en bloques en base al grupo al que pertenezca el componente del wizard que los haya generado.

IMG15 wizard components.png

Todos los bloques se mostrarán comprimidos en un primer momento para facilitar la visualización y se podrán ir expandiendo para modificar los seleccionados o los datos. Además, en cada bloque donde se hayan marcado módulos para su creación se verá un icono informativo que indicará.

Si desplegamos un bloque, se podrán elegir los módulos que se agregarán y los que no, así como la opción de modificar el nombre, la descripción o los umbrales de cada módulo individualmente.

IMG16 wizard components.png

Una vez pulsado el botón Create modules se mostrará un listado con un resumen de los módulos elegidos con su configuración. En este listado se verán los módulos que no puedan ser creados, ya sea porque ya existen en el agente o porque se han configurado dos o más módulos con el mismo nombre en el mismo wizard.

A pesar de todas las modificaciones que se realicen habrá una última oportunidad de confirmar la creación de estos módulos o de cancelarla y seguir modificando el resultado del wizard.

IMG17 wizard components.png

Una vez confirmada la creación de los módulos, se volverá a evaluar uno a uno si se pueden crear o no, para evitar módulos duplicados en el caso de que en el lapso de tiempo de la confirmación se hayan creado los mismos módulos por otro medio.

El asistente notificará si el proceso se ha podido completar con éxito o si por el contrario ha habido algún módulo que no haya podido ser creado.

1.5 Monitorización con plugins remotos de servidor

Un plugin remoto es un guión (script) o fichero ejecutable que admite parámetros y devuelve un solo y único valor. El resultado podría ser un número, un valor booleano (0 = error, OK <> 0 ) o una cadena de texto. Un plugin remoto generalmente permite parámetros de entrada. Por defecto varios plugins de servidor vienen instalados y listos para utilizarse y el usuario puede siempre añadir los que necesite.

Existen dos clases de plugin remoto: estándar y tipo Nagios. La diferencia estriba principalmente en que los de tipo Nagios responden con un nivel de errores (error level) y además, de manera opcional, con una cadena descriptiva.

1.5.1 Administración de plugins remotos

Verdecito1.jpg

Pulsar sobre Manage servers y luego Manage plugins, se abrirá una nueva ventana:

Verdecito2.jpg

Al hacer clic en uno de ellos o crear uno nuevo se abrirá el siguiente diálogo:

Plugin create 1.jpg

Plug-in type permite establecer si es de tipo estándar o tipo Nagios. Max. timeout para fijar el tiempo de espera para su ejecución, se debe prestar especial atención en este valor ya que debe abarcar suficiente tiempo para la ejecución de lo contrario no obtendremos valor alguno.

Info.png

En la ejecución de un plugin existen tres valores de espera: el del servidor, el del plugin y el del módulo. El del servidor prevalece sobre los demás, y en segundo lugar, el del plugin. Ej. con valores de timeout del servidor en 10 segundos, el del plugin en 20 y el del un módulo con este plugin en 30, el máximo tiempo que se esperará a la ejecución de ese módulo será de 10 segundos.

 


El campo de la descripción es importante ya que se verá en la interfaz de uso del plugin por parte del usuario, escoja una leyenda corta y explicativa. La siguiente imagen de ejemplo muestra este uso práctico

Macro editor2.jpg

Valores esenciales de configuración:

Plugin create 2.jpg
  • Plug-in command: Vía donde está alojado el plugin, por defecto en el directorio /usr/share/pandora_server/util/plugin/. Si utiliza plugin propios asegúrse de que tiene permisos de ejecución (chmod 755).
  • Plug-in parameters. Permite establecer parámetros separados con espacios ademá de campos macro _field1_ _field2_ ... _fieldN_. Estas macros aparecerán como campos de texto en la configuración del módulo para que el usuario abstraiga de la complejidad de uso de un módulo de tipo plugin. Esto permite permite que el usuario rellene los parámetros de llamada al script sin necesidad de conocer su funcionamiento ni la forma de llamarlo.

Cada macro tiene tres campos:

Macro configuration.png
  • Description: Será la etiqueta que aparecerá junto al campo en el formulario.
  • Default value: Valor asignado al campo por defecto.
  • Help: Un texto explicativo de la macro, para mostrar algún ejemplo de uso o explicar mejor para qué sirve ese campo.

1.5.1.1 Macros internas

De una forma similar a las alertas, también se pueden utilizar macros internas en la configuración de plugins. Las macros soportadas son las siguientes:

  • _agent_ o _agentalias_: Alias del agente al que pertenece el módulo.
  • _agentname_: Nombre del agente al que pertenece el módulo.
  • _agentdescription_: Descripción del agente al que pertenece el módulo.
  • _agentstatus_: Estado actual del agente.
  • _address_: Dirección del agente al que pertenece el módulo.
  • _module_: Nombre del módulo.
  • _modulegroup_: Nombre del grupo del módulo.
  • _moduledescription_: Descripción del módulo.
  • _modulestatus_: Estado del módulo.
  • _moduletags_: Etiquetas (tags) asociados al módulo.
  • _id_agent_: ID del agente, útil para construir directamente la URL o redireccionar a la Consola de Pandora FMS.
  • _id_module_: ID del módulo.
  • _policy_: Nombre de la política a la que pertenece el módulo si está establecida alguna.
  • _interval_: Intervalo de ejecución del módulo.
  • _target_ip_: Dirección IP del destino del módulo.
  • _target_port_: Puerto del destino del módulo.
  • _plugin_parameters_: Parámetros de plugin del módulo.
  • _email_tag_: correos electrónicos asociados a tags de módulos.

1.5.2 Un plugin remoto por dentro

#!/bin/bash
# This is called like -p xxx -t xxxx
HOST=$4
PORT=$2
nmap -T5 -p $PORT -sU $HOST | grep open | wc -l

Este plugin para GNU/Linux toma dos parámetros, el puerto UDP a probar -p y la dirección de destino -sU. Al registrar el plugin hemos definido dos macros, una para el puerto y otra para la IP, de forma que al momento de crear un módulo de tipo plugin el usuarios únicamente visualize esos parámetros.

Una vez registrado el plugin, para ser usardo en un agente se deberá crear un módulo de tipo plugin server. Pulse sobre la solapa superior de los módulos (Modules). En ella, seleccione crear un nuevo módulo de red y pulse el botón Create (crear):

Trescientos1.jpg

Especifique la dirección IP Target IP y puerto Port donde realizará el análisis, seleccione el tipo de módulo Generic numeric para recabar un valor numérico y complete los demás campos que sean necesarios.

Example1 edition module.png

Una vez haya finalizado, pulse el botón Create.

Udp port check demo.jpg

1.5.3 Ejemplo #1: Módulo de plugin remoto para MySQL

MySQL es un motor de base de datos al cual Pandora FMS ha creado un plugin por defecto para que sea personalizado por cada cliente a sus usuarios. Para ello vaya a Administration -> Manage servers -> plugins y agregue un nuevo módulo de complemento para MySQL:

Plugin mysql1.png

Este plugin proporciona cuatro comprobaciones totalmente transparentes al usuario (como se verá luego) desde que es iniciado:

  • -q Com_select: Número de consultas de lectura select.
  • -q Com_update: Número de consultas de escritura update.
  • -q Connections: Número de conexiones.
  • -q Innodb_rows_read: Lecturas de filas tipo Innodb.

En el siguiente paso nótese la ubicación por defecto del plugin y los cuatro parámetros para poder realizar las comprobaciones señaladas anteriormente:

Plugin mysql2.png

Configuración del primer y segundo parámetros (dirección IP y nombre de usuario):

Configuración del primer y segundo parámetros (dirección IP y nombre de usuario)

Configuración del tercer y cuarto parámetros (contraseña de usuario y consulta de tipo SQL):

Configuración del tercer y cuarto parámetros (contraseña de usuario y consulta de tipo SQL)

El plugin quedaría como sigue:

Plugin mysql module.png

Cree un módulo en el agente del equipo donde está instalado Pandora FMS y asígnelo; su nombre será Mysql Connections, usando como plugin "MySQL", como IP localhost<code>, como usuario <code>pandora, la contraseña de la base de datos de Pandora FMS y como comprobación la palabra Connections.

El módulo para crear quedaría como sigue:

Mysql module2.png

Al ser creado aparecerá en el listado de módulos de tipo plugin (en este caso, pendiente de inicializarse):

Fosforo3.jpg

1.5.4 Ejemplo #2: Módulo de plugin remoto para servidor SMTP

Pandora plugin SMTP5.png

Este plugin envía un correo utilizando un servidor remoto, devuelve 1 si funciona y 0 si falla (tipo generic_proc ). Nótese el texto de ayuda que aparece para los parámetros y parámetros adicionales (Parameters in the plugin y Optional parameters, esquina inferior derecha).

Se deben establecer los siguientes parámetros en la configuración de un módulo al usar el plugin:

Smtp module2.png

1.5.5 Ejemplo #3: Módulo de plugin remoto para servidor DNS

Pandora plugin DNS5.png

Este plugin devuelve la dirección IP de un dominio consultada a un DNS específico, devuelve 1 si funciona y 0 si falla (dato tipo generic_proc).

Dns module2.png

Info.png

Otra monitorización adicional sería comprobar si todas las direcciones IP que devuelve el DNS pertenecen realmente al dominio consultado, esto se logra al comparar con un rango previo y predeterminado de direcciones IP.

 


1.5.6 Macros de campos personalizados para monitorización remota

Cuando se configuran módulos remotos, tener que introducir información relativa a un mismo agente varias veces puede convertirse rápidamente en algo monótono (por ejemplo, una cadena de comunidad SNMP). Las macros de campos personalizados permiten utilizar los campos personalizados de agentes como macros para ciertas opciones de configuración de módulos.

En el siguiente ejemplo se creará un componente de red SNMP que pueda ser reutilizado entre agentes con cadenas de comunidad SNMP diferentes:

  • En la Consola Pandora FMS vaya a Resources > Custom fields y defina un nuevo campo personalizado en el que se almacenará la cadena de comunidad SNMP. Apunte su ID, ya que más tarde formará parte de la macro, y rellene la cadena de comunidad con el valor adecuado en sus agentes SNMP.
Campo 11 agregado, "SNMP Community"
  • A continuación cree un componente de red SNMP e introduzca _agentcustomfield_<n>_ como cadena de comunidad SNMP, donde n es el ID del campo personalizado (en ese ejemplo _agentcustomfield_11_).
Custom field network component.png
  • Por último, configure un módulo utilizando el componente de red que acaba de crear. El módulo empezará a funcionar de forma automática.

Las macros de campos personalizados funcionan con módulos de tipo SNMP, WMI, plug-in e inventario. Se pueden utilizar en módulos independientes, componentes de red y en módulos de política.

Otro ejemplo: para un módulo de tipo WMI se podrían definir de forma análoga dos nuevos campos personalizados para almacenar el nombre de usuario y la contraseña, y utilizar las macros correspondientes en la definición del módulo:

Wmi custom field.png

1.6 Ejecución remota de wizards y pruebas de red (Exec Server)

Info.png

Solamente para servidores PFMS instalados en GNU/Linux.

 


Esta funcionalidad permite que desde la consola de Pandora FMS se puedan ejecutar algunas acciones en servidores remotos de Pandora FMS. Así, podrá usar los Wizards SNMP de agente, el navegador de MIBs y los event responses desde un servidor remoto, además de poder hacerlo desde el servidor donde está la consola. Internamente, funciona a través de la ejecución de comandos remotos SSH desde la consola de Pandora FMS a los servidores habilitados, llamados Exec Server. Estos pueden ser servidores de Pandora FMS o Satellite Servers.

1.6.1 Configuración

En un Agente Lógico ya creado y con la configuración remota habilitada se establecerá que un usuario (por ejemplo "apache"), por medio de un par de llaves digitales creadas (pública y privada), pueda acceder a un dispositivo remoto al cual se le haya alojado y configurado la clave pública. Al finalizar usted habrá configurado una conexión SSH para los procesos automatizados de monitorización.

Template warning.png

Sin la configuración remota habilitada usted carecerá de la creación de módulos de Satellite desde los asistentes (wizards).

 


1. De la lista de servidores de Pandora FMS seleccione uno para que funcione como Exec Server y edite el mismo:

Exec-server-111.JPG

2. Active la casilla de verificación como Exec Server, introduzca el puerto y la direccción IP del servidor donde se lanzarán los comandos deseados. Esta opción se podrá configurar sobre el Network Server y/o Satellite Server.

Server 222 2.png

Info.png

Ya que en este punto está sin finalizar la configuración, la prueba de conexión fallará.

 


3. Para que el usuario de ejemplo “apache” (o equivalente) tenga una shell de ejecución se debe habilitar el servidor donde se ejecuta la Consola de Pandora FMS. En el fichero /etc/passwd modifique la siguiente línea para que el usuario tenga una shell válida:

apache:x:48:48:Apache:/var/www:/bin/bash

4. Se creará el directorio .ssh en la ruta /var/www/ y se otorgarán permisos para el usuario “apache”:

mkdir /var/www/.ssh
chown apache /var/www/.ssh

5. Ahora debe actuar como root para generar el par de llaves:

su apache
ssh-keygen 

Acepte los valores por defecto presionando la tecla Intro Enter, observará algo parecido a esto:

Exec-server-3.jpg

Info.png

Note usted y tenga presente dónde y cuales nombres tienen los dos ficheros de llaves creados. Esto es importante para su seguridad, además que es necesario en un próximo paso.

 


7. Antes de acceder por SSH al Exec Server (servidor de Pandora FMS o Satellite Server), se debe crear en esa máquina un usuario específico llamado pandora_exec_proxy y, además, la carpeta /home/pandora_exec_proxy/.ssh/:

sudo useradd pandora_exec_proxy -m
mkdir /home/pandora_exec_proxy/.ssh/

Template warning.png

Prescinda de establecer contraseña alguna para que solamente autentique al usuario por medio de llave pública y privada, así obtiene un mayor grado de seguridad.

 


8. Se copiará desde la consola de Pandora FMS al servidor Exec Server el contenido de la llave pública, generada en el paso anterior. Para ello habrá que copiar el contenido del fichero /var/www/.ssh/id_rsa.pub (copiando y pegando el contenido) al fichero /home/pandora_exec_proxy/.ssh/authorized_keys y se cambiarán los permisos de ese fichero:

chown -R pandora_exec_proxy /home/pandora_exec_proxy/.ssh/

9. Una vez creado este usuario, desde la máquina donde está corriendo la consola, y con el usuario “apache”, se ejecutará manualmente el siguiente comando para verificar que puede conectar sin introducir contraseña (sustituya <ip_address> con el valor correspondiente del paso 2):

 ssh [email protected]<ip_address>

10. Edite (en la Consola), el fichero /etc/pass para que el usuario "apache" carezca de inicio de sesión (solo podrá ser invocado si se es root, ver paso 5):

apache:x:48:48:Apache:/var/www:/sbin/nologin

11. Para finalizar, solo habrá que probar la configuración en la sección de edición del servidor proxy dentro de la consola de Pandora FMS, compruebe el indicador de prueba:

Exec-server-4.png

1.6.2 Uso de la funcionalidad de los Exec Server

Una vez configurado, en el explorador MIB, en los wizard SNMP de agente y en los event responses se podrá escoger desde donde lanzar una petición, si desde la consola local o desde el Exec Server configurado:

Exec-server-555.JPG

De igual manera para los Wizard WMI, interfaces SNMP y wizard de agente SNMP (excepto para los Satellite Server):

Exec-server-666.JPG

Dependiendo del servidor seleccionado a la hora de lanzar el Wizard se crearán los módulos adaptados para servidor o Satellite Server. En este último caso se escribirán los módulos en el fichero de configuración remota para que puedan ser ejecutados por el servidor.

Para configurar una event response nueva desde un Exec Server:

Exec-server-777.JPG

Luego lanzarla desde un evento:

Exec-server-8.JPG

1.7 Monitorización de rutas

Pandora FMS ofrece por defecto la monitorización de rutas completas entre dos puntos de la red, indicando visualmente el camino que se está siguiendo en todo momento para comunicarse entre estos dos puntos.

Para utilizar este sistema se necesita:

  • Un Agente software en el punto de origen de la ruta que queremos analizar.
  • Alcance vía ICMP desde el punto de origen.

El analizador de rutas de Pandora FMS utiliza un plugin de agente para trazar un mapa de la ruta. Este plugin de agente usa varios métodos para la recolección de información, reportando al servidor de Pandora FMS la información estructurada.

De manera opcional, si desea hacer escaneos de rutas a través de Internet, se recomienda que despliegue la aplicación MTR en el equipo origen de ruta.


1.7.1 Configuración

Info.png

Versión NG 715 o superior

 


Acceda a la pestaña de configuración de plugins en su agente y agregue la siguiente línea:

route_parser -t <direccion_objetivo>
Route conf2.png

Donde <dirección objetivo> puede ser una dirección IP v4 o un nombre de dominio FQDN.

  • Por último active la ejecución del plugin.
Nota

Si utiliza una versión del agente anterior a NG 715 primero usted deberá:

  • Descargar el plugin para el análisis de rutas de la librería de módulos.
  • Transferir el plugin a su Agente Software mediante colecciones (o copiando manualmente el archivo, ver siguiente figura):
Route conf1.png

1.7.2 Visualización

Una vez el sistema esté configurado y reportando, aparecerá una nueva pestaña en la vista del agente con la ruta que han seguido las comunicaciones para alcanzar el objetivo:

Vista de ejemplo de ruta hacia una máquina en una red distinta a la de origen (conexiones LAN):

Route view1.png

Vista de ejemplo de ruta hacia 8.8.8.8 (Google's DNS) (conexiones WAN)

Route view2.png

Volver al Índice de Documentación Pandora FMS