Difference between pages "Pandora: Documentation es: Instalacion" and "Pandora: Documentation es: Operacion"

From Pandora FMS Wiki
(Difference between pages)
Jump to: navigation, search
 
(Monitorización con KeepAlive)
 
Line 1: Line 1:
 
[[Pandora:Documentation|Volver a Indice de Documentacion Pandora FMS]]
 
[[Pandora:Documentation|Volver a Indice de Documentacion Pandora FMS]]
  
=Instalación de Consola y Servidor de Pandora FMS=
+
= Monitorización con agentes software =
  
==Requisitos mínimos hardware==
+
== Nombre de los agentes ==
  
Los requisitos expuestos en esta tabla son las recomendaciones mínimas para las distintas instalaciones. Estas recomendaciones están calculadas suponiendo que el 80 % de los módulos tienen histórico de datos y el muestreo medio es de cinco minutos. Estas recomendaciones están especificadas para un entorno donde se instalan en el mismo servidor base de datos, server y consola.
+
A partir de la versión 7 de Pandora FMS los agentes tienen un alias y un nombre (o identificador único). Un agente configurado por defecto generará un nombre (o identificador) basado en una cadena hexadecimal pseudoaleatoria, y un alias (o nombre visible) basado en el hostname de la máquina.
  
<table cellpadding=6 cellspacing=0 border=1 style='text-align:center;  background-color: #ECECEC;'>
+
En versiones anteriores solo existía el "nombre" de la máquina, y el sistema anterior es totalmente compatible con las versiones más modernas de Pandora FMS, solo que si en una misma instalación de Pandora FMS encuentra dos agentes con el mismo identificador (o nombres) los datos de ambos agentes se mezclarán y/o pisarán. Por eso introdujimos a partir de la versión 7 la posibilidad que agentes con diferente nombre pudieran tener el mismo alias.
<tr>
 
<th style=' border-color: #000000; text-align:center; background-color: #7CA12A; color:#FFFFFF'> Hardware </th>
 
<th style='border-color: #000000; background-color: #7CA12A; color:#FFFFFF'> PEQUEÑO: Hasta 500 agentes o 5000 módulos </th>
 
<th style=' border-color: #000000; background-color: #7CA12A; color:#FFFFFF'> MEDIANA: Hasta 2000 agentes o 10000 módulos </th>
 
<th style=' border-color: #000000; background-color: #7CA12A; color:#FFFFFF'> GRANDE: Para más de 4000 agentes*</th>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; background-color: #7CA12A; color:#FFFFFF'> CPU </th>
 
<td>1 núcleo a 2 GHz </td>
 
<td>2 núcleos a 2,5 GHz</td>
 
<td>4 núcleos a 3 GHz </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; background-color: #7CA12A; color:#FFFFFF'> RAM </th>
 
<td>4 GB </td>
 
<td>8 GB </td>
 
<td>16 GB </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; background-color: #7CA12A; color:#FFFFFF'> Disco Duro </th>
 
<td>7200 rpm </td>
 
<td>15K rpm o SSD </td>
 
<td> SSD </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; background-color: #7CA12A; color:#FFFFFF'> Espacio en disco </th>
 
<td>20GB mínimo <br> 40GB recomendado </td>
 
<td>60GB mínimo <br> 120GB recomendado </td>
 
<td> 120GB mínimo <br>250GB recomendado </td>
 
</tr>
 
</table>
 
  
(*) Además de las recomendaciones anteriores, se recomienda la instalación de MySQL en un servidor independiente e instalar Percona XTraDB en lugar de MySQL standard.
+
Para cambiar este comportamiento se utilizan los token de configuración siguientes:
  
 +
pandora_agent
 +
pandora_alias
  
<br>
+
Por defecto, el fichero de configuración no utiliza ninguno de los dos, de forma que obtiene el hostname de la máquina como alias y un numero hexadecimal aleatorio muy grande como nombre o identificador. El nombre del agente no es ya visible (excepto en la vista detallada del agente) y NO se puede cambiar. El Alias del agente se puede cambiar en cualquier momento, sin tener que preocuparse de la configuración del agente software, ya que el que se usa para identificar unívocamente al agente es el "nombre" de agente.
{{Warning|En caso instalar Pandora FMS en un entorno virtual, asegúrese de asignar un disco independiente con espacio reservado y una velocidad de acceso elevada. }}
 
  
{{Tip|Recomendamos encarecidamente el uso de discos '''SSD''', debido al alto impacto que estos tienen sobre la mejora del rendimiento.}}
+
== Configuración de agentes ==
  
{{Tip|Se recomienda un disco de 25GB, con un mínimo de 15GB. Si va a utilizar funcionalidades como el almacenamiento de logs o quiere guardar la información de más de un mes de antigüedad, debería utilizar la ''base de datos de histórico''}}
+
Toda la configuración y los parámetros de monitorización de los agentes software se encuentra en su fichero de configuración ''pandora_agent.conf''. Este se encuentra almacenado localmente en la máquina donde se encuentra instalado el agente software, por lo que toda modificación que queramos hacer en el agente deberá reflejarse en este fichero. Tiene una descripción detallada de todos los tokens de configuración del agente en el capítulo [https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Configuracion_Agentes "Configuración de los agentes de PandoraFMS"]. Aquí nos enfocaremos en los usos avanzados de algunos de ellos.
  
== Requisitos minimos de software ==
+
=== Configuración remota ===
  
<table cellpadding=6 cellspacing=0 border=1 style='background-color: #ECECEC'>
+
En la versión Enterprise es posible gestionar remotamente los ficheros de los agentes software desde la consola. Esto permite la administración centralizada de todos nuestros agentes software sin necesidad de acceder físicamente a los sistemas donde se encuentran instalados.
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>Software</th>
 
<th colspan=3 style=' border-color: #000000; text-align:center; background-color: #7CA12A; color:#FFFFFF'>Requisitos</th>
 
</tr>
 
<tr>
 
<th rowspan =2 style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>Sistema Operativo</th>
 
<td colspan=3 style=' text-align: center;'>
 
* Windows Server (2003 o superior)
 
* RedHat Enterprise (RHEL) 7.X
 
* CentOS 7.X (Recomendado)
 
* SLES 11 SP1 o superior
 
* OpenSUSE 11.X o superior
 
* Debian 5, 6, 7 o superior
 
* Ubuntu 11 o superior</td>
 
</tr>
 
<tr>
 
<td colspan=2 style=' text-align: center;'>
 
* FreeBSD 9.X y 10.X
 
* Solaris 10/OpenSolaris
 
</td>
 
<td style='text-align: center; background-color: #FCFFD2'> Pandora FMS no da soporte oficial en estas plataformas </td>
 
<tr>
 
<th style=' border-color: #000000; background-color: #7CA12A; color:#FFFFFF'>Permisos</th>
 
<td colspan=3 style='text-align: center;'>
 
* '''Server'''
 
  
- Linux: Se debe de ejecutar el servicio de Pandora FMS Server como permisos de root. Es posible la ejecución como usuario no root, siendo un procedimiento especial y diferente, más información en este enlace.
+
La configuración de cada agente se almacena en el servidor de Pandora FMS en dos ficheros: <md5>.conf y <md5>.md5, siendo <md5> el hash del nombre del agente. Estos ficheros son almacenados respectivamente en ''/var/spool/pandora/data_in/conf'' y ''/var/spool/pandora/data_in/md5''.
  
-Windows: Se debe de ejecutar el servicio de Pandora FMS Server como permisos de administrador.
+
Estos ficheros almacenados en el servidor son modificados por la propia consola de Pandora FMS cuando se edita la configuración de los agentes de forma remota.  
  
* '''Consola'''
+
<br>
 +
<center>
 +
[[image:Sw-agent.png|center|550px]]
 +
</center>
 +
<br>
  
Para poder utilizar la consola desde cualquier navegador web, Apache debe de tener permisos de lectura y ejecución sobre los ficheros de la consola.
+
Para habilitar la configuración remota solo hay que habilitar el parámetro correspondiente en el fichero de configuración local del agente en primer lugar. A partir de este momento todos los cambios deberán hacerse desde la consola de Pandora FMS:
  
Adicionalmente el fichero config.php debe de tener los permisos 600 (lectura y escritura para administrador/root).
+
remote_config 1
  
Es necesario a su vez que se tengan permisos de escritura en el directorio del servidor: /var/spool/pandora/
+
{{Tip|Una vez que la configuración remota del agente está activada, cualquier cambio que se haga localmente en el fichero de configuración se sobreescribirá por la configuración almacenada en la consola. Si quiere evitar que eso ocurra, pare el agente, modifique el fichero de configuración y deshabilite la configuración remota y levante el agente de nuevo.}}
  
* '''Agente'''
+
== Parámetros de configuración comunes ==
  
-Linux: Se debe de ejecutar el Agente Software de Pandora FMS Server como permisos de root para poder contar con todas las funcionalidades del agente, aunque también es posible ejecutarlo con otros permisos.
+
En la sección [[Pandora:Documentation es:Configuracion#Agentes_software_de_Pandora_FMS|Agentes software de Pandora FMS]] puede encontrar una explicación más detallada de la configuración del agente. En este apartado vamos a mencionar los parámetros más importantes para la configuración básica del agente.
  
-Windows: Se debe de ejecutar el Agente Software de Pandora FMS Server como permisos de administrador.
+
Los parámetros más usados son:
</tr>
 
<tr>
 
<th style=' border-color: #000000; background-color: #7CA12A; color:#FFFFFF'>Consola</th>
 
<td colspan=3 style='text-align: middle'>
 
* PHP 7.2 -> Para versiones de Pandora FMS 729 o superior.
 
* PHP 5 -> Para versiones de Pandora FMS 728 o inferior.
 
</td>
 
</tr>
 
<tr>
 
<th rowspan =2 style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>Navegadores    </th>
 
<td colspan=3 style='text-align: center'>
 
* Microsoft Edge
 
* Opera
 
* Chrome
 
* Firefox
 
</td>
 
</tr>
 
<tr>
 
<td colspan= 3 style='text-align:center; background-color: #FCFFD2'>
 
Se recomiendan Firefox y Chrome para hacer uso de gráficas interactivas y mapas de red.
 
</td>
 
</tr>
 
</table>
 
Existen funcionalidades del servidor de Pandora FMS que no están soportadas para Windows. Para conocer mejor dichas funcionalidades visite el siguiente [[Pandora:Documentation_es:Instalacion#Instalaci.C3.B3n_Consola_y_Servidor_en_Windows| enlace.]]
 
  
== Requisitos de Base de datos ==
+
*'''server_ip''': Dirección IP del servidor de Pandora FMS.
 +
*'''server_path''': Ruta de la carpeta incoming del servidor Pandora FMS. Por defecto ''/var/spool/pandora/data_in''.
 +
*'''temporal''': Carpeta temporal del agente software. Por defecto ''/tmp''.
 +
*'''logfile''': Archivo de log del agente software. Por defecto ''/var/log/pandora/pandora_agent.log''.
 +
*'''interval''': Intervalo de ejecución del agente, en segundos. Por defecto 300.
 +
*'''debug''': Habilita (1) el modo debug, para guardar los ficheros de datos XML en local y poder analizarlos.  Cuando está activado, no envía los XML al servidor y para la ejecución, para poder analizar el XML generado.
 +
*'''agent_name''': Nombre del agente. Por defecto se coge el hostname.
 +
*'''remote_config''': Activación de configuración remota. Por defecto 0 (desactivada). Solo Enterprise.
  
<table cellpadding=6 cellspacing=0 border=1 style='background-color: #ECECEC'>
+
Un ejemplo de los parámetros generales desde una '''configuración Unix''' sería:
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>BBDD</th>
 
<th style=' border-color: #000000; text-align:center; background-color: #7CA12A; color:#FFFFFF'>Detalles</th>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>MySQL Standard</th>
 
<td>
 
* Versión 5.5
 
* Para la instalación estándar se requiere un usuario con privilegios de creación en la BBDD de Pandora FMS. En caso de no poseer dicho usuario se podrá realizar una instalación manual.
 
</td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>Percona XTraDB</th>
 
<td>
 
La instalación de Percona XTraDB se recomienda para entornos amplios de Pandora FMS donde se vayan a crear más de 4000 agentes.
 
  
* Versión 5.5
+
server_ip      192.168.1.1
* Para la instalación estándar se requiere un usuario con privilegios de creación en la BBDD de Pandora FMS. En caso de no poseer dicho usuario se podrá realizar una instalación manual.
+
server_path    /var/spool/pandora/data_in
</td>
+
temporal        /tmp
</tr>
+
logfile        /var/log/pandora/pandora_agent.log
</table>
+
interval        300
 +
debug          0
 +
agent_name      box01
 +
server_port    41121
 +
transfer_mode  tentacle
 +
remote_config    1
  
 +
Un ejemplo de los parámetros generales desde una '''configuración Windows''' sería:
  
{{Warning|Necesitará tener todo esto ANTES de empezar a instalar Pandora FMS. Si no sabe cómo se instala un servidor MySQL, busque documentación al respecto sobre el proceso completo. No podemos proporcionar toda esa documentación ya que varía en cada sistema, distribución y/o versión.}}
+
server_ip      192.168.1.1
 +
server_path    /var/spool/pandora/data_in
 +
temporal        "C:\Program Files\pandora_agent\temp"
 +
logfile        "C:\Program Files\pandora_agent\pandora_agent.log"
 +
interval        300
 +
debug          0
 +
agent_name      box02
 +
server_port    41121
 +
transfer_mode  tentacle
 +
remote_config  1
  
== Requisitos de Servidor Satelite==
+
==Custom fields==
<table cellpadding=6 cellspacing=0 border=1 style='background-color: #ECECEC'>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>Satélite</th>
 
<th style=' border-color: #000000; text-align:center; background-color: #7CA12A; color:#FFFFFF'>Detalles</th>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>Hardware</th>
 
<td>
 
Igual que pasa con la instalación de Pandora FMS, los requisitos de hardware del sistema que albergará el servidor satélite dependerán del volumen de monitorización que deberá de realizar el mismo.
 
Para entornos de menos de 1000 agentes, se recomienda un mínimo de 1 núcleo a 2GHz y 1 GB de RAM.
 
</td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>Dependencias</th>
 
<td>
 
Las dependencias fundamentales son:
 
* Fping
 
* Nmap
 
* Perl
 
</td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>Binarios</th>
 
<td>
 
Las dependencias fundamentales son:
 
* Linux 32 Bits
 
* Linux 64 Bits
 
* Windows 32 Bits
 
* Windows 64 Bits
 
* Raspberry</td>
 
</tr>
 
</table>
 
  
== Requisitos de Puertos==
+
Los Campos personalizados permiten añadir información adicional al agente. Puedes crear campos personalizados en Resources > Custom fields.
 
 
<table cellpadding=6 cellspacing=0 border=1 style='background-color: #ECECEC'>
 
<tr>
 
<th style=' border-color: #000000; align:middle; background-color: #7CA12A; color:#FFFFFF'>Puerto</th>
 
<th style=' border-color: #000000; align:middle; background-color: #7CA12A; color:#FFFFFF'>Protocolo</th>
 
<th style=' border-color: #000000; align:middle; background-color: #7CA12A; color:#FFFFFF'>Servicio/Proceso</th>
 
<th style=' border-color: #000000; align:middle; background-color: #7CA12A; color:#FFFFFF'>Descripción</th>
 
<th style=' border-color: #000000; align:middle; background-color: #7CA12A; color:#FFFFFF'>Dirección</th>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>80 </th>
 
<td> TCP </td>
 
<td> Consola Pandora FMS </td>
 
<td> Administración de IP’s  </td>
 
<td> Navegador -> Servidor Consola Pandora FMS</td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>80 </th>
 
<td> TCP </td>
 
<td> Consola Pandora FMS (Comunicación API) </td>
 
<td> Utilización de funcionalidad API/CLI </td>
 
<td> Navegador/Servidor que inicie la consulta -> Servidor Consola Pandora FMS </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>80 </th>
 
<td> TCP </td>
 
<td> Metaconsola </td>
 
<td> Comunicación entre Metaconsola y Nodos </td>
 
<td> Servidor Metaconsola -> Servidor Nodo
 
 
 
Servidor Nodo -> Servidor Metaconsola </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>162 </th>
 
<td> UDP </td>
 
<td> Servidor Pandora FMS </td>
 
<td> Recepción de traps </td>
 
<td> Dispositivo generados de traps -> Servidor Pandora FMS </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>443 </th>
 
<td> TCP </td>
 
<td> Consola Pandora FMS (Comunicación API)</td>
 
<td> Utilización de funcionalidad API/CLI </td>
 
<td> Navegador/Servidor que inicie la consulta -> Servidor Consola Pandora FMS </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>443 </th>
 
<td> TCP </td>
 
<td> Metaconsola </td>
 
<td> Comunicación entre Metaconsola y Nodos </td>
 
<td> Servidor Metaconsola -> Servidor Nodo
 
 
 
Servidor Nodo -> Servidor Metaconsola </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>3306 </th>
 
<td> TCP </td>
 
<td> Consola y Servidor Pandora FMS </td>
 
<td> Conexión a la BBDD</td>
 
<td> Servidor Consola Pandora FMS -> Servidor BBDD Pandora FMS
 
 
 
Servidor Pandora FMS -> Servidor BBDD Pandora FMS </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>3306 </th>
 
<td> TCP </td>
 
<td> Metaconsola </td>
 
<td> Comunicación entre Metaconsola y Nodos BBDD </td>
 
<td> Servidor Metaconsola -> Servidor BBDD Nodos
 
 
 
Servidor Nodo -> Servidor BBDD Metaconsola </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>4444 </th>
 
<td> TCP </td>
 
<td> Servidor Pandora FMS </td>
 
<td> Conexión con Selenium GRID </td>
 
<td> Servidor Pandora FMS -> Servidor Selenium </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>9995 </th>
 
<td> UDP </td>
 
<td> Servidor Pandora FMS </td>
 
<td> Recepción de sondas Netflow </td>
 
<td> Servidor nfcapd -> Servidor Pandora FMS </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>10514 </th>
 
<td> TCP </td>
 
<td> Consola y Servidor Pandora FMS </td>
 
<td> Gestión de almacenamiento de Logs con Logstash</td>
 
<td> Servidor Logstash -> Servidor Pandora FMS </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>41121 </th>
 
<td> TCP </td>
 
<td> Agentes de Pandora FMS </td>
 
<td> Comunicación Tentacle </td>
 
<td> Servidor Agente Software -> Servidor Pandora FMS </td>
 
</tr>
 
<tr>
 
<th colspan= 5 style=' border-color: #000000; text-align:center; background-color: #7CA12A; color:#FFFFFF'> Se recomienda facilitar la comunicación desde el servidor y la consola de Pandora FMS a toda su red. Para monitorización estándar se necesitaría como mínimo:</th>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>80 </th>
 
<td> TCP </td>
 
<td> Servidor Pandora FMS </td>
 
<td> Monitorización web para servidor WUX </td>
 
<td> Servidor Pandora FMS -> Servidor a monitorizar </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>161 </th>
 
<td> UDP </td>
 
<td> Consola y Servidor Pandora FMS </td>
 
<td> Monitorización mediante SNMP Polling </td>
 
<td> Servidor Pandora FMS -> Servidor a monitorizar </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>443 </th>
 
<td> TCP </td>
 
<td> Servidor Pandora FMS </td>
 
<td> Monitorización web para servidor WUX </td>
 
<td> Servidor Pandora FMS -> Servidor a monitorizar </td>
 
</tr>
 
<tr>
 
<th style=' border-color: #000000; text-align:middle; background-color: #7CA12A; color:#FFFFFF'>ICMP </th>
 
<td> ICMP </td>
 
<td> Consola y Servidor Pandora FMS </td>
 
<td> Monitorización de red con chequeos ICMP </td>
 
<td> Servidor Pandora FMS -> Servidor a monitorizar </td>
 
</tr>
 
</table>
 
 
 
 
 
== Dependencias de paquetes ==
 
 
 
Pandora FMS depende en gran parte del sistema operativo Linux, pero además necesita paquetes adicionales que muchas veces no vienen instalados de forma predeterminada. En el proceso de instalación se detallan de forma específica esas dependencias para sistemas CentOS/RedHat, Debian/Ubuntu y OpenSUSE.
 
 
 
== Cuestiones previas a la instalación ==
 
 
 
=== MySQL ===
 
 
 
Necesitará un servidor MySQL operativo ANTES de instalar Pandora FMS, ya que el siguiente paso tras instalar los paquetes de Pandora FMS, es configurar el acceso a la base de datos. Si está instalando Pandora FMS a la vez que el servidor MySQL, recuerde que tiene que arrancar y configurar el acceso al usuario root de MySQL. Esto se hace mediante dos comandos:
 
 
 
1. Arrancar:
 
 
 
/etc/init.d/mysql start
 
 
 
2. Configurar el password de root
 
 
 
mysqladmin password <password>
 
 
 
En ''<password>'' se pondrá la contraseña que se establece para el usuario root. Este password nos lo pedirán durante todo el proceso de instalación de Pandora FMS.
 
 
 
=== Orden de instalación de Pandora FMS ===
 
 
 
Es recomendable seguir el siguiente orden al instalar Pandora FMS:
 
 
 
# Instalar la consola
 
# Instalar el servidor
 
 
 
La razón es que la base de datos MySQL que usa el servidor se crea en el proceso de configuración inicial de la consola, y por ello, para asegurar el correcto funcionamiento del servidor, es recomendable realizar primero el proceso de instalación completo de la consola.
 
 
 
No es necesario que la consola y el servidor de Pandora FMS se encuentren alojados en la misma máquina, ya que es posible indicar a ambos dónde se encuentra la base de datos MySQL mediante los correspondientes ficheros de configuración.
 
 
 
La instalación del agente la podemos realizar sin ningún problema antes o después de instalar el servidor y la consola ya que es independiente de estos y puede estar instalado en cualquier máquina.
 
 
 
=== Instalación de la versión Enterprise de  Pandora FMS ===
 
 
 
El orden adecuado para realizar una instalación Enterprise es el siguiente:
 
 
 
* Instale la consola OpenSource.
 
* Instale la consola de la versión Enterprise.
 
* Al acceder a la consola, aparecerán cuadros requiriendo que introduzca su código de licencia Enterprise.
 
 
 
La validación de la licencia solo se realiza en la consola. No en el servidor.
 
 
 
Podemos encontrar detalles sobre cómo introducir correctamente la licencia en la siguiente sección:  [[Pandora:Documentation es:Instalacion#Aplicaci.C3.B3n_de_la_licencia | Activar licencia v5.X]]
 
 
 
==== Requisitos específicos de la versión Enterprise ====
 
 
 
La instalación Enterprise de la consola web no tiene dependencias adicionales. La instalación del servidor Enterprise se realiza mediante un instalador en formato binario que contiene todas las dependencias necesarias.
 
 
 
== Instalación mediante la ISO o "Software appliance" ==
 
 
 
 
 
Descargaremos la imagen de CD desde la sección de descargas y grabaremos la ISO en un DVD, aunque también podemos arrancar el sistema desde ese fichero, si lo estamos haciendo desde un sistema de virtualización (XenServer, VMware, VirtualBox, etc). Disponemos de imágenes de CD de 32 y de 64 bits.
 
 
 
Nos aparece esta pantalla al inicio del arranque. Si no pulsamos ninguna tecla, se iniciará en 60 segundos el Live CD, o también podemos pulsar cualquier tecla, seleccionar la opción “Install Pandora FMS” y pulsar la tecla enter para comenzar la instalación.
 
  
 +
<br>
 
<center>
 
<center>
[[image:install_1.png|400px]]
+
[[image:customfields1.JPG|center|800px]]
</center>
 
 
 
El instalador gráfico nos guiará paso a paso por todo el proceso de instalación. Este instalador está en varios idiomas y sigue un proceso de instalación estándar usado por CentOS. Es un proceso muy sencillo, las dos secciones donde debemos prestar especial atención serán cuando nos pregunte por la password de superusuario (root) y cuando nos pregunte acerca del particionado:
 
 
 
<center>
 
[[image:install_2.png|500px]]]
 
<br>
 
Seleccionamos el idioma de preferencia
 
 
</center>
 
</center>
 
<br>
 
<br>
  
 
<center>
 
<center>
[[image:install_3.png|500px]]
+
[[image:Custom_fields2.png|center|800px]]
</center>
 
 
 
Seleccionamos y configuramos las opciones solicitadas," Fecha y Hora", " Teclado" y el "Destino de la Instalación".
 
Recordemos activar el dispositivo de red, si no tendremos que configurar manualmente cuando el sistema esté instalado.
 
 
 
<center>
 
[[image:install_4.png|500px]]
 
[[image:install_5.png|500px]]
 
<br>
 
Activamos la interfaz de red y, de forma opcional, podemos cambiar el hostname
 
 
</center>
 
</center>
 
<br>
 
<br>
  
Al hacer clic en destino de la instalación, comenzaremos con el particionamiento del disco.
+
{{Tip|<nowiki>Se podrán incluir enlaces en los custom fields usando las etiquetas [url]enlace[/url] o [url=enlace]Nombre web[/url].</nowiki>}}
  
<center>
+
A la hora de crear custom fields propios se podrán especificar los siguientes parámetros:
[[image:install_6.png|500px]]
 
<br>
 
Seleccionamos el disco donde vamos a instalar, y hacemos clic en Listo.
 
[[image:install_7.png|500px]]
 
<br>
 
</center>
 
  
Escogemos el particionamiento. Salvo que tengamos conocimientos avanzados, utilizaremos la opción "Haga clic para crearlos automáticamente".
+
* '''Name''': Nombre del campo personalizado.
 +
* '''Password type''': Los campos con este parámetro activado se mostrarán como asteriscos.
 +
* '''Display on front''': Con este parámetro activado, la información del campo personalizable se enseñará  en la vista general del agente, tal como se muestra a continuación:
  
<center>
 
<br>
 
[[image:install_8.png|500px]]
 
<br>
 
Verificar las particiones creadas y hacer clic en Listo.
 
<br>
 
[[image:install_9.png|500px]]
 
 
<br>
 
<br>
Hacer clic en Aceptar cambios.
 
<br>
 
[[image:install_10.png|500px]]
 
<br>
 
Clic en Empezar instalación.
 
<br>
 
[[image:install_11.png|500px]]
 
<br>
 
Aquí podemos asignar la contraseña de root y, de forma opcional, la creación de usuario.
 
</center>
 
 
Ahora tenemos que esperar hasta que termine la instalación y el sistema se reinicie.
 
 
== Instalación de la ISO con un pendrive USB ==
 
 
 
Puede instalar el appliance de Pandora FMS desde un pendrive USB. Para ello:
 
* Descargue la imagen ISO de Pandora FMS desde la sección de descargas.
 
* Descargue el programa ''rufus'' para preparar su pendrive para la instalación (https://rufus.akeo.ie/)
 
* Inserte el pendrive.
 
* Inicie el programa ''rufus''.
 
 
 
<center>
 
<center>
[[image:Usb_installation_1.PNG]]
+
[[image:Customfields3.JPG|center|800px]]
</center>
 
 
 
* Seleccione la imagen ISO de Pandora FMS.
 
 
 
<center>
 
[[image:Usb_installation_2.PNG]]
 
 
</center>
 
</center>
 +
<br>
  
* Presione START para iniciar la creación del USB de instalación de Pandora FMS
+
* '''Enabled combo''': Este parámetro permite activar la configuración de parámetros seleccionables desde un desplegable. Una vez activado, en la ventana de configuración del custom field correspondiente aparecerá un nuevo campo para introducir los valores del combo separados por comas.
  
<center>
+
{{Warning|Si se activa el parámetro "Enabled combo", "Password type" quedará inhabilitado.}}
[[image:Usb_installation_3.PNG]]
 
</center>
 
  
 +
<br>
 
<center>
 
<center>
[[image:Usb_installation_4.PNG]]
+
[[image:customfields2.JPG|center|800px]]
</center>
 
 
 
* Su dispositivo USB de instalación de Pandora FMS está listo
 
 
 
<center>
 
[[image:Usb_installation_5.PNG]]
 
 
</center>
 
</center>
 +
<br>
  
* Conecte el lápiz USB en la máquina donde desea instalar Pandora FMS.
+
Estos custom fields también se pueden pasar desde el fichero de configuración del agente, utilizando el siguiente token de configuración:
* Al iniciar su sistema, configure la BIOS para iniciar primero desde USB.
 
  
Debería ver la siguiente pantalla:
+
  custom_field1_name Model
 
+
  custom_field1_vale i386
<center>
 
[[image:Usb_installation_6.PNG]]
 
</center>
 
 
 
Seleccione "Installing from USB stick" y continúe la instalación como se indica en el capítulo anterior.
 
 
 
== Instalación bajo Docker ==
 
 
 
=== Ejecutar la última versión estable ===
 
Para ejecutar la última versión estable, simplemente escribiremos:
 
 
 
    curl -sSL http://pandorafms.org/getpandora  | sh
 
 
 
Una vez se esté ejecutando Pandora FMS, apunte su navegador a http://localhost/pandora_console y entre como usuario ''admin'' (la contraseña por defecto es ''pandora'').
 
 
 
{{Warning|Este comando requiere que Docker Engine esté instalado y funcionando correctamente.}}
 
 
 
=== Instalaciones avanzadas ===
 
 
 
Pandora FMS corre como un contenedor bajo entornos Docker. Se lanza de la siguiente forma:
 
    docker run -d --name pandorafms pandorafms/pandorafms:7
 
 
 
{{Tip|Las imágenes de docker se actualizan diariamente}}
 
 
 
{{Tip|La última versión estable es la 7.}}
 
 
 
== Instalación mediante la VM de VMWare ==
 
 
 
Aparte de distribuir la ISO de Centos, podemos encontrar en Sourceforge una imagen virtual que contiene ya instalada la ISO de Pandora FMS. Esta imagen esta testada con VMWare ESX, VMWare Workstation, Virtualbox e Hyper-V (para que funcione en Hyper-V es necesario exportar el .vmdx a .vdh mediante el ejecutable MVDC.exe disponible tras instalar Microsoft Virtual Machine Converter)
 
 
 
Para la instalación solo tendremos que ejecutar el .ovf para el caso del Virtualbox y VMWare Workstation. En el caso del ESX y de Hyper-V debemos "Importar VM" y seleccionar la imagen.
 
 
 
Las credenciales para esta máquina son:
 
 
 
''Usuario:'' ''' root'''
 
 
 
''Contraseña:'' ''' pandora'''
 
 
 
''Usuario Consola:'' ''' admin'''
 
 
 
''Contraseña:'' ''' pandora'''
 
 
 
''Usuario mysql:''''' root'''
 
 
 
''Contraseña:'' ''' pandora'''
 
 
 
{{Warning|Por favor, por seguridad cambie las contraseñas en su instalación lo antes posible.}}
 
 
 
== Instalación en SUSE (OpenSUSE, SLES) ==
 
 
 
=== Instalación automática con repo externo ===
 
 
 
Para poder optar por este método -el más rápido y cómodo-, tiene que tener acceso a internet desde el servidor donde va a instalar Pandora FMS. Todos los pasos se deben ejecutar como root (o bajo sudo).
 
 
 
'''Paso 1'''. Creamos los repositorios:
 
 
 
#'''SLES 12 SP3'''
 
zypper ar -f http://firefly.artica.es/suse PandoraFMS_Official_Repo
 
zypper ar -f http://download.opensuse.org/repositories/server:/php:/applications/SLE_12_SP3/ Php5
 
zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/perl/SLE_12_SP3/ Perl
 
 
 
wget --no-check-certificate https://dev.mysql.com/get/mysql80-community-release-sles12-1.noarch.rpm
 
rpm -i mysql80-community-release-sles12-1.noarch.rpm
 
 
 
#'''openSUSE (15.0)'''
 
zypper ar -f http://firefly.artica.es/suse PandoraFMS_Official_Repo
 
  zypper ar -f http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_Leap_15.0/ Php5
 
  zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_Leap_15.0/ Perl
 
 
   
 
   
wget --no-check-certificate https://dev.mysql.com/get/mysql80-community-release-sl15-1.noarch.rpm
+
Este ejemplo, permite usar un campo personalizado de agente definido en el .conf del agente.
rpm -ivh mysql80-community-release-sl15-1.noarch.rpm
 
  
 +
== Monitorización con agente software ==
  
'''Paso 2'''. Actualizar información del repositorio:
+
Los agentes software se encuentran en ejecución en los sistemas de los cuales recogen información. '''Cada uno de los chequeos''' que hacen sobre el sistema, como uso de CPU, memoria libre o espacio en disco, corresponde a un '''módulo'''.
 +
Por tanto, cada uno de estos módulos recoge un único dato en cada ejecución.
  
zypper refresh
+
También existen algunas ''directivas'' propias del agente que sirven para recoger ciertos datos directamente del sistema operativo (p.e: Uso de CPU, memoria, eventos, etc). Con estas directivas propias del agente, no hace falta ejecutar comandos. Consulte la documentación de configuración del agente para un detalle más completo.
  
'''Paso 3'''. Instalar Pandora FMS y algunas de sus dependencias:
+
<br>
 +
[[File:Agent-monitoring.png|500px|center]]
 +
<br>
  
  zypper install pandorafms_console pandorafms_server apache2-mod_php5
+
Los agentes software de Pandora FMS utilizan los comandos propios del sistema operativo en el que se encuentran instalados para obtener la información para cada uno de sus módulos. El servidor de datos (dataserver) de Pandora FMS procesa y almacena en la base de datos toda la información generada por los agentes software, que le hacen llegar sus datos en un fichero XML.
  
{{Warning|Para versiones de Pandora FMS 729 o superior, será necesario actualizar a PHP7 sus máquina para un correcto funcionamiento de la consola}}
+
<br>
 
+
[[File:Esquema-3.png|center|650px]]
=== Instalación manual por medio de RPM's ===
+
<center>''Esquema lógico de un agente/agente fisico''</center>
 +
<br>
  
==== Instalación previa de dependencias ====
+
En el archivo de configuración del agente los módulos están definidos con la siguiente estructura básica de texto:
  
Para esta documentación haremos uso del sistema '''Zypper''' de Suse que permite resolver dependencias y descargar los paquetes directamente de los repositorios en internet. Si no dispone de Zypper, instálelo, es mucho mas cómodo y rápido. Si esto no es posible, se pueden descargar las dependencias en formato .rpm de internet, pero el proceso es considerablemente más largo y trabajoso.
+
module_begin
 +
module_name ''your module name''
 +
module_type ''generic_data''
 +
module_exec ''your command''
 +
module_description ''your description''
 +
module_end
  
Hay que instalar las siguientes dependencias de paquetes, incluidas en el sistema SUSE:
+
Un caso real:
  
  apache2 apache2-mod_php5 php5 php5-gd php5-gettext php5-json php5-mbstring php5-ldap php5-mysql \
+
  module_begin
  php5-pear php5-snmp php5-zip nmap perl-DBD-mysql perl-DBI perl-Date-Calc perl-HTML-Parser \
+
  module_name Files data_in
  perl-HTML-Encoding perl-HTML-Tree perl-IO-Socket-inet6 perl-Socket6 perl-Mail-Sendmail perl-NetAddr-IP \
+
  module_type generic_data
  perl-TimeDate perl-XML-Simple perl-XML-Twig perl-libwww-perl mysql-client mysql-max mysql  \
+
  module_exec ls /var/spool/pandora/data_in | wc -l
  net-snmp xorg-x11-fonts-core php5-pear-db php5-curl php5-xmlrpc perl-SNMP graphviz graphviz-gd \
+
  module_description Number of files incoming dir
  perl-Encode-Locale perl-JSON
+
  module_end
  
{{Tip|OpenSUSE a diferencia de SLES no dispone del paquete mysql-max, se puede instalar el servidor Mysql standard en su lugar sin problema.}}
+
La línea ''module_exec'' contiene el comando que se ejecutará para recoger la información. El valor devuelto por esa ejecución será el dato que obtendrá el módulo y será mostrado en la monitorización. Otro comando para obtener información mediante ''module_exec'' sería:
  
{{Warning|Para versiones de Pandora FMS 729 o superior, será necesario instalar las dependencias de PHP7 para un correcto funcionamiento de la consola}}
+
module_exec vmstat 1 2 | tail -1 | awk '{ print $13 }'
  
Para poder instalar todas las dependencias hay que ejecutar:
+
Para recoger la información el agente ejecutará el comando en la shell igual que si lo hiciera un operador, por lo que ante la duda siempre es aconsejable lanzar el comando manualmente y analizar la salida:
  
  zypper install ..
+
  $> vmstat 1 2 | tail -1 | awk '{ print $13 }'
  
Seguido de toda la lista de paquetes indicada en el párrafo de arriba. Esto le dará una pantalla como la siguiente:
+
El valor devuelto por la ejecución será almacenado en el XML como dato del módulo. Se puede indicar cualquier cosa en la línea ''module_exec'' mientras la salida sea compatible con los valores aceptados por Pandora (numérico, alfanumérico o booleano), por lo que es posible indicar scripts personalizados:
  
  Obteniendo los datos del repositorio...
+
  module_exec myScript.pl --h 127.0.0.1 -v cpu
Leyendo los paquetes instalados...
 
perl-DBI ya está instalado.
 
perl-HTML-Parser ya está instalado.
 
perl-TimeDate ya está instalado.
 
perl-XML-Simple ya está instalado.
 
perl-libwww-perl ya está instalado.
 
xorg-x11-fonts-core ya está instalado.
 
Resolviendo dependencias...
 
 
Los siguientes paquetes NUEVOS van a ser instalados:
 
  apache2 apache2-mod_php5 apache2-prefork apache2-utils libapr1 libapr-util1 libdnet1
 
liblua5_1 libmm14 libmysqlclient15 mysql mysql-client mysql-Max net-snmp nmap
 
perl-Bit-Vector perl-Carp-Clan perl-Data-ShowTable perl-Date-Calc perl-Date-Manip
 
perl-DBD-mysql perl-HTML-Encoding perl-HTML-Tree perl-IO-Socket-inet6 perl-Socket6
 
perl-Mail-Sendmail perl-NetAddr-IP perl-XML-Twig perl-SNMP php5 php5-ctype php5-dom php5-gd
 
php5-gettext php5-hash php5-iconv php5-json php5-ldap php5-mbstring php5-mysql
 
php5-openssl php5-pdo php5-pear php5-snmp php5-sqlite php5-tokenizer php5-xmlreader
 
php5-xmlwriter php5-zip php5-zlib t1lib perl-JSON
 
 
Tamaño de descarga total: 19,1 M. Después de la operación, se utilizarán 55,9 M adicionales.
 
¿Desea continuar? [SI/no]:
 
  
Al pulsar SI, Zypper empieza a descargar los paquetes y a instalarlos.
+
De nuevo el agente ejecutaría el comando en la shell y recogería el resultado, igual que si un operador escribiera en la shell:
  
Cuando haya terminado, tendrá que instalar algunos paquetes extra. En OpenSuse no existen todas las dependencias que necesita Pandora FMS, por eso se proveen algunos RPM's adicionales para satisfacer estas dependencias [http://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/RPM%20SUSE/ desde el sitio web en Sourceforge], estos ficheros .rpm adicionales son los siguientes:
+
$> myScript.pl --h 127.0.0.1 -v cpu
  
perl-time-format php-pear-xml_rpc wmic smstools perl-HTML-Tree perl-XML-Twig
+
Cuando un agente software arranca y se ejecuta por primera vez, envía su fichero XML al servidor de Pandora FMS, que crea automáticamente el nuevo agente con todos sus módulos.
  
{{Tip|Los paquetes perl-HTML-Tree y perl-XML-Twig deben ser instalados manualmente.}}
+
=== Tipos de módulos ===
  
{{Tip|En Centos7 wmic ya no es un requisito explícito de pandorafms_server. Puede encontrar el binario en [https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/wmic_centOS7_x64.zip/download el sitio web en SourceForge].}}
+
A continuación se detallan los tipos de módulos posibles en agentes software en función del tipo de dato devuelto:
  
De manera opcional y sólo si va a usar Recon Server deberá instalar los siguientes paquetes:
+
* '''generic_data''': Datos numéricos y de coma flotante.
 +
* '''generic_data_inc''': Tipo de datos numéricos crecientes. Almacena la diferencia entre el dato anterior y el dato actual divida por el tiempo transcurrido en segundos, mostrando la tasa por segundo. Este tipo de datos se utiliza para contar el "nº de veces por segundo" de algo, como por ejemplo, entradas en un log/seg, bytes recibidos/seg, conexiones entrantes/seg, etc.
 +
* '''generic_data_inc_abs''': Tipo de datos numéricos crecientes absolutos. Almacena la diferencia entre el dato anterior y el dato actual, sin realizar la división entre los segundos transcurridos, por lo que el valor corresponderá al incremento total entre las dos ejecuciones, y no al incremento por segundo. Este tipo de datos se utiliza para contar el número de veces de algo, como por ejemplo, entradas en un log, bytes totales recibidos, cantidad de conexiones entrantes, etc.
 +
* '''generic_proc''': Tipo de datos booleano. Donde un valor 0 significa Falso o incorrecto, y valores por encima de cero significan Cierto o correcto. Los tipos ''generic_proc'' traen preconfigurados los estados crítico (0) y correcto (1 o superior).
 +
* '''generic_data_string''': Tipo de datos alfanuméricos (texto).
 +
* '''async_data''': Tipo de datos numéricos asíncronos. Igual que generic_data pero para datos asíncronos, que sólo se actualizan cuando existe un cambio. Los tipos de datos asíncronos no tienen una periodicidad definida de cuando podemos obtener datos.
 +
* '''async_string''': Tipo de datos alfanuméricos asíncronos. Igual que generic_string pero para datos asíncronos, que sólo se actualizan cuando existe un cambio. Es el tipo de datos que deberíamos usar para monitorizar búsquedas dentro de logs, o visores de eventos, ya que podemos tener un dato por segundo o no tener uno en varios días.
 +
* '''async_proc''': Tipo de datos booleanos asíncronos. Igual que generic_proc pero para datos asíncronos, que sólo se actualizan cuando existe un cambio.
 +
* '''Modulo de imagen''': Utilizan como base un módulo de tipo cadena de texto (generic_data_string o async_string). Si el dato que contiene el módulo es una imagen codificada en base64, es decir, si parte de la cadena de texto tiene "data:image", será identificado como una imagen y habilitará en las vistas que lo listen un enlace a una ventana para visualizar la imagen, además de mostrarse en su respectivo histórico un contenido de las distintas imágenes que formarían las cadenas almacenadas.
  
perl-net-traceroute perl-net-traceroute-pureperl xprobe2
+
El agente software ya viene configurado para enviar ciertos datos del sistema en el que se instala; éstos suelen ser (dependiendo de la versión):
  
Todos estos ficheros pueden encontrarse en formato RPM en el sitio oficial de distribución de software de Pandora FMS, en un apartado de dependencias especiales para OpenSUSE.
+
* CPU de sistema.
 +
* Espacio libre en disco.
 +
* Memoria libre.
 +
* Monitor del estado de programas y/o servicios.
  
{{Tip|Asegúrese de descargar los RPM's adecuados para la distribución OpenSUSE.}}
+
=== Intervalos en los módulos locales  ===
  
Para instalarlos colóquelos en un directorio, por ejemplo ''/tmp/adicional''. En ese directorio ejecute el comando:
+
Los módulos locales (o de agente software) tienen todos como "base" el intervalo de su agente. Es decir, si un agente tiene un intervalo de 5 minutos (300 segundos), todos los módulos tendrán por defecto un intervalo de 5 minutos. Podrá hacer que un módulo tenga un intervalo MAYOR, pero nunca podrá hacer que sea menor que el intervalo base del agente, ya que el intervalo de un módulo se define como un multiplicador del intervalo del agente.
  
rpm -i *.rpm
+
Si un agente tiene un intervalo de 300 y un modulo de ese agente tiene la configuración siguiente:
  
==== Instalacion del servidor ====
+
module_interval 2
  
Hay que ejecutar:
+
El módulo del intervalo sera de 300x2. El parámetro module_interval solo admite valores enteros mayores de cero.
  
rpm -i pandorafms_server-7.0NG-1.noarch.rpm
+
=== Interfaz de creación de módulos ===
  
==== Instalación de la consola ====
+
(Sólo Enterprise)
  
De igual manera, ejecute la herramienta de instalación de paquetes ''rpm'' para instalar el paquete que contiene la consola de Pandora FMS:
+
En la versión Enterprise es posible crear y gestionar módulos locales de los agentes software si tienen el parámetro ''remote_config 1''. En caso de no disponer de la versión Enterprise, todas estas operaciones deberán hacerse directamente sobre el fichero de configuración del agente software, localmente en el sistema donde el agente se encuentra instalado.
  
rpm -i pandorafms_console-7.0NG-1.noarch.rpm
+
La creación de módulos locales en la consola se realiza mediante un formulario donde, además de la configuración común de todo módulo (umbrales, tipo, grupo...). Se dispone de una caja de texto donde especificar los datos de configuración que irán en el fichero de configuración del agente software.
  
=== Desinstalación de Pandora FMS ===
+
''Creación de un modulo con el remote config del agente habilitado:''
 +
<center>
 +
<br><br>
 +
[[Image:local_module_editor.png|center|800px]]
 +
<br><br>
 +
</center>
  
Podemos desinstalar cualquiera de los componentes de Pandora FMS con los siguientes comandos:
+
Junto a esa caja de texto hay '''dos botones''', uno para '''crear una estructura básica''' de configuración y otro para '''comprobar que los datos de configuración son correctos'''. Esta comprobación se refiere a los parámetros básicos, comprobando que comience por module_begin, termine por module_end, tenga un tipo válido y un nombre. Otros parámetros podrían estar configurados erróneamente y no sería detectado.
  
rpm -e pandorafms_console
+
'''El campo nombre y el combo tipo están ligados a los parámetros module_name y module_type de los datos de configuración'''. Por lo que al cambiar el nombre del módulo en el campo nombre, se cambiará automáticamente el nombre en la configuración y viceversa. Igualmente al seleccionar un tipo en el combo se cambiará el tipo de los datos de configuración y cuando se escriba un tipo correctamente en la caja de configuración se seleccionará el mismo en el combo.
rpm -e pandorafms_server
 
  
La base de datos de Pandora FMS _no_ se desinstala al desinstalar ninguno de los paquetes de Pandora FMS. Solo se eliminan todos los ficheros (incluidos ficheros de configuración) de cada paquete, pero la base de datos ha de borrarse a mano.
+
Cuando un módulo es cargado desde un componente local, puede tener macros. Si tiene macros, la caja de configuración estará oculta y aparecerá un campo por cada macro. Esta característica se explica en profundidad en la sección de [[Pandora:Documentation_es:Plantillas_y_Componentes#Macros|Plantillas y componentes]]
  
== Instalación en Red Hat Enterprise Linux / CentOS / Fedora ==
+
=== Monitorización condicionada ===
 +
==== Postcondiciones ====
  
La instalación es muy parecida a la de SUSE. Nótese que los paquetes RPM de RHEL/CentOS/Fedora no son los mismos que los de SUSE, dado que los RPM's de SUSE usan una versión diferente de empaquetado, con un algoritmo de compresión diferente y los hace incompatibles.
+
El agente software de Pandora FMS soporta la ejecución de comandos y scripts a modo de postcondiciones. Esto quiere decir que se podrían '''realizar acciones dependiendo del valor obtenido en la ejecución del módulo'''.
  
Lo primero de todo, deberá activar ciertos repositorios oficiales de Redhat/Centos/Fedora para realizar la instalación de dependencias. Los repositorios a activar son EXTRAS, UPDATES y la instalación adicional del repositorio EPEL.
+
Mediante el parámetro ''module_condition'' indicaremos un valor o rango de valores y la ejecución a realizar en caso de que el módulo se encuentre entre estos valores:
  
Edite /etc/yum.repos.d/CentOS-Base.repo y deje activos los repos EXTRAS, and UPDATES. Generalmente se verán como esto:
+
module_begin
 +
module_name CPU_Usage_Condition
 +
module_type generic_data
 +
module_exec get_cpu_usage.pl
 +
module_condition < 20 add_processes.sh
 +
module_end
  
[updates]
+
Se pueden especificar múltiples condiciones para un mismo módulo. Por ejemplo:
name=CentOS-$releasever - Updates
 
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
 
gpgcheck=0
 
 
[extras]
 
name=CentOS-$releasever - Extras
 
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
 
gpgcheck=0
 
  
Añada el repositorio EPEL:
+
module_begin
 +
module_name CPU_Usage_Condition
 +
module_type generic_data
 +
module_exec get_cpu_usage.pl
 +
module_condition (90, 100) remove_processes.sh
 +
module_condition < 20 add_processes.sh
 +
module_end
  
[EPEL]
+
Ejemplos:
Name = EPEL
 
baseurl = http://dl.fedoraproject.org/pub/epel/$releasever/$basearch/
 
enabled = 1
 
gpgcheck = 0
 
  
Y actualice la información de sus repositorios:
+
Ejecución cuando el valor del módulo es menor de 20:
  
  yum makecache
+
  module_begin
 +
module_name CPU_Usage_Condition
 +
module_type generic_data
 +
module_exec get_cpu_usage.pl
 +
module_condition < 20 add_processes.sh
 +
module_end
  
=== Instalación mediante el repositorio oficial de Pandora FMS ===
+
En el ejemplo anterior, supongamos que el script get_cpu_usage.pl devuelve 18, en este caso el agente software ejecutará el script add_proceses.sh.
  
Para poder realizar esta instalación, necesitaremos YUM y acceso a internet. Primero creamos el repositorio oficial de Pandora FMS para CentOS 7. Este repositorio también puede ser usado en RHEL7.
+
Ejecución con dos postcondiciones:
  
  vi /etc/yum.repos.d/pandorafms.repo
+
  module_begin
 +
module_name CPU_Usage_Condition
 +
module_type generic_data
 +
module_exec get_cpu_usage.pl
 +
module_condition < 10 start_new_server.sh
 +
module_condition < 20 add_processes.sh
 +
module_end
  
Añada este contenido
+
Supongamos que el dato es 15, en este caso el agente sólo ejecutará el script add_processes.sh. Si el valor del dato fuera 6, entonces el agente ejecutaría los dos scripts start_new_server.sh y add_processes.sh
  
[artica_pandorafms]
+
==== Precondiciones ====
name=CentOS7 - PandoraFMS official repo
 
baseurl=http://firefly.artica.es/centos7
 
gpgcheck=0
 
enabled=1
 
  
Refresque sus repositorios:
+
El parámetro '''module_precondition''' permite evaluar una condición antes de la ejecución del módulo y con el resultado decidir si el módulo se debe ejecutar o no. La definición en el archivo de configuración es:
  
  yum makecache
+
  module_begin
 +
module_name CPU_Usage
 +
module_type generic_data
 +
module_precondition > 10 number_active_processes.sh
 +
module_exec get_cpu_usage.pl
 +
module_end
  
E instalamos Pandora FMS, junto con el servidor mysql (es una dependencia opcional, pero necesitaremos un servidor MySQL si no tiene uno ya instalado o accesible en otro servidor).
+
Se pueden especificar múltiples precondiciones para un mismo módulo:
  
  yum install pandorafms_console pandorafms_server mariadb-server
+
  module_begin
 +
module_name CPU_Usage
 +
module_type generic_data
 +
module_precondition > 10 number_active_processes.sh
 +
module_precondition = 1 important_service_enabled.sh
 +
module_exec get_cpu_usage.pl
 +
module_end
  
Descargaremos todos los paquetes necesarios y dejaremos el sistema listo para su configuración y uso.
+
En el ejemplo superior tenemos dos precondiciones. Para que el módulo se ejecute se deben cumplir todas las precondiciones, en este caso dos, por ello el módulo sólo se ejecutara cuando el script number_active_processes.sh devuelva un número mayor que 10 y el script important_service_enabled.sh devuelva un 1.
  
{{Tip|Mariadb-server sustituye al paquete mysql-server, pero depende de la distro que utilice (no es lo mismo CentOS que RHEL, tendrá que utilizar una u otra, siendo las diferencias mínimas de uso con Pandora FMS).}}
+
Ejecución del módulo sólo cuando la precondición es mayor de 10:
  
=== Instalación manual, mediante paquetes RPM ===
+
module_begin
 +
module_name CPU_Usage
 +
module_type generic_data
 +
module_precondition > 10 number_active_processes.sh
 +
module_exec get_cpu_usage.pl
 +
module_end
  
La mayoría de las dependencias deberían resolverse usando YUM u otra herramienta automática. Todas las dependencias están marcadas como paquetes necesarios en la definición RPM. Si ya ha configurado en el paso anterior los repositorios necesarios, esa operación será casi automática.
+
En el ejemplo anterior primero se ejecuta el script 'number_active_processes.sh' si el valor devuelto es mayor de 10 entonces se ejecuta el script del módulo. Si el valor devuelto es menor de 10 el módulo no se ejecutará.
  
En el caso de CentOS será necesario instalar las siguientes dependencias:
+
=== Monitorización intensiva ===
  
yum install php php-gd graphviz php-mysql php-pear-DB php-zip php-mbstring php-ldap \
+
Existen ciertos módulos que tienen una importancia especial, tales como procesos o servicios críticos en ejecución. Para poder tener una monitorización más controlada de estos casos existe la monitorización intensiva.
php-snmp php-ldap php-common make perl-CPAN perl-HTML-Tree perl-DBI perl-DBD-mysql \
 
perl-libwww-perl perl-XML-Simple perl-XML-Twig perl-XML-SAX perl-NetAddr-IP \
 
net-snmp perl-SNMP net-tools perl-IO-Socket-INET6 perl-Socket6 nmap sudo xprobe2 \
 
perl-Encode-Locale
 
  
Puede que si usa Fedora o Redhat los nombres de algunos paquetes sean ligeramente diferentes, así que usaremos estos añadidos a los anteriores:
+
Consiste en avisar en un intervalo más corto de que ha aparecido un problema sin necesidad de reducir el intervalo general del agente.
  
yum install net-snmp-perl perl-JSON perl-NetAddr-IP perl-Socket6 \
+
El agente software presenta estos dos parámetros de configuración:
perl-Time-HiRes perl-XML-Twig perl-IO-Socket-INET6
+
* '''interval''': Tiempo de muestreo del agente en segundos. Es el intervalo general para todos los módulos locales. Parámetro obligatorio.
 +
* '''intensive_interval''': Tiempo en el cual se nos avisará de un problema en los módulos especialmente críticos. Parámetro opcional.
  
Algunas dependencias (como wmic o xprobe2) no están en los repositorios oficiales RHEL, sin embargo están disponibles en nuestra página de descarga de Sourceforge en la seccion de "Tools and Dependecies [https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29].
+
A nivel de módulo, se utilizará el parámetro ''module_intensive_condition'' para determinar bajo qué condición se notificará del estado del módulo en el tiempo definido por el intervalo intensivo en ''intensive_interval''.
  
Mientras tanto, para Red Hat Enterprise Linux 6 bastará con instalar estas otras, pues varios de los paquetes necesarios para la consola y el servidor vienen incluidos en el php y el perl y dependencias de serie:
+
* '''module_intensive_condition = 0''': Si el módulo obtiene como resultado el valor indicado en este parámetro (en este caso 0), se notificará en el intervalo intensivo definido en el agente.
  
yum install php php-common graphviz
+
En el siguiente ejemplo mostramos la configuración de un agente para el que se quiere avisar en 10 segundos si el proceso sshd ha dejado de funcionar:
 
yum install perl-HTML-Tree perl-DBD-mysql perl-XML-Simple perl-XML-SAX \
 
perl-NetAddr-IP net-snmp perl-SNMP net-tools perl-IO-Socket-INET6 perl-Socket6 nmap wmic xprobe2
 
  
{{Warning|Si usa una versión inferior a RHEL6, puede ocurrir que algunas dependencias tengan otro nombre. Para el caso de perl-SNMP, en CentOS5, RHEL5, etc, la dependencia a obtener sería net-snmp-perl.}}
+
intensive_interval 10
 +
interval 300
  
{{Warning|Para versiones de Pandora FMS 729 o superior, será necesario instalar las dependencias de PHP7 para un correcto funcionamiento de la consola}}
+
module_begin
 +
module_name SSH Daemon
 +
module_type generic_data
 +
module exec ps aux | grep sshd | grep -v grep | wc -l
 +
module_intensive_condition = 0
 +
module_end
  
Para instalar el RPM basta usar el comando rpm -i o directamente el comando yum, por ejemplo:
+
Si el servicio se cae, se le notificará en los próximos 10 segundos, pero si el servicio continúa funcionando se notificará cada 5 minutos de forma normal.
  
rpm -i pandorafms_server-x.x-x.noarch
+
=== Monitorización programada ===
  
o
+
El agente software soporta la definición de módulos programados que se ejecutan en los instantes definidos. La sintaxis usada es la misma que la del fichero crontab. Un ejemplo de la definición del módulo sería:
  
  yum install pandorafms_server-x.x-x.noarch
+
  module_begin
 +
module_name crontab
 +
module_type generic_data
 +
module_exec script.sh
 +
module_crontab * 12-15 * * 1
 +
module_end
  
Si existiera algún problema a la hora de acceder a la página de instalación de la consola, es conveniente comprobar si SELinux está activado, y en tal caso desactivarlo siguiendo los procedimientos del [[Pandora:FAQ_ES#No_puedo_acceder_a_la_p.C3.A1gina_de_instalaci.C3.B3n_de_Pandora_Console_en_CentOS.|FAQ.]]
+
En este ejemplo, el módulo se ejecuta todos los Lunes entre las 12 y las 15 horas.
  
{{Warning|RHEL/CentOS 5.x por defecto usa PHP 5.1 y si este no es compatible con Pandora FMS, se deberá usar PHP 5.2 o superior. Probado con php55w. Para versiones de Pandora FMS 729 o superior, se deberá de usar PHP 7.2 }}
+
Si por ejemplo queremos ejecutar el módulo, a la hora y 10 minutos la definición del módulo sería:
  
Para ello se recomienda usar el siguiente repositorio para CentOS6/RHEL6, que contiene PHP 5.6:
+
module_begin
 +
module_name crontab
 +
module_type generic_data
 +
module_exec script.sh
 +
module_crontab 10 * * * *
 +
module_end
  
[remi]
+
{{Tip|Hay que tener en cuenta que si utilizamos un intervalo que haga que el módulo no reporte datos, este módulo se pondrá en estado "desconocido". Utilice módulos asíncronos para estos casos.}}
name=Les RPM de remi pour Enterprise Linux 6 - $basearch
 
#baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/
 
mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror
 
enabled=1
 
gpgcheck=1
 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
 
  
 +
== Monitorización específica para Windows ==
  
[remi-php56]
+
El agente software para sistemas Windows tiene funcionalidades específicas para esta plataforma que ayudan a realizar la monitorización de una forma más sencilla. A continuación explicaremos las funcionalidades y aplicaremos unos ejemplos de las mismas.
name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 6 - $basearch
 
#baseurl=http://rpms.famillecollet.com/enterprise/6/php56/$basearch/
 
mirrorlist=http://rpms.famillecollet.com/enterprise/6/php56/mirror
 
# WARNING: If you enable this repository, you must also enable "remi"
 
enabled=1
 
gpgcheck=1
 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
 
  
Puede encontrar la clave GPG para el repositorio remi en: http://rpms.remirepo.net/RPM-GPG-KEY-remi
+
=== Monitorización de procesos y watchdog de procesos ===
  
=== Desinstalación de Pandora en CentOS/RHEL ===
+
==== Monitorización de procesos ====
  
Bastará con ejecutar la orden
+
El parámetro '''module_proc''' comprueba si un determinado nombre de proceso está operando en esta máquina. La definición del módulo sería:
  
  yum remove pandorafms_console pandorafms_server
+
  module_begin
 +
module_name CMDProcess
 +
module_type generic_proc
 +
module_proc cmd.exe
 +
module_description Process Command line
 +
module_end
  
Si ha instalado MySQL y ya no lo necesita, puede borrarlo también con el mismo comando:
+
Si el nombre del proceso contiene espacios en blanco '''no use «" "»'''. El nombre del proceso debe ser el mismo que muestra el Administrador de Tareas (taskmngr) de Windows incluyendo la extensión .exe, es importante '''respetar mayúsculas y las minúsculas'''.
  
yum remove mysql-server
+
Si queremos que el agente software de Windows nos avise inmediatamente cuando un proceso deja de funcionar tenemos que añadir el parámetro '''module_async yes''', la definición del módulo quedaría así:
  
== Instalación en Debian/Ubuntu ==
+
module_begin
 +
module_name CMDProcess
 +
module_type generic_proc
 +
module_proc cmd.exe
 +
module_async yes
 +
module_description Process Command line
 +
module_end
  
Se recomienda instalar Pandora FMS sobre '''una versión 10.04 o superior'''. En la versión Estable de Debian (Squeeze) existen problemas con algunas librerías y aplicaciones que necesita Pandora FMS para algunos componentes. La librería LWP de Debian no implementa ciertos métodos para SSL, y esto es necesario para los módulos Enteprise de monitorización WEB. Puede solucionarlo instalando una versión más nueva de LWP mediante CPAN (método manual).
+
====Watchdog sobre procesos====
  
A la hora de instalar necesita añadir las repositorios oficiales de cada versión. Por ejemplo, para instalar los paquetes libencode-locale-perl y snmp-mibs-downloader en una Debian Squeeze, necesitará añadir los siguientes repositorios al fichero /etc/apt/sources.list
+
La funcionalidad de watchdog del agente software de Pandora FMS para Windows permite actuar inmediatamente ante la caída de un proceso, levantándolo de nuevo. El watchdog  '''sólo funciona si el módulo es asíncrono'''.
  
deb http://ftp.us.debian.org/debian/ squeeze main non-free
+
La definición de un módulo con watchdog sería parecida a esta:
deb http://ftp.at.debian.org/debian-cd/ squeeze-backports main
 
  
De manera análoga, para la versión Debian Wheezy:
+
module_begin
 +
module_name Notepad
 +
module_type generic_data
 +
module_proc notepad.exe
 +
module_description Notepad
 +
module_async yes
 +
module_watchdog yes
 +
module_user_session yes
 +
module_start_command c:\windows\notepad.exe
 +
module_startdelay 3000
 +
module_retrydelay 2000
 +
module_retries 5
 +
module_end
  
deb http://ftp.debian.org/debian/dists/Debian9.6/ wheezy-backports main
+
En el ejemplo anterior, el watchdog se activará cada vez que el proceso notepad.exe esté desactivado y se ejecutará el comando c:\windows\notepad.exe. Además, si vemos los otros parámetros de configuración del watchdog veremos que la reactivación del proceso se intentará 5 veces con un tiempo de espera inicial de 3 segundos y con un tiempo de espera entre reintentos de 2 segundos. En este ejemplo, el proceso notepad.exe se lanzará en la sesión del usuario.
deb http://ftp.us.debian.org/debian/ wheezy main non-free
 
  
Una vez añadidos necesita ejecutar: apt-get update para aplicar los cambios
+
=== Monitorización de servicios y watchdog de servicios ===
  
Debido a la forma en que gestiona Debian/Ubuntu los paquetes, es más que recomendable instalar Pandora FMS en un sistema que tenga acceso a los repositorios online de paquetes (o a una réplica en la red local). Una dependencia en Debian puede acarrear decenas de sub-dependencias, por lo que preparar una lista exacta de paquetes necesarios para la instalación "offline" puede ser una tarea muy compleja.
+
====Monitorización de servicios====
  
=== Instalación usando los repositorios privados de Artica ===
+
El parámetro '''module_service''' comprueba si un determinado servicio se está ejecutando en la máquina. La definición de un módulo usando este parámetro sería:
  
Existe un método cómodo y rápido, que es agregando el repositorio privado de Ártica, que contiene los paquetes necesarios para la instalación de Pandora FMS, los cuales son válidos para Debian y Ubuntu:
+
module_begin
 +
module_name Service_Dhcp
 +
module_type generic_proc
 +
module_service Dhcp
 +
module_description Service DHCP Client
 +
module_end
  
Editamos el fichero ''/etc/apt/sources.list'' y agregue la siguiente linea:
+
Si el nombre del servicio contiene espacios en blanco no use «" "». Para encontrar el nombre del servicio puede mirar el que aparece como Service Name en el gestor de servicios de Windows, es importante '''respetar mayúsculas y las minúsculas'''.
  
Para Debian Squeeze:
+
Igual que con los procesos si queremos que el agente software de Pandora nos avise inmediatamente cuando un servicio se cae tenemos que añadir el parámetro '''module_async yes''', la definición del módulo quedaría así:
  
  deb http://firefly.artica.es/debian/squeeze /
+
  module_begin
 +
module_name Service_Dhcp
 +
module_type generic_proc
 +
module_service Dhcp
 +
module_description Service DHCP Client
 +
module_async yes
 +
module_end
  
Para Debian Wheezy:
+
====Watchdog de servicios====
  
deb http://firefly.artica.es/debian/wheezy /
+
Igual que para los procesos, para los servicios existe un modo watchdog que permite inicializar un servicio cuando está caido. Un ejemplo de definición de módulo con watchdog para servicios sería:
  
Ejecutamos apt-get update como root (o sudo)
+
module_begin
 +
module_name ServiceSched
 +
module_type generic_proc
 +
module_service Schedule
 +
module_description Service Task scheduler
 +
module_async yes
 +
module_watchdog yes
 +
module_end
  
apt-get update
+
La definición del watchdog para servicios no requiere ningún parámetro adicional como el de procesos, porque esa información ya está dentro de la definición del servicio.
  
Instalamos Pandora FMS con apt-get:
+
=== Monitorización de recursos básicos ===
  
<pre>
+
Este apartado muestra cómo monitorizar los recursos básicos de una máquina Windows.
[email protected]:~# apt-get install pandorafms-console pandorafms-server
 
Reading package lists... Done
 
Building dependency tree     
 
Reading state information... Done
 
The following extra packages will be installed:
 
  apache2-mpm-prefork apache2-utils apache2.2-common dbconfig-common graphviz libapache2-mod-php5 libcgraph5 libcurl3 libgd2-xpm libgvpr1
 
  libio-socket-inet6-perl libnetaddr-ip-perl libonig2 libqdbm14 libsnmp-perl libsocket6-perl libssh2-1 libtime-format-perl
 
  libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl libxml-simple-perl nmap php-db php-gettext php-pear php5 php5-cli php5-common
 
  php5-curl php5-gd php5-ldap php5-mysql php5-snmp php5-suhosin php5-xmlrpc smistrip snmp snmp-mibs-downloader snmpd xprobe
 
Suggested packages:
 
  apache2-doc apache2-suexec apache2-suexec-custom graphviz-doc libgd-tools php5-dev
 
The following packages will be REMOVED:
 
  libgd2-noxpm
 
The following NEW packages will be installed:
 
  apache2-mpm-prefork apache2-utils apache2.2-common dbconfig-common graphviz libapache2-mod-php5 libcgraph5 libcurl3 libgd2-xpm libgvpr1
 
  libio-socket-inet6-perl libnetaddr-ip-perl libonig2 libqdbm14 libsnmp-perl libsocket6-perl libssh2-1 libtime-format-perl
 
  libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl libxml-simple-perl nmap pandorafms-agent-unix pandorafms-console
 
  pandorafms-server php-db php-gettext php-pear php5 php5-cli php5-common php5-curl php5-gd php5-ldap php5-mysql php5-snmp php5-suhosin php5-xmlrpc
 
  smistrip snmp snmp-mibs-downloader snmpd xprobe
 
0 upgraded, 44 newly installed, 1 to remove and 0 not upgraded.
 
Need to get 40.9 MB of archives.
 
After this operation, 90.8 MB of additional disk space will be used.
 
Do you want to continue [Y/n]? y
 
WARNING: The following packages cannot be authenticated!
 
  pandorafms-console pandorafms-server
 
Install these packages without verification [y/N]? y
 
</pre>
 
  
{{Warning|Para versiones de Pandora FMS 729 o superior, es necesario instalar las dependencias de PHP7 para un correcto funcionamiento de la consola}}
+
==== Monitorizando la CPU ====
  
=== Instalación manual, mediante paquetes DEB ===
+
El parámetro '''module_cpuusage''' devuelve el porcentaje de CPU en uso.
  
En Debian/Ubuntu las dependencias son las siguientes:
+
Es posible monitorizar las cpu por id con la siguiente definición de módulo:
  
Servidor:
+
module_begin
 +
module_name CPU_1
 +
module_type generic_data
 +
module_cpuusage 1
 +
module_description CPU usage for CPU 1
 +
module_end
  
snmp snmpd libtime-format-perl libxml-simple-perl libxml-twig-perl libdbi-perl libnetaddr-ip-perl
+
También puede monitorizar la media de uso de todas las CPUs del sistema con el módulo:
libhtml-parser-perl wmi-client xprobe2 nmap libmail-sendmail-perl traceroute
 
libio-socket-inet6-perl libhtml-tree-perl libsnmp-perl snmp-mibs-downloader libio-socket-multicast-perl
 
libsnmp-perl libjson-perl libencode-locale-perl
 
  
 +
module_begin
 +
module_name CPU Usage
 +
module_type generic_data
 +
module_cpuusage all
 +
module_description CPU Usage for all system
 +
module_end
  
{{Tip|Si el paquete wmi-client no se encuentra en los repositorios, puede descargarlo desde [http://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20(All%20versions)/DEB%20Debian,%20Ubuntu/ la web de sourceforge de Pandora FMS]}}
+
==== Monitorizando la memoria ====
  
{{Tip|Si instala en una Debian Squeeze, necesitará añadir el repositorio "Non-Free" para tener acceso al paquete snmp-mibs-downloader.}}
+
Para monitorizar la memoria existen dos parámetros: '''module_freememory''', que devuelve la cantidad de memoria libre del sistema, y '''module_freepercentmemory''',  que devuelve el porcentaje de memoria libre del sistema.
  
Consola
+
Un módulo de ejemplo usando '''module_freememory''' sería:
  
  php5 libapache2-mod-php5 apache2 mysql-server php5-gd php5-mysql php-pear php5-snmp php-db php-gettext
+
  module_begin
  graphviz mysql-client php5-curl php5-xmlrpc php5-ldap dbconfig-common
+
module_name FreeMemory
 +
module_type generic_data
 +
module_freememory
 +
module_description Non-used memory on system
 +
  module_end
  
{{Warning|Para versiones de Pandora FMS 729 o superior, será necesario instalar las dependencias de PHP 7 para un correcto funcionamiento de la consola}}
+
Un módulo de ejemplo usando '''module_freepercentmemory''' sería:
  
Para instalar el paquete del Servidor o de la consola, previamente hay que satisfacer las dependencias, eso se hace instalando todos los paquetes antes mencionados con el comando ''apt-get'', teniendo privilegios de root, por ejemplo:
+
module_begin
 +
module_name FreePercentMemory
 +
module_type generic_data
 +
module_freepercentmemory
 +
module_end
  
apt-get install  snmp snmpd libtime-format-perl libxml-simple-perl libxml-twig-perl libdbi-perl
+
==== Monitorizando el disco ====
libnetaddr-ip-perl libhtml-parser-perl wmi-client xprobe2 nmap libmail-sendmail-perl traceroute
 
libio-socket-inet6-perl libhtml-tree-perl libsnmp-perl snmp-mibs-downloader libio-socket-multicast-perl
 
libsnmp-perl libjson-perl php5 libapache2-mod-php5 apache2 mysql-server php5-gd php5-mysql php-pear
 
php5-snmp php-db php-gettext graphviz mysql-client php5-curl php5-xmlrpc php5-ldap dbconfig-common
 
  
Este comando instalaría todas las dependencias necesarias para instalar el servidor y la consola de Pandora FMS en un sistema Debian/Ubuntu.
+
Para monitorizar el disco disponemos de dos parámetros: '''module_freedisk''' , que devuelve la cantidad de espacio libre, y '''module_freepercentdisk''', que devuelve el porcentaje de espacio libre. Ambos módulos requieren como parámetro la unidad de disco a monitorizar, '''no olvide el caracter «":"»'''.
  
La instalación con los paquetes deb es muy sencilla.
+
Un módulo que usa el parámetro '''module_freedisk''' se define así:
 
Si no tenemos conexion a internet, instalamos las dependencias. Después instalamos los paquetes de Pandora FMS, en este ejemplo se instalan todos los componentes de Pandora FMS juntos.
 
  
  dpkg -i pandorafms.console_xxx.deb pandorafms.server_xxxx.deb
+
  module_begin
 +
module_name FreeDisk
 +
module_type generic_data
 +
module_freedisk C:
 +
module_end
  
Si una vez que se ejecute el comando, se ve que faltan dependencias, se puede intentar resolverlas de forma automática con el comando:
+
Un ejemplo de módulo que usa el parámetro '''module_freepercentdisk''' se define así:
  
  apt-get -f install
+
  module_begin
 +
module_name FreePercentDisk
 +
module_type generic_data
 +
module_freepercentdisk C:
 +
module_end
  
Ello tratará de descargar todos los paquetes necesarios que faltan para que Pandora FMS se instale automáticamente en el sistema. Una vez que se hayan instalado los paquetes necesarios, el sistema automáticamente procederá a la instalación de todos los componentes de Pandora FMS.
+
==== Consultas WMI ====
  
{{Warning|En algunas versiones de Ubuntu tendremos que mover el directorio /var/www/pandora_console/ al directorio público del servidor web por defecto /var/www/html/pandora_console }}
+
El agente software de Pandora permite extraer información a través de consultas WMI, que es una fuente de información ampliamente utilizada para obtener información del sistema y externa a este.
  
Para completar la instalación de la consola de Pandora FMS, debemos acceder a la url de la consola y seguir los pasos del ayudante de instalación. Si la consola está instalada en un servidor con IP 10.20.34.54 deberemos acceder a la siguiente url:
+
Usando el parámetro '''module_wmiquery''' el agente software permite ejecutar localmente cualquier consulta WMI. Para realizar la consulta se define la query WMI en el parámetro '''module_wmiquery''' y la columna que contiene la información a monitorizar con el parámetro '''module_wmicolumn'''.
  
http://10.20.34.54/pandora_console
+
Por ejemplo, podemos obtener una lista de los servicios instalados:
  
=== Desinstalación de Pandora FMS ===
+
module_begin
 +
module_name Services
 +
module_type generic_data_string
 +
module_wmiquery Select Name from Win32_Service
 +
module_wmicolumn Name
 +
module_end
  
dpkg -r pandorafms-console-enterprise
+
Usando WMI también podemos obtener la carga actual de CPU:
dpkg -r pandorafms-console
 
  
== Instalación en FreeBSD==
+
module_begin
 +
module_name CPU_Load
 +
module_type generic_data
 +
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
 +
module_wmicolumn LoadPercentage
 +
module_end
  
Para instalar el servidor de Pandora FMS se recomienda FreeBSD versión 10.x o superior.
+
== Chequeos remotos con el agente software ==
Si desea instalarlo en la versión 9.x o inferior, actualice el sistema de paquetes a pkgng.
 
  
=== Instalación de dependencias previas===
+
Los chequeos remotos realizados con el agente software facilitan la monitorización de redes complejas y con requisitos especiales, por ejemplo aquellos relacionados con la seguridad.
  
En  FreeBSD las dependencias son las siguientes:
+
Esta forma de trabajar se utiliza habitualmente cuando se quieren lanzar chequeos remotos sobre sistemas a los cuales el servidor principal de Pandora FMS no tiene acceso, para lo que podemos instalar un agente software, ejecutar desde ese punto chequeos remotos y distribuirlos en ''agentes broker''.
  
Servidor :
+
En esta sección se explica cómo utilizar esta característica de los agentes software.
  
p5-DBI p5-Mail-Sendmail p5-NetAddr-IP p5-XML-Simple p5-Time-Format p5-HTML-Parser
+
=== Chequeos ICMP ===
p5-Net-Traceroute-PurePerl p5-IO-Socket-INET6 p5-DBD-mysql p5-XML-Twig p5-JSON
 
net-snmp nmap xprobe coreutils net-snmp wmi-client
 
  
Para poder instalar el servidor de Pandora FMS, tendrá que completar las dependencias antes. Se recomienda utilizar el comando pkg.
+
Los chequeos ICMP o ping son muy útiles para saber si una máquina está conectada o no a una red. De esta forma, un solo agente software podría monitorizar el estado de todas las máquina de una forma sencilla.
  
Puede instalar todas las dependencias que sean como estas:
+
'''Unix'''
  
e.g.) p5-DBI installation.
+
Usando el agente Linux podemos usar los comandos del sistema para crear un módulo que realice un chequeo ping. La definición del módulo sería:
pkg install p5-DBI
 
  
Consola:
+
module_begin
 +
module_name Ping
 +
module_type generic_proc
 +
module_exec ping -c 1 192.168.100.54 >/dev/null 2>&1; if [ $? -eq 0 ]; then echo 1; else echo 0; fi
 +
module_end
  
apache24, php5, php5-snmp, php5-session, php5-gettext, php5-mbstring, php5-ldap,
+
En este ejemplo realizamos un ping al host 192.168.100.54, si queremos comprobar otros hosts sólo tenemos que cambiar la IP
php5-mysql, php5-gd, php5-zip, php5-zlib, php5-json, php5-curl, php5-filter, pear,
 
pear-DB, pear-XML_RPC, graphviz
 
  
Para poder instalar la consola de Pandora FMS, tendrá que completar las dependencias primero. Para ello puede utilizar los paquetes.
+
'''Windows'''
  
{{Warning|Apartir de la versión 729 de Pandora FMS es necesario actualizar a PHP7 para el correcto funcionamiento de la herramienta}}
+
El agente software para Windows soporta unos parámetros de configuración específicos para configurar el chequeo ping. Estos chequeos son los siguientes:
  
=== Instalación de la Consola===
+
* module_ping_count x: Número de paquetes ECHO_REQUEST a enviar (1 por defecto).
 +
* module_ping_timeout x: Timeout en segundos de espera para cada respuesta (1 por defecto).
 +
* module_advanced_options: Opciones avanzadas para ping.exe.
  
No existe fichero de paquetes de la consola de pandora para FreeBSD. Deberá instalar la consola de pandora utilizando el instalador.
+
Un ejemplo de configuración de módulo podría ser:
  
En la siguiente sección:"Instalación manual desde las fuentes en Linux/UNix" se describe cómo instalarla utilizando el instalador.
+
module_begin
 +
module_name Ping
 +
module_type generic_proc
 +
module_ping 192.168.100.54
 +
module_ping_count 2
 +
module_ping_timeout 5
 +
module_end
  
En FreeBSD con apache24, el directorio pandora_consola es:
+
En este ejemplo realizamos el mismo chequeo que antes, pero desde el agente software para Windows.
  
/usr/local/www/apache24/data/pandora_console
+
=== Chequeos TCP ===
  
=== Instalación del Servidor===
+
Los chequeos TCP son útiles para verificar que los puertos de una máquina permanecen abiertos. Esto puede ser interesante para saber si una aplicación esta conectada o no a la red.
  
No existe fichero de paquetes del servidor de Pandora FMS para FreeBSD. Tendrá que instalar el servidor de Pandora FMS utilizando el instalador.
+
'''Unix'''
  
En la siguiente sección:"Instalación manual desde las fuentes en Linux/UNix" se describe cómo instalarlo utilizando el instalador.
+
Con el agente software para Unix podríamos realizar un chequeo TCP usando el siguiente módulo:
  
La ubicación del fichero y el la estructura del script de arranque son diferentes respecto a Linux. Veremos las peculiaridades de FreeBSD más abajo.
+
module_begin
 +
module_name PortOpen
 +
module_type generic_proc
 +
module_exec nmap 192.168.100.54 -p 80 | grep open > /dev/null 2>&1; echo $?; if [ $? == 0 ]; then echo 1; else echo 0; fi
 +
module_timeout 5
 +
module_end
  
Después de realizar la instalación, deberá añadir las siguientes líneas a /etc/rc.conf.
+
Con este módulo comprobamos que el puerto 80 del host 192.168.100.54 está abierto o cerrado.
  
pandora_server_enable="YES"
+
'''Windows'''
tentacle_server_enable="YES"
 
  
Para habilitar Pandora FMS, los servidores de Pandora FMS y Tentacle, se necesitan las siguientes ajustes. De otro modo, no se podrán iniciar.
+
Si usamos el agente software para Windows disponemos de unos parámetros para configurar el módulo. Los parámetros son:
  
En FreeBSD, la mayoría de los ficheros del servidor de Pandora FMS están instalados en /usr/local.
+
* module_tcpcheck: Host al que queremos comprobar
 +
* module_port: Puerto que queremos comprobar
 +
* module_timeout: Timeout para el chequeo
  
Servidor de Pandora FMS, servidor de Tentacle:
+
Un ejemplo de definición del módulo sería:
/usr/local/bin/pandora_server
 
/usr/local/bin/tentacle_server
 
Script de inicio:
 
/usr/local/etc/rc.d/pandora_server
 
/usr/local/etc/rc.d/tentacle_server
 
Fichero de configuración:
 
/usr/local/etc/pandora/pandora_server.conf
 
util:
 
/usr/local/share/pandora_server/util/*
 
Man pages:
 
/usr/local/man/man1/*
 
Otros:
 
The data_in and log directories are the same as Linux.
 
  
== Instalación en NetBSD ==
+
  module_begin
 +
module_name PortOpen
 +
module_type generic_proc
 +
module_tcpcheck 192.168.100.54
 +
module_port 80
 +
module_timeout 5
 +
module_end
  
Pandora FMS desde su versión 5.0 soporta NetBSD.
+
Este módulo sería el equivalente para el agente software de Windows para realizar la comprobación del puerto 80 sobre el host 192.168.100.54.
  
=== Instalación de las dependencias previas ===
+
=== Chequeos SNMP ===
  
En NetBSD las dependencias son las siguientes:
+
Los chequeos SNMP son muy comunes en la monitorización de dispositivos de red para comprobar el estado de interfaces, bytes de entrada/salida, etc.
  
Servidor:
+
'''Unix'''
  
mysql55-server databases/p5-DBI mail/p5-Mail-Sendmail net/p5-NetAddr-IP textproc/p5-XML-Simple
+
Si usamos el agente software para Unix podemos crear un módulo que use el comando snmpget como el siguiente:
time/p5-Time-Format www/p5-HTML-Parser net/nmap net/p5-IO-Socket-INET6
 
database/p5-DBD-mysql textproc/p5-XML-Twig  sysutils/coreutils converters/p5-JSON net/net-snmp
 
  
 +
module_begin
 +
module_name SNMP get
 +
module_type generic_data
 +
module_exec snmpget 192.168.100.54 -v 1 -c public .1.3.6.1.2.1.2.2.1.1.148 | awk '{print $4}'
 +
module_end
  
Para instalar el servidor de Pandora FMS, primero tendrá que cumplir con las dependencias. Esto debería hacerse utilizando 'pkgsrc'.
+
Este módulo devuelve el valor del OID .1.3.6.1.2.1.2.2.1.1.148 del host 192.168.100.54.
  
 +
'''Windows'''
  
Puede instalar todas las dependencias de este modo:
+
Para el agente software de Windows disponemos de los siguientes parámetros:
  
 +
* module_snmpversion [1,2c,3]: Versión de SNMP (1 por defecto).
 +
* module_snmp_community <community>: Comunidad SNMP (public por defecto).
 +
* module_snmp_agent <host>: Agente SNMP objetivo.
 +
* module_snmp_oid <oid>: OID objetivo.
 +
* module_advanced_options: Opciones avanzadas para snmpget.exe.
  
e.g.) p5-DBI installation.
+
Un módulo de ejemplo podría ser:
cd /usr/pkgsrc/databases/p5-DBI
 
make
 
make install
 
  
Además, deberá instalar 'Net::Traceroute::PurePerl' y and 'LWP::Simple' usando CPAN.
+
module_begin
 +
module_name SNMP get
 +
module_type generic_data
 +
module_snmpget
 +
module_snmpversion 1
 +
module_snmp_community public
 +
module_snmp_agent 192.168.100.54
 +
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.148
 +
module_end
  
 +
Este módulo sería el equivalente Windows para el chequeo anterior realizado con el agente software para Unix.
  
perl -MCPAN -e 'install Net::Traceroute::PurePerl'
+
== Modo Proxy ==
perl -MCPAN -e 'install LWP::Simple'
 
  
'xprobe' debería también ser instalado mediante la compilación del paquete fuente.
+
{{warning|Para usar el modo proxy del agente de Pandora FMS en Linux/Unix '''no puede ser ejecutado por el usuario root''', por ello es necesario una instalación especial del agente de Pandora FMS. Puede ver cómo instalar el agente de forma personaliza en la sección [[Pandora:Documentation_es:Instalacion#Instalaci.C3.B3n_personalizada|Instalación personalizada del Agente]]}}
  
Puede descargarlo desde:
+
Los agentes software de Pandora FMS tienen un Modo Proxy que les permite actuar precisamente como un proxy de otros agentes software, redirigiendo los ficheros de datos generados por otros agentes software al servidor de Pandora FMS. El agente software que actua en Modo Proxy también puede realizar tareas de monitorización.
  
http://sourceforge.net/projects/xprobe/files/latest/download
+
<br>
 +
[[File:Proxy-mode.png|700px|center]]
 +
<br>
  
 +
El escenario habitual de uso del modo proxy sería cuando nos encontramos con una red en la que sólo una máquina tiene comunicación con el servidor de Pandora FMS y necesitamos monitorizar con agentes software el resto de equipos de esa red. Los otros equipos se comunicarán con el proxy en lugar de con el server.
  
Si no puede compilarlo debido a algún error, modifique los siguientes ficheros e inténtelo de nuevo.
+
Además del envío de datos a través de XML, el Modo Proxy soporta las características de ''Configuración Remota'' y ''Colecciones de Ficheros''.
  
* Add ' '''include <cstdlib>''' ' to 'libs-external/USI++/src/ip.cc'.
+
Con todas estas funcionalidades el Modo Proxy ofrece un '''funcionamiento transparente''' de los agentes software en redes con conectividad limitada.
* Add ' '''include <cstdlib>''' ' to 'libs-external/USI++/src/misc.cc'.
 
* Add ' '''include <cstring>''' ' to 'libs-external/USI++/usi++/tcp.h'.
 
  
Consola:
+
Para activar el Modo Proxy en un agente software tiene configurar los parámetros:
  
www/apache22, lang/php54, net/php-snmp, www/ap-php, devel/php-gettext,
+
* server_ip: IP del servidor de Pandora FMS.
converters/php-mbstring, databases/php-ldap, databases/php-mysql, raphics/php-gd,
+
* proxy_mode: Activado (1) o desactivado (0).
archivers/php-zip, archivers/php-zlib, textproc/php-json, www/php-curl, lang/pear,  
+
* proxy_max_connection: Número de conexiones simultaneas del proxy, por defecto 10.
databases/pear-DB, graphics/graphviz,  
+
* proxy_timeout: Timeout para el proxy, por defecto 1 segundo.
  
Para instalar la consola de Pandora FMS tendrá que cumplir con las dependencias antes. Puede usar 'pkgsrc'.
+
Un ejemplo de configuración podría ser:
  
{{Warning|Apartir de la versión 729 de Pandora FMS es necesario actualizar a PHP7 para el correcto funcionamiento de la herramienta}}
+
server_ip 192.168.100.230
 +
proxy_mode 1
 +
proxy_max_connection 20
 +
proxy_timeout 3
  
Además, deberá instalar el 'XML_RPC'  usando pear.
+
Para redirigir la conexión de un agente software sólo tendremos que poner como dirección del servidor de Pandora FMS la del agente con el Modo Proxy activado. Por ejemplo:
  
pear install XML_RPC
+
Nuestro agente en Modo Proxy tiene la IP: 192.168.100.24
  
=== Instalación de la consola ===
+
En el agente software que no se puede conectar directamente al servidor de Pandora configuramos el parámetro '''server_ip''' así:
  
No existe un fichero de paquetes de consola para NetBSD.
+
server_ip 192.168.100.24
  
Deberá instalar la consola de Pandora FMS usando un instalador.
+
Con esta configuración el agente software con comunicación limitada usará el agente software en Modo Proxy para comunicarse con el servidor de Pandora, manteniendo todas sus funcionalidades tales como configuración remota, políticas o colecciones de ficheros.
  
En la sección que viene a continuación describimos cómo usar un instalador. La sección se llama "Manual de instalación desde fuentes en Linux/Unix".
+
== Modo Broker ==
  
En NetBSD con apache22, el directorio pandora_console es:
+
EL Modo Broker de los agentes software permite a un solo agente realizar chequeos y gestionar la configuración como si se tratara de varios.
  
/usr/pkg/share/httpd/htdocs/pandora_console
+
<br>
 +
[[File:Modo-broker.png|700px|center]]
 +
<br>
  
=== Instalación del servidor ===
+
Cuando se activa el modo broker en un agente software, se crea un nuevo fichero de configuración. A partir de ese momento, el agente software original y el nuevo broker se gestionarán de forma separada con sus ficheros de configuración independientes, como si fuesen dos agentes software totalmente separados en la misma máquina.
  
No existe un fichero pandora server para NetBSD
+
Las utilidades principales del Modo Broker son:
  
Debería instalar el servidor de Pandora FMS usando el instalador.
+
* Enviar datos locales como otro agente. Muy útil para monitorizar instancias software como agente independientes.
 +
* Enviar datos recolectados de chequeos remotos a otras máquinas como si hubiera un agente software instalado en ella.
  
En la siguiente sección describiremos cómo instalar usando el instalador. La sección se llama "Instalación manual desde fuentes en Linux/Unix".
+
Para crear un broker sólo tiene que añadir una línea con el parámetro '''broker_agent <nombre_broker>'''. Es posible crear tantos agentes broker como se quiera, añadiendo las correspondientes líneas ''broker_agent'', como estas:
  
La localización de los ficheros y la estructura de los scripts de arranque son diferentes respecto a Linux.
+
broker_agent dev_1
 +
broker_agent dev_2
  
Mostraremos aspectos específicos de NetBSD mas abajo.
+
Una vez creados los brokers se crearán sus archivos de configuración ''dev_1.conf'' y ''dev_2.conf'' con el mismo contenido que el agente software original, pero con su nombre correspondiente. Añadiendo o quitando módulos de los archivos de configuración ''dev_1.conf'' y ''dev_2.conf'' podemos personalizar los chequeos realizados por los brokers.
  
Después de la instalación, deberá añadir las siguientes líneas a  /etc/rc.conf.
+
En la consola de Pandora FMS '''los brokers se ven y gestionan como agentes independientes''', de forma que si tenemos un agente software instalado con dos brokers en la consola veremos tres agentes diferentes con sus módulos, configuraciones, etc.
  
pandora_server="YES"
+
'''NOTA''': Las instancias del modo broker no pueden utilizar colecciones. Si desea utilizar colecciones, debe distribuirlas y/o usarlas en el agente "real" que se utiliza como base en al agente broker, no en una de sus instancias.
tentacle_server="YES"
 
  
Se necesita esta configuración para activar los servidores de Pandora FMS, Pandora FMS y Tentacle.
+
'''NOTA''': Los módulos que guardan datos en memoria entre ejecuciones (module_logevent y module_regexp en Windows) no funcionan cuando hay agentes broker configurados.
De otro modo, no serán lanzados.
 
  
En NetBSD, la mayoría de ficheros del servidor de Pandora FMS están instalados en /usr/local.
+
=== Ejemplos de uso del modo Broker ===
  
pandora_server, tentacle_server:
+
==== Monitorizar una base de datos local como otro agente====
/usr/local/bin/pandora_server
 
/usr/local/bin/tentacle_server
 
Script de arranque:
 
/etc/rc.d/pandora_server
 
/etc/rc.d/tentacle_server
 
Fichero de configuración:
 
/usr/local/etc/pandora/pandora_server.conf
 
util:
 
/usr/local/share/pandora_server/util/*
 
Paginas man:
 
/usr/share/man/man1/*
 
Otras:
 
Los directorios data_in y log son los mismos que en Linux.
 
  
== Instalación manual desde las fuentes en Linux / Unix / MAC OS==
+
En una máquina queremos monitorizar los parámetros básicos (CPU, memoria y disco) y además tenemos instalada una base de datos que queremos monitorizar de forma independiente.
  
Será necesario descargar los ficheros en formato "tarball" (.tar.gz, .tgz o .tar.bz2) y descomprimirlo. Para ello, localice la última versión de Pandora FMS y descargue los ficheros desde aquí: https://sourceforge.net/projects/pandora/files/.
+
Para realizar la monitorización usaremos la siguiente estructura:
  
=== Instalación de la consola ===
+
* Agente software instalado: Monitorización de CPU, memoria y disco.
 +
* Broker base de datos: Monitorización de estado interno de la base de datos.
  
Una vez que tenemos el fichero comprimido con la consola:
+
Para ello instalamos un agente software en la máquina que monitorizará los parámetros de CPU, memoria y disco. Además, en la configuración del agente software añadiremos la línea:
  
1. Nos hacemos root
+
broker_agent DBApp
  
su -
+
Con esto creamos el agente broker con nombre DBApp y por tanto aparecerá el archivo de configuración dbapp.conf. En este archivo añadimos los módulo para realizar los chequeos en la base de datos:
  
2. Lo copiamos a /tmp y dentro de /tmp ejecutamos:
+
module_begin
 +
module_name Num Users
 +
module_type generic_data
 +
module_exec get_db_users.pl
 +
module_end
 +
 +
module_begin
 +
module_name Num slows queries
 +
module_type generic_data
 +
module_exec get_db_slows_queries.pl
 +
module_end
  
tar xvzf pandorafms_console-X.Y.tar.gz
+
Con este ejemplo aparecerían dos agentes en la consola de Pandora FMS: uno con el nombre de la máquina y los módulos de CPU, memoria y disco y otro llamado DBApp con los módulos Num Users y Num slows queries.
cd pandora_console
 
./pandora_console_install --install
 
  
=== Instalación del servidor ===
+
==== Monitorizar dispositivos de forma remota usando brokers====  
  
Una vez que tenemos el fichero comprimido con el servidor, que se llamará ''pandorafms_server-3.0.0.tar.gz'' o similar:
+
Para este ejemplo tenemos un agente software instalado en una máquina Windows monitorizando (CPU, memoria y disco) y necesitamos monitorizar un router con IP 192.168.100.54 sin instalar un agente dentro. Para solucionar el problema podemos usar los brokers.
  
1. Nos hacemos root
+
Creamos un broker con el parámetro:
  
  su -
+
  broker_agent routerFloor5
  
2. Lo copiamos a /tmp y dentro de /tmp ejecutamos:
+
Con esto creamos el agente broker con nombre routerFloor5 y como tenemos un agente software instalado en una máquina Windows podemos monitorizar el router usando los módulos de ping y snmp disponibles. Para ello modificaremos el archivo routerFloor5.conf con las líneas:
  
  tar xvzf pandorafms_server-X.Y.tar.gz
+
  module_begin
  cd pandora_server
+
module_name Ping
  ./pandora_server_installer --install
+
module_type generic_proc
 +
module_ping 192.168.100.54
 +
module_ping_count 2
 +
module_ping_timeout 500
 +
module_end
 +
 +
module_begin
 +
module_name Eth 1 up
 +
module_type generic_data
 +
module_snmpget
 +
module_snmpversion 1
 +
  module_snmp_community public
 +
  module_snmp_agent 192.168.100.54
 +
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.1
 +
module_end
 +
 +
module_begin
 +
module_name Eth 2 up
 +
module_type generic_data
 +
module_snmpget
 +
module_snmpversion 1
 +
module_snmp_community public
 +
module_snmp_agent 192.168.100.54
 +
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.2
 +
module_end
  
Si existen problemas de dependencias, tendremos que resolverlas antes de intentar la instalación. Podemos forzar la instalación ignorando el problema de dependencias, pero es muy posible que Pandora FMS no funcione correctamente.
+
En este ejemplo, la consola web de Pandora FMS muestra dos agentes: uno es la máquina Windows con los módulos de CPU, memoria y disco y otro es ''routerFloor5'' con los módulos: Ping, Eth 1 up, Eth 2 up.
  
=== Instalación manual (desde código fuente) del servidor ===
+
==== Monitorización remota de redes inaccesibles====  
  
Alternativamente al script de instalación genérico, se puede "compilar" el código de Pandora FMS mediante el intérprete Perl de su sistema. Este proceso simplemente instala las librerías y los ejecutables mínimos, pero no toca el sistema de scripts de arranque, scripts de mantenimiento, configuración ni ninguna otra cosa que estrictamente la aplicación y sus librerías. Este proceso es el indicado cuando tiene que actualizar el código del servidor, pero sin sobrescribir su configuración.
+
En algunas situaciones es necesario monitorizar dispositivos de forma remota, pero el Servidor Remoto de Pandora FMS no puede acceder directamente a ellos.
 
 
Para ello, descomprima el código de su servidor en /tmp, tal y como se indica en el paso anterior
 
 
 
1. Nos hacemos root
 
 
 
su -
 
 
 
2. Lo copiamos a /tmp y dentro de /tmp ejecutamos:
 
 
 
tar xvzf pandorafms_server-X.Y.tar.gz
 
cd pandora_server
 
perl Makefile.PL
 
make
 
make install
 
 
 
Si falta alguna dependencia o existe algún otro problema, el sistema le advertirá de ello. Si observa un mensaje similar a:
 
 
 
Warning: prerequisiete Mail::Sendmail 0 not found
 
Warning: prerequisiete Net::Traceroute::PurePerl 0 not found
 
 
 
Significa que existen algunos paquetes de Perl que Pandora FMS necesita y que el sistema no tiene instalado. Revise los párrafos anteriores para saber como instalar las dependencias necesarias previas para instalar Pandora FMS. No obstante puede ignorar temporalmente esos avisos (son warnings y no errores) y forzar la instalación. Con seguridad tendrá problemas en un momento u otro ya que le falta un componente necesario para funcionar. No obstante, si se conoce el componente que no está instalado y no se va a utilizar (p.e: traceroute se utiliza exclusivamente para Pandora FMS Recon Server), se puede continuar con seguridad.
 
 
 
Después de ese proceso, automáticamente se copian los ficheros
 
 
 
/usr/local/bin/pandora_server
 
/usr/local/bin/pandora_exec
 
 
 
Y varios ficheros .pm (librerías de Perl) que necesita Pandora FMS. Esas librerías .pm se copian a diferentes directorios, dependiendo de la versión de su distribución y de su distribución. Por ejemplo, en Ubuntu 9.04 se copian a:
 
 
 
/usr/local/share/perl/5.10.0/PandoraFMS/
 
 
 
En SUSE/SLES 11 se copian a:
 
 
 
/usr/lib/perl5/site_perl/5.10.0/PandoraFMS/
 
 
 
== Instalación de la Versión Enterprise ==
 
 
 
Para la instalación de la versión Enterprise de Pandora FMS, tenemos que instalar los paquetes  "Open" de la Consola y el Servidor, y después añadir los paquetes "Enterprise" de cada uno. En el caso de la '''Consola''' usaremos unos paquetes u otros dependiendo de la distribución que tengamos instalada.
 
 
 
=== Instalación de la consola Enterprise ===
 
 
 
Para Red Hat Enterprise Linux / CentOS / Fedora:
 
 
 
rpm -i pandorafms_console_enterprise-X.X.noarch.rpm
 
 
 
Para SuSe:
 
 
 
rpm -i pandorafms_console_enterprise-X.X.noarch.rpm
 
 
 
En Debian/Ubuntu:
 
 
 
dpkg -i pandorafms_console_enterprise_xxx.deb
 
 
 
Si desea instalar la consola enterprise a través del código fuente:
 
 
 
Una vez que tenemos el fichero comprimido con la consola, que se llamará pandorafms_console_enterprise-X.X.tar.gz o similar:
 
 
 
1. Nos hacemos root
 
 
 
su -
 
 
 
2. Lo copiamos a /tmp y dentro de /tmp ejecutamos:
 
 
 
tar xvzf pandorafms_console-X.Xtar.gz
 
 
 
Y lo copiamos al directorio donde esté instalada nuestra consola de Pandora FMS Opensource, que puede ser /var/www/pandora_console para Debian o Ubuntu, o bien /srv/www/htdocs/pandora_console/ para SUSE, RH, Fedora, etc (o en otro directorio dependiendo de la distribución).
 
 
 
Debian:
 
 
 
cp -R enterprise /var/www/pandora_console
 
 
 
SUSE:
 
 
 
cp -R enterprise /srv/www/htdocs/pandora_console
 
 
 
3. Cambiamos los permisos para que los ficheros sean propiedad del usuario del servidor web, por ejemplo:
 
 
 
Debian:
 
 
 
chown -R www-data /var/www/pandora_console/enterprise
 
 
 
SUSE:
 
 
 
chown -R wwwrun /srv/www/htdocs/pandora_console/enterprise
 
 
 
En este punto se debe realizar la [[Pandora:Documentation es:Instalacion#Aplicaci.C3.B3n_de_la_licencia | Activación de la licencia]].
 
 
 
=== Instalación del servidor Enterprise ===
 
 
 
Para realizar la instalación del '''servidor''' Enterprise, primero hay que asegurarse de que la versión Open del servidor está instalada y después proceder a instalar la versión Enterprise.
 
 
 
Una vez que tenemos el fichero comprimido con el servidor, que se llamará pandorafms_server_enterprise-X.X.tar.gz o similar:
 
 
 
1. Nos hacemos root
 
 
 
su -
 
 
 
2. Lo copiamos a /tmp y dentro de /tmp ejecutamos:
 
 
 
tar xvzf pandorafms_server_enterprise-X.X.tar.gz
 
cd pandora_server/
 
# ./pandora_server_installer --install
 
 
 
En el caso de que el binario del servidor de Pandora FMS no se encuentre en el directorio por defecto (/usr/bin) habrá que indicar el directorio de la siguiente forma:
 
 
 
# PREFIX=/usr/local ./pandora_server_installer --install
 
 
 
Tras realizar la instalación reiniciaremos el servidor ( /etc/init.d/pandora_server restart ) y nos aparecerán habilitados los servidores Enterprise.
 
 
 
{{Warning|No reinicie el servidor hasta que la instalación de la llave de licencia de Pandora FMS Enteprise esté completada, ya que si no el servidor no arrancará y su servicio de monitorización quedará interrumpido}}
 
  
 +
<br>
 
<center>
 
<center>
[[image:servidores Enterprise.png | 800px]]
+
[[Image:Broker_example_no_access.png|center|790px]]
 
</center>
 
</center>
 +
<br>
  
==== Instalación en una ruta diferente ====
+
En este ejemplo, tenemos que monitorizar de forma remota los dispositivos de una de las sedes de nuestra empresa desde la sede central. El servidor de Pandora FMS está en la sede central conectado por medio de una VPN al resto de sedes y debido a una serie de restricciones el servidor de Pandora FMS no puede acceder remotamente a las máquinas. Para poder monitorizar las sedes usaremos el Modo Broker que permite al agente software enviar XMLs al servidor de Pandora como si se tratase de varios dispositivos distintos.
  
Para instalar el servidor de Pandora FMS en una ruta diferente, utilice la opción ''--destdir''::
+
En el archivo de configuración del agente software añadiremos tantos brokers como dispositivos a monitorizar, un ejemplo de configuración sería:
  
  ./pandora_server_installer --install --destdir <path>
+
broker_agent device_1
 +
broker_agent device_2
 +
broker_agent device_3
 +
broker_agent device_4
 +
  ...
  
Después de la instalación, deberá configurar el servidor de Pandora FMS para que se inicie de forma automática durante el arranque y configurar el script de mantenimiento de la base de datos, ''pandora_db'', para que se ejecute de forma periódica. Por ejemplo, en Linux (sustituya ''<destdir>'' por la ruta que le pasó a ''--destdir''):
+
Una vez creados los brokers podemos personalizar la monitorización para cada dispositivo accediendo a los archivos de configuración de cada broker, por ejemplo la configuración para la máquina Windows con nombre device_1 es:
  
  ln -s <destdir>/etc/init.d/pandora_server /etc/init.d/
+
  module_begin
  echo "\"<destdir>/usr/share/pandora_server/util/pandora_db\" \
+
module_name Ping
  \"<destdir>/etc/pandora/pandora_server.conf\" >/dev/null 2>&1" > /etc/cron.hourly/pandora_db
+
module_type generic_proc
 
+
module_ping 192.168.100.54
==== Ejecución con un usuario no privilegiado ====
+
module_ping_count 2
 
+
module_ping_timeout 500
Para hacer que el servidor de Pandora FMS se ejecute con un usuario no privilegiado, instálelo con el usuario con el que quiere que se ejecute con la opción ''--no-root'':
+
module_end
 
+
  ./pandora_server_installer --install --no-root
+
module_begin
 
+
module_name CPU_Load
==== Instalación con un usuario no privilegiado ====
+
module_type generic_data
 +
  module_wmiquery SELECT LoadPercentage FROM Win32_Processor
 +
  module_wmicolumn LoadPercentage
 +
module_end
 +
 +
module_begin
 +
module_name Mem_Free
 +
module_type generic_data
 +
module_wmiquery SELECT LoadPercentage FROM Win32_Memory
 +
module_wmicolumn FreeMemory
 +
module_end
 +
 +
module_begin
 +
module_name Disk_Free
 +
module_type generic_data
 +
  module_wmiquery SELECT LoadPercentage FROM Win32_Disk
 +
module_wmicolumn FreeSpace
 +
module_end
  
''--no-root'' se puede combinar con ''--destdir'' para instalar el servidor de Pandora FMS con un usuario no privilegiado, siempre que este usuario tenga permisos de escritura sobre la ruta que se le pase a ''--destdir''. Por ejemplo:
+
Con esta configuración conseguimos realizar una configuración remota y enviar los archivos al servidor de Pandora FMS a pesar de las restricciones de comunicación entre las sedes de la empresa.
  
./pandora_server_installer --install --no-root --destdir /opt/pandora
+
==== Distribuir la carga de monitorización con brokers ====
  
== Instalación Consola y Servidor en Windows ==
+
El Modo Broker también es muy útil para distribuir la carga de monitorización en varios puntos de la red.
  
A partir de la versión 5.1 de Pandora FMS, existe un instalador para Windows que nos permite instalar de forma conjunta '''Nginx''', '''PHP''', '''Mysql''', '''Pandora FMS''' y algunas dependencias más que son necesarias para el correcto funcionamiento de la consola y el servidor en Windows.
 
<br><br>
 
{{Warning|El soporte para '''Windows''' en la consola y el servidor no está recomendado para entornos en producción ya que su rendimiento es sensiblemente inferior a la versión Linux. Estamos trabajando para que en futuras versiones sea más estable y rápido.}}
 
 
<br>
 
<br>
{{Warning|Apartir de la versión 729 de Pandora FMS es necesario actualizar a PHP7 para el correcto funcionamiento de la herramienta}}
 
Algunas funcionalidades del servidor de Pandora FMS necesitan un sistema operativo basado en Linux y no funcionan en Windows:
 
 
* [[Pandora:Documentation_es:ReconServer#Recon_Scripts|Recon scripts]]
 
* [[Pandora:Documentation_es:IPAM|IPAM]]
 
* [[Pandora:Documentation_es:Monitorizacion_UX|Monitorización UX]]
 
* [[Pandora:Documentation_es:Monitorizacion_transaccional|Monitorización transaccional]]
 
* [[Pandora:Documentation_es:Netflow|Netflow]]
 
* [[Pandora:Documentation_es:Monitorizacion_remota#Monitorizaci.C3.B3n_con_plugins_remotos_de_servidor|Plug-ins de servidor]]. Los plug-ins por defecto son scripts para Linux. Podría, sin embargo, escribir sus propios scripts para Windows.
 
* [[PPandora:Documentation_es:Monitorizacion_entornos_Virtuales#VMware|Plug-in de VMware]]
 
* [[Pandora:Documentation_es:Inventario#Inventario_remoto|Inventario remoto]]
 
* [[Pandora:Documentation_es:Monitorizacion_logs|Monitorización de logs]]
 
 
Se entrega como un instalador en formato ejecutable (.exe) y para su instalación básica solo hay que aceptar todas las opciones que se van indicando.
 
 
Seleccione el idioma:
 
 
<center>
 
[[image:Pandora_agent_3.0_RC3_install_windows_01.png]]
 
</center>
 
 
Siga los pasos del instalador:
 
 
<center>
 
[[image:Pandora_server_install_windows_011.png]]
 
</center>
 
 
Acepte los términos de la licencia:
 
 
 
<center>
 
<center>
[[image:Pandora_server_install_windows_021.png]]
+
[[Image:Broker_scalation_example.png|center|800px]]
 
</center>
 
</center>
 
Elija los componentes a instalar:
 
 
<center>
 
[[image:Pandora_server_install_windows_031.png]]
 
</center>
 
 
 
<br>
 
<br>
{{Warning|Si ya tiene instaladas la consola y el servidor de una versión anterior y desea actualizarlos, marque '''únicamente''' la opción de actualizar.}}
 
{{Tip|Nginx es un servidor web que sustituye a Apache, utilizado en las versiones anteriores. Este nuevo servidor utiliza PHP con FastCGI, lo cual agiliza el uso de la consola.}}
 
  
El instalador está principalmente preparado para realizar la instalación sobre un equipo que no tenga ya instalado Nginx, ni MySQL. En el caso de que tenga algún otro servidor web, como pueda ser IIS activado, deberá desactivarlo para que funcione a través de Nginx.
+
En este ejemplo, nuestra arquitectura se compone de varias redes con nombres de la A a la Z con 1000 dispositivos cada una. La capacidad del Servidor Remoto de Pandora FMS está en torno a 2000 agentes, por ello decidimos usar agentes software en Modo Broker para distribuir la carga de monitorización. Estos agentes software en Modo Broker monitorizan de forma remota todos los dispositivos de la red y envían los datos en formato XML al servidor central de Pandora FMS.
  
Si tiene MySQL Server ya instalado y funcionando en el equipo antes de instalar el resto de componentes de Pandora FMS, deberá modificar la contraseña de root de MySQL, por "pandora". Este cambio es necesario para que se cree la base de datos y se puedan asignar correctamente los permisos a la base de datos de Pandora FMS. Una vez instalado Pandora FMS en el equipo, podrá volver a reemplazar la contraseña.
+
En cada una de las redes tenemos una agente con el Modo Broker activado, en él crearemos tantos broker como dispositivos tengamos que monitorizar, la configuración para el agente ''Broker_Agent_Net_A'' sería:
  
 +
broker_agent device_1
 +
broker_agent device_2
 +
broker_agent device_3
 +
broker_agent device_4
 +
...
  
Tras seleccionar los componentes a instalar deberá indicar la ruta de instalación:
+
Además para cada uno de los brokers añadiríamos los módulos correspondientes para monitorizar los dispositivos. Por ejemplo el broker ''device_1'' que es un router tendría estos módulos:
  
<center>
+
module_begin
[[image:Pandora_server_install_windows_041.png]]
+
module_name Ping
</center>
+
module_type generic_proc
 +
module_ping 192.168.100.54
 +
module_ping_count 2
 +
module_ping_timeout 500
 +
module_end
 +
 +
module_begin
 +
module_name Eth 1 up
 +
module_type generic_data
 +
module_snmpget
 +
module_snmpversion 1
 +
module_snmp_community public
 +
module_snmp_agent 192.168.100.54
 +
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.1
 +
module_end
 +
 +
module_begin
 +
module_name Eth 2 up
 +
module_type generic_data
 +
module_snmpget
 +
module_snmpversion 1
 +
module_snmp_community public
 +
module_snmp_agent 192.168.100.54
 +
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.2
 +
module_end
  
Tras esto empezarán a instalarle los componentes. El único que necesita atención por parte del usuario es Nginx, que pedirá la IP o el nombre del servidor de Pandora FMS:
+
Otro ejemplo sería el broker ''device_2'', que monitoriza una máquina Windows con los siguientes módulos:
  
<center>
+
module_begin
[[image:Pandora_server_install_windows_051.png]]
+
module_name Ping
</center>
+
module_type generic_proc
 +
module_ping 192.168.100.54
 +
module_ping_count 2
 +
module_ping_timeout 500
 +
module_end
 +
 +
module_begin
 +
module_name CPU_Load
 +
module_type generic_data
 +
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
 +
module_wmicolumn LoadPercentage
 +
module_end
 +
 +
module_begin
 +
module_name Mem_Free
 +
module_type generic_data
 +
module_wmiquery SELECT LoadPercentage FROM Win32_Memory
 +
module_wmicolumn FreeMemory
 +
module_end
 +
 +
module_begin
 +
module_name Disk_Free
 +
module_type generic_data
 +
module_wmiquery SELECT LoadPercentage FROM Win32_Disk
 +
module_wmicolumn FreeSpace
 +
module_end
  
Aparte de Mysql y Nginx, como se indicó anteriormente se instalarán otros componentes, que en el caso de que ya estén instalados con anterioridad le podrá aparecer un mensaje como este:
+
Usando los agentes software en Modo Broker podemos distribuir la carga de monitorización y así poder recoger datos de miles de dispositivos de una forma sencilla.
  
<center>
+
== Inventario con agente software ==
[[image:Pandora_server_install_windows_06.png]]
 
</center>
 
 
 
Aparecerá un aviso recordándole que se necesita Microsoft Visual C++ para que los módulos funcionen adecuadamente:
 
  
<center>
+
El agente software de Pandora FMS soporta funciones de inventario tanto hardware como software. El sistema de inventario permite mantener un histórico de CPU, tarjetas, Memoria RAM, parches, software, etc. usados en los servidores de la compañía. Además es posible generar alertas ante cambios en el inventario por ejemplo un reemplazo no autorizado de disco duro o la desintalación de una aplicación.
[[image:Pandora_server_install_windows_06_21.png]]
 
</center>
 
  
Se necesita el paquete '''Microsoft Visual C++ 2012''' para el correcto funcionamiento de Nginx. En sistemas '''Windows 2008 Professional R2''', se requiere la instalación del paquete '''Microsoft Visual C++ 2008'''.  
+
Podemos encontrar más información en la sección [[Pandora:Documentation_es:Inventario#Inventario_local.2C_a_trav.C3.A9s_de_los_agentes_software|Inventario local con agentes software]].
Por otro lado, podría ser necesaria la instalación de '''Microsoft Visual C++ 2010 SP1 Redistributable Package''' para que Nmap y el servidor ICMP Enterprise funcionen adecuadamente.
 
  
 +
== Acciones remotas por UDP ==
  
'''Microsoft Visual C++ 2008'''
+
=== Cómo solicitar información al agente bajo demanda ===
  
https://www.microsoft.com/es-es/download/details.aspx?id=29
+
El agente software de Pandora FMS incluye la funcionalidad ''Servidor UDP'', que permite indicar acciones a un agente de forma remota, tales como reiniciarse o ejecutar un comando.
  
 +
Los parámetros básicos de configuración del Servidor UDP en los agentes software son:
 +
* '''udp_server''': Activa (1) o desactiva (0) esta funcionalidad.
 +
* '''udp_server_port''': Puerto de escucha del servidor UDP en el agente software.
 +
* '''udp_server_auth_address''': Dirección IP en la que el servidor UDP y acepta peticiones. Puede establecerse a ''0.0.0.0'' para que acepte desde todos los orígenes.
  
'''Microsoft Visual C++ 2010 SP1 Redistributable Package'''
+
Ejemplo de configuración:
  
https://www.microsoft.com/es-ES/download/details.aspx?id=8328
+
udp_server 1
 +
udp_server_port 41122
 +
udp_server_auth_address 0.0.0.0
  
 +
Ahora, para forzar el reinicio del agente se debe utilizar el script '''udp_client.pl''', presente en el servidor de Pandora FMS, y normalmente ubicado en ''/usr/share/pandora_server/util''. Podemos ejecutarlo desde línea de comando o bien utilizarlo en una alerta, mediante el comando que viene preconfigurado en la consola '''"Remote agent control"'''.
  
'''Visual C++ 2012 (Update 4)'''
+
Existe también una acción de alerta por defecto llamada ''Restart agent'', que utiliza este script. Emplea la acción ''REFRESH AGENT'' sobre el script ''udp_client.pl'' para reiniciar el agente si éste tiene el servidor UDP escuchando.
 
 
https://www.microsoft.com/es-ES/download/details.aspx?id=30679
 
 
 
'''Visual C++ 2015 '''
 
 
 
https://www.microsoft.com/es-es/download/details.aspx?id=48145
 
 
 
Espere a que se copien los ficheros y se termine de realizar toda la configuración:
 
  
 +
<br>
 
<center>
 
<center>
[[image:Pandora_server_install_windows_071.png]]
+
[[Image:agent_restart_action.png|center|850px]]
 
</center>
 
</center>
 +
<br>
  
Hasta que se completa la instalación:
+
El paso a paso para habilitar la opción de refresco remoto del agente software es:
  
<center>
+
1. Configurar las opciones en el fichero de configuración para el agente software (Unix o Windows). Por favor, tenga cuidado con la dirección IP autorizada (¿está el servidor de Pandora FMS bajo un NAT?), o ponga 0.0.0.0. para permitir que cualquier dirección IP fuerce refrescar el agente.
[[image:Pandora_server_install_windows_081.png]]
 
</center>
 
 
 
Una vez completada se abrirá automáticamente el navegador en la pantalla de login. En el caso de que se haya instalado la versión Enterprise, se le preguntará por el código de licencia que le habrá enviado Artica, para su implementación.
 
El servidor se instala como servicio y se inicia automáticamente en la instalación, salvo en la versión Enterprise, que tras no haberse completado la instalación con un Código de Licencia válido, el servidor no podrá arrancar.
 
  
Para poder iniciar de forma rápida el proceso, podrá iniciarlo desde Inicio > Programas:
+
2. Reinicie el agente software para que los cambios se apliquen.
  
<center>
+
3. Asociar la alerta ''Restart agent'' al módulo de algún agente (es necesario que este agente tenga la dirección IP correctamente configurada).
[[image:Pandora_server_install_windows_091.png]]
 
</center>
 
  
Una vez que el servicio esta corriendo, ya tiene que aparecer la consola con todos los servidores listos:
+
4. Forzar la ejecución de la alerta o bien forzar un estado incorrecto del módulo para que la alerta se dispare.
  
<center>
+
Ahora gracias a esta acción, es posible forzar la alerta manualmente en cualquier momento para refrescar el agente software de forma remota y obtener la información de forma rápida.
[[image:Pandora_server_install_windows_101.png|800px]]
 
</center>
 
  
 +
=== Acciones remotas personalizadas ===
  
=== Funcionamiento módulos WMI en algunas versiones de Windows ===
+
Además de la acción de refrescar agente, podemos especificar acciones personalizadas que realizar en los agentes por medio de órdenes UDP desde el servidor de Pandora FMS.
  
Por motivos de seguridad de Windows, algunas versiones tienen limitados los usuarios con los que puedes realizar consultas WMI remotas. En el caso de que estas consultas no se lleven a cabo, la solución es ejecutar el servicio del Satélite Server como usuario Administrador.
+
En caso de querer hacerlo, hay que hacer una pequeña configuración extra en el archivo pandora_agent.conf. Además, por supuesto, de activar el servicio UDP y configurarlo para que reciba las órdenes del servidor:
  
El proceso a seguir es el siguiente:
+
udp_server 1
 +
udp_server_port 41122
 +
udp_server_auth_address <IP del servidor>
  
Abrimos los servicios:
+
Deberemos añadir una línea por cada comando que queremos ejecutar, con el siguiente esquema:
  
<center>
+
process_nombredelaorden_start comando
[[File:Instalacion windows7.png|450px]]
 
</center>
 
  
Pinchamos botón derecho sobre el servicio y entramos en Propiedades
+
Por ejemplo, si queremos una orden remota para iniciar el servicio sshd:
  
<center>
+
process_sshd_start /etc/init.d/sshd start
[[File:Instalacion windows8.png|500px]]
 
</center>
 
  
Sobre la ventana de Iniciar sesión seleccionamos una cuenta con permisos de Administrador y aplicamos cambios:
+
A continuación, deberemos crear una acción de alerta en Pandora FMS Console para cada comando remoto que hayamos creado. El comando a utilizar será "Remote agent control" (creado por defecto, está preparado para mandar órdenes UDP). En el campo 1 escribiremos "START PROCESS sshd", tal y como puede verse en la captura:
  
 +
<br>
 
<center>
 
<center>
[[File:Instalacion windows9.png|450px]]
+
[[Image:Udp process.JPG|center|850px]]
 
</center>
 
</center>
 +
<br>
  
Tras estos cambios, reiniciamos el servicio.
+
Ahora sólo hay que crear una nueva alerta manual con la nueva acción en el agente cuyo servicio sshd deseemos iniciar.
 +
Al forzar la alerta, la orden se lanzará y el agente iniciará el servicio.
  
  
=== Directorios a tener en cuenta en Windows ===
+
{{tip|También pueden crearse órdenes que llamen a scripts. Esto permite realizar una gran cantidad de acciones remotas en un agente con sólo pulsar un botón.}}
  
Hay una serie de directorios que hay que configurar correctamente en el Setup de Pandora FMS. Son los siguientes:
+
== Plugins en agentes software ==
  
- Directorio remoto de configuración
+
Se caracterizan por realizar comprobaciones avanzadas complejas desde los agentes software, '''pudiendo devolver como resultado varios módulos''' en lugar de un único valor. A diferencia de los plugins de servidor, que se ejecutan por el servidor de Pandora FMS, los plugins de agente devuelven sus datos en un XML, reportando uno o varios módulos a la vez.
  
- Almacenamiento de adjuntos
+
=== Ejecución en sistemas Windows ===
  
<center>
+
En windows, todos los plugins por defecto están programados en VBScript, para ejecutarlos es necesario usar el intérprete adecuado indicando la ruta completa.  
[[image:Path_windows.png|800px]]
 
</center>
 
  
- Directorio de logs del servidor
+
Estos son algunos ejemplos de como usar los plugins por defecto incluídos en el agente Windows:
  
<center>
+
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\logevent_log4x.vbs" Aplicacion System 300
[[image:Path_windows2.png|800px]]
+
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df.vbs"
</center>
+
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\ps.vbs" iexplore.exe myapp.exe
  
- Directorio binarios de Graphviz
+
El agente Windows trae diversos plugins listos para utilizarse.
  
<center>
+
=== Ejecución en sistemas Unix ===
[[image:Path_windows3.png|800px]]
 
</center>
 
  
 +
Los plugins de Unix se buscan por defecto en el directorio "/plugin" del directorio del agente, en /etc/pandora/plugins, por lo que no sería necesario emplear la ruta completa en su ejecución en caso de que se encuentren en este directorio.
  
{{Warning|Se ha observado que en '''Windows 2008 Professional R2''', es necesaria la instalación del paquete '''Microsoft Visual C++ 2008''' para el correcto funcionamiento del Apache.}}
+
Estos son algunos ejemplos de uso de los plugins:
  
'''Microsoft Visual C++ 2008'''<br>
+
  module_plugin grep_log /var/log/syslog Syslog .
http://www.microsoft.com/en-us/download/details.aspx?id=29<br><br>
+
  module_plugin pandora_df tmpfs /dev/sda1
  
<br><br>
+
El agente software Unix trae varios plugins por defecto listos para funcionar.
  
= Configuración inicial después de la instalación =
+
=== Ejemplos de uso de plugins ===  
  
El orden que debe seguir después de la instalación, es
+
Los plugin para el agente software puede devolver un dato o un grupo de ellos. Un ejemplo de plugin que devuelve un dato puede ser el plugin ''ps.vbs'' de Windows, que simplemente comprueba si un proceso se encuentra en ejecución. Con la siguiente línea ejecutamos el plugin:
  
# Crear la base de datos, mediante el wizard de instalación de la consola web de Pandora FMS.
+
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\ps.vbs" IEXPLORE.EXE
# Modificar la configuración del servidor, incluyendo las credenciales de acceso a la BBDD generadas por el paso anterior.
 
# Arrancar el servidor.
 
# Arrancar agente local (si se necesita).
 
# Acceder a la consola de Pandora FMS por primera vez para comenzar a usar Pandora FMS.
 
  
== Afinando la configuración en CentOS7 ==
+
El resultado será un módulo que devuelve 0 si el proceso no está activo y 1 si está activo:
  
CentOS 7 es una buena distribución de Linux pero tiene sus pequeños detalles que trataremos aquí de manera breve, facilitarán instalar Pandora FMS:
+
<module>
 +
    <name><![CDATA[IEXPLORE.EXE]]></name>
 +
    <description><![CDATA[Process IEXPLORE.EXE status]]></description>
 +
    <nowiki><data><![CDATA[1]]></data></nowiki>
 +
</module>
  
CentOS 7 no instala ifconfig, para instalarlo:
+
Un ejemplo de plugin que devuelve varios datos puede ser el plugin ''df.vbs'' de Windows. La línea para ejecutar el plugin sería:
  
  yum install net-tools
+
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df.vbs"
  
CentOS tiene un firewall muy agresivo, y necesitamos deshabilitarlo (más adelante podrá securizar el servidor si lo necesita):
+
El plugin devuelve un módulo por cada disco encontrado, el resultado sería:
  
  systemctl disable firewalld
+
<module>
  systemctl stop firewalld
+
    <name><![CDATA[C:]]></name>
 
+
    <description><![CDATA[Drive C: free space in MB]]></description>
CentOS 7 tiene también SELinux activado por defecto, para deshabilitarlo:
+
    <nowiki><data><![CDATA[8050]]></data></nowiki>
 
+
  </module>
  setenforce 0
+
  sed -i 's/enforcing/disabled/g' /etc/selinux/config /etc/selinux/config
+
<module>
 
+
    <name><![CDATA[D:]]></name>
Programamos para el arranque tanto el servidor WEB como el servidor de base de datos:
+
    <description><![CDATA[Drive D: free space in MB]]></description>
 
+
    <nowiki><data><![CDATA[900]]></data></nowiki>
  systemctl start httpd.service
+
  </module>
  systemctl enable httpd.service
 
  systemctl enable mariadb.service
 
 
 
Quitamos el private tmp del systemd en apache
 
 
 
  sed -i 's/PrivateTmp=true/PrivateTmp=false/g' /etc/systemd/system/multi-user.target.wants/httpd.service
 
 
 
== Configuración inicial de la Consola ==
 
 
 
Estamos suponiendo que va a ejecutar todos los componentes (Base de datos, Consola, Servidor y Agente) sobre la misma máquina. Si todavía no lo ha hecho, arranque el servidor mysql y establezca una contraseña de administrador (root).
 
 
 
/etc/init.d/mysql start
 
 
 
O dependiendo de su versión de linux puede ser:
 
 
 
  service mariadb start
 
 
 
Y ahora establezca la password, por ejemplo "pandora123" para el usuario root de su MYSQL:
 
  
mysqladmin password pandora123
+
=== Gestión de plugins de agente desde la consola ===
  
Ahora levante el servidor Apache en su servidor:
+
En la versión '''Enterprise''' es posible administrar los plugins de agentes software desde la consola sin editar directamente el fichero de configuración.
  
/etc/init.d/httpd start
+
Si un agente tiene la configuración remota activada, en su vista de administración dispondrá de la pestaña del editor de plugins.
 
 
O bien:
 
 
 
service httpd start
 
 
 
Ahora ya debería ser posible acceder mediante el navegador a la dirección IP de nuestro servidor de Pandora FMS y completar el proceso de creación de la base de datos.
 
 
 
Si la IP de su servidor es, por ejemplo, ''192.168.5.54'', ponga en su navegador
 
 
 
http://192.168.5.54/pandora_console/install.php
 
 
 
A partir de ahora solo tiene que seguir los pasos que se le indican para crear la BBDD de Pandora FMS.
 
  
 
<center>
 
<center>
[[Image:Pandora_install_1.png]]
+
<br><br>
 +
[[image:plugin_editor_tab.png]]
 +
<br><br>
 
</center>
 
</center>
  
Pulse siguiente.
+
Este apartado muestra el listado de los plugins activos en el agente, y permite eliminarlos, añadirlos y desactivarlos. En el caso de los plugins de política puede ser útil desactivarlos porque al volver a aplicar la política se mantendrán desactivados.
  
 
<center>
 
<center>
[[Image:Pandora_install_2.png]]
+
<br><br>
 +
[[image:plugin_editor.png|800px]]
 +
<br><br>
 
</center>
 
</center>
  
Esta pantalla se utiliza para verificar que tiene todas las dependencias de software instaladas correctamente.
+
Los plugins administrados en este editor pueden ser, a su vez, editados desde el fichero de configuración del agente.
 
 
Nota: en el caso de que necesite instalar alguna dependencia, será necesario reiniciar el servidor web para que éste las reconozca.
 
  
 
<center>
 
<center>
[[Image:Pandora_install_3.png]]
+
<br><br>
 +
[[image:plugin_editor_conf.png|800px]]
 +
<br><br>
 
</center>
 
</center>
  
Aquí configura los datos de acceso a su servidor MySQL. Debe introducir la password de root que definió en el paso anterior (pandora123 en nuestro ejemplo).
+
=== Cómo crear plugins de agente propios ===
  
<b>Nota:</b> Evite introducir espacios en el nombre de la base de datos.
+
Los plugin pueden ser creados en cualquier lenguaje de programación. Sólo tienen que respetar estas restricciones:
  
<center>
+
* Independientemente de lo que se quiera hacer, debe ser automático (sin interacción del usuario), y debe ser hecho desde la línea de comandos (shell). Se puede usar cualquier tipo de lenguaje de scripting o lenguaje compilado, pero en ese caso hay que distribuir también, además del ejecutable, todas las librerías (o DLL) que sean necesarias para la ejecución del plugin.
[[Image:Pandora_install_4.png]]
 
</center>
 
  
Aquí se muestra la contraseña de acceso a la base de datos:
+
* El plugin debe devolver la información a través de la salida estándar (simplemente usando echo, printf o el equivalente en el lenguaje que se vaya a usar para el plugin), y se debe usar el formato XML de los agentes de Pandora FMS para devolver la información.
  
<center>
+
Este es un ejemplo de un modulo de tipo numérico en XML:
[[Image:Paso5.png]]
 
</center>
 
  
Finalización de la instalación:
+
<module>
 +
<name><![CDATA[Sample_Module]]></name>
 +
<type><![CDATA[generic_data]]></type>
 +
<nowiki><data><![CDATA[47]]></data></nowiki>
 +
<description><![CDATA[47]]></description>
 +
</module>
  
<center>
+
Los datos que van encerrados en los tags <![CDATA[xxx]]> se usan para proteger el XML de cierta informacion que pueda contener caracteres "indigestos" para el XML, como <,>,& or %.
[[Image:Paso6.png]]
 
</center>
 
  
 +
Antes de probar a crear un plugin, visite la librería de plugins de Pandora FMS en https://library.pandorafms.com, y si después se decide a crear su propio plugin, remítalo a la librería pública, para que otros puedan usarlo.
  
=== Aplicación de la licencia ===
+
{{warning|Asegúrate de terminar la salida de tu plugin (si es un script) con un errorlevel 0 o el agente interpretará que el plugin ha tenido un error y no ha podido ejecutar}}
  
La versión Enterprise de Pandora FMS viene asociada a una clave individual para cada instalación. Para poder usar las funcionalidades Enterprise y realizar actualizaciones automáticas de la consola es necesario introducir el número de licencia proporcionado por Artica.
+
==== Ejemplo de plugin en Shellscript (Linux/Unix) ====
  
Para más información de como aplicar la licencia, vaya a [[Pandora:QuickGuides_ES:Guia_Rapida_General#Activaci.C3.B3n_de_la_licencia_Enterprise | Activación de la licencia.]]
+
<pre>
 +
#!/bin/bash
 +
# Detect if local Mysql is without password
 +
# First, do we have a running MySQL?
 +
CHECK_MYSQL=`netstat -an | grep LISTEN | grep ":3306 "`
 +
if [ ! -z "$CHECK_MYSQL" ]
 +
then
  
== Configuración inicial básica del Servidor==
+
        CHECK_MYSQL_ROOT=`echo "select 1234" | mysql -u root 2> /dev/null | grep 1234`
 +
        if [ -z "$CHECK_MYSQL_ROOT" ]
 +
        then
 +
        echo "<module>"
 +
        echo "<type>generic_proc</type>"
 +
        echo "<name>mysql_without_pass</name>"
 +
        echo "<data>1</data>"
 +
        echo "<description>MySQL have a password</description>"
 +
        echo "</module>"
 +
        else
 +
        echo "<module>"
 +
        echo "<type>generic_proc</type>"
 +
        echo "<name>mysql_without_pass</name>"
 +
        echo "<data>0</data>"
 +
        echo "<description>MySQL do not have a password</description>"
 +
        echo "</module>"
 +
        fi
 +
fi
  
Pandora FMS ha configurado su Base de datos y generado un usuario de MySQL para acceder a la misma. Ha generado un password aleatorio para el usuario "pandora" y que debe ser el que utilice para modificar el password que se define en el servidor de Pandora FMS.
+
exit 0
 +
</pre>
  
Para este último paso, tiene que editar el fichero ''/etc/pandora/pandora_server.conf'' de su instalación de Pandora y buscar la línea:
+
==== Ejemplo de plugin en VBScript (Windows) ====
  
dbpass pandora
+
<pre>
 +
' df.vbs
 +
' Returns free space for avaible drives.
 +
' --------------------------------------
  
Y sustituir "pandora" por el password que ha generado el instalador. Una vez que lo ha hecho y grabado el fichero, ya puede arrancar el servidor de Pandora FMS de la siguiente manera:
+
Option Explicit
 +
On Error Resume Next
  
/etc/init.d/pandora_server start
+
' Variables
 +
Dim objWMIService, objItem, colItems, argc, argv, i
  
Debería dar una salida similar a esta:
+
' Parse command line parameters
 +
argc = Wscript.Arguments.Count
 +
Set argv = CreateObject("Scripting.Dictionary")
 +
For i = 0 To argc - 1
 +
    argv.Add Wscript.Arguments(i), i
 +
Next
  
Pandora FMS Server X.Y Build XXXX Copyright (c) 2004-2009 ArticaST
+
' Get drive information
This program is OpenSource, licensed under the terms of GPL License version 2.
+
Set objWMIService = GetObject ("winmgmts:\\.\root\cimv2")
You can download latest versions and documentation at http://www.pandorafms.org
+
Set colItems = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk")
 
  [*] Backgrounding Pandora FMS Server process.
 
 
 
Pandora Server is now running with PID 2085
 
  
{{tip|El tentacle_server esta configurado para iniciarse en con el sistema, pero si acaba de instalar Pandora FMS y aun no ha reiniciado el servidor, es recomendable levantar el servicio a mano}}
+
For Each objItem in colItems
 +
If argc = 0 Or argv.Exists(objItem.Name) Then
 +
If objItem.FreeSpace <> "" Then
 +
Wscript.StdOut.WriteLine "<module>"
 +
Wscript.StdOut.WriteLine "    <name><![CDATA[" & objItem.Name & "]]></name>"
 +
Wscript.StdOut.WriteLine "    <description><![CDATA[Drive " & objItem.Name & " free space in MB]]></description>"
 +
Wscript.StdOut.WriteLine "    <data><![CDATA[" & Int(objItem.FreeSpace /1048576) & "]]></data>"
 +
Wscript.StdOut.WriteLine "</module>"
 +
            Wscript.StdOut.flush
 +
End If
 +
End If
 +
Next
 +
</pre>
  
Para levantar tentacle server a mano, deberá escribir el comando:
+
=== Utilizando plugins de Nagios desde el agente ===
  
/etc/init.d/tentacle_serverd start
+
Nagios tiene un gran número de plugins que puede utilizar con Pandora FMS. Un modo de hacerlo es utilizar los plugins remotos con el Plugin Server, usando la compatibilidad de Nagios. Pero de este modo, sólo conseguirá sus estados, ya que no utiliza el output descriptivo que tienen algunos plugins para Nagios.
  
=Instalación Agentes Pandora FMS=
+
Utilizar el wrapper para usar los plugins de nagios en el agente software resolverá este problema. El wrapper viene por defecto con el agente de Unix 3.2. Un plugin equivalente para los agentes Windows de Pandora FMS puede descargarse desde la librería de recursos de Pandora FMS, en [https://library.pandorafms.com/index.php?sec=Library&sec2=repository&lng=es&action=view_PUI&id_PUI=178]).
  
== Requisitos para el agente ==
+
'''¿Qué hace el wrapper de plugins para los plugins de Nagios?'''
  
El agente puede ejecutarse en cualquier equipo con el sistema operativo mínimo requerido, cualquiera de los siguientes:
+
Ejecuta el plugin de Nagios, utilizando sus parámetros originales y convirtiendo el output en datos útiles para Pandora FMS. Este tiene dos tipos de información:
  
 +
* Información acerca del Status: NORMAL (1), CRITICAL (0), WARNING (2), UNKNOWN () y otras (4). Por defecto, utilizarán un modulo proc, con lo que los valores NORMAL y CRITICAL están trabajando "por defecto"; si usted desea tener información acerca de WARNING y otros valores, deberá configurar los umbrales del módulo de manera manual.
  
<table cellpadding=6 cellspacing=0 style='background-color: #ECECEC;'>
+
* Información de tipo descriptivo: Generalmente información de cadenas. Se situará en el campo de descripción del módulo. Normalmente algo parecido a "OK: successfully logged in".
<tr>
 
<th style='text-align:center; background-color: #7CA12A; color:#FFFFFF'>Componente</th>
 
<th style='text-align:center; background-color: #7CA12A; color:#FFFFFF'>Sistema Operativo</th>
 
</tr>
 
<tr>
 
<td>Pandora Agent 4.0 o superior</td>
 
<td>
 
* RedHat Enterprise (RHEL) 6.x
 
* CentOS 6.x
 
* SLES 11 SP1 o superior
 
* OpenSUSE 11.x o superior
 
* Debian 5.x o superior.
 
* Ubuntu 11 o superior.
 
* HPUX B.11.11 o superior, con Perl 5.8.
 
* AIX 4.3.3 o superior, con Perl 5.8.
 
* Sistemas BSD (NetBSD, OpenBSD, FreeBSD), con Perl 5.8.
 
* MacOSX 10.6 o superior.
 
* Solaris 8 o superior, con Perl 5.8.
 
* Windows NT4 (ver notas especiales de esta version).
 
* Windows XP
 
* Windows 2000
 
* Windows 2003
 
* Windows 2008
 
* Windows 7
 
* Windows 8
 
* Windows 2012
 
</td>
 
</tr>
 
<tr>
 
<td>Pandora Android Agent 2.0 o superior</td>
 
<td>
 
* Android 2.2 o superior
 
</td>
 
</tr>
 
<tr>
 
<td>Pandora Embedded Agent 4.0 o superior</td>
 
<td>
 
* Dispositivos embebidos, requiere compilación
 
</td>
 
</tr>
 
</table>
 
  
 +
==== Ejemplo ====
  
<br>
+
Si tiene un plugin pop3 (en /tmp/check_pop3_login) con los permisos de ejecución, (lo que comprueba si la cuenta pop3 está funcionando sólo con conectarse con un host remoto, enviando un usuario y una contraseña y visualizando que todo esté correcto), entonces, puede ejecutarlo desde la línea de comandos:
{{Tip|Existe un agente especial para Windows NT, que es básicamente el agente de Unix compilado para Windows, aunque el rendimiento es muy inferior al de un agente nativo Windows y las funcionalidades de acceso a la API nativa no está presente}}
 
  
Además en entornos UNIX debe estar instalado:
+
/tmp/check_pop3_login  mail.artica.es [email protected] mypass
  
* '''Perl 5.8''' o superior
+
Devolverá algo parecido a :
* Opcionalmente el paquete '''unzip''' instalado correctamente y '''accesible en el path del usuario''' que va a ejecutar el agente.(Sólo si se desean usar las colecciones de ficheros).
 
  
== Instalación del agente desde tarball ==
+
OK: successfully logged in.
 +
 +
Y si no es correcto devolverá algo similar a esto:
  
Esta versión del agente está preparada para su instalación en cualquier sistema Unix/Linux/MAC OS
+
Critical: unable to log on
  
El agente no requiere compilación ni preparación, una vez que tenemos el agente descargado en formato .tar.gz
+
Utilizar el wrapper es fácil. Sólo tiene que poner el wrapper y el nombre que desee al módulo antes de ejecutar la llamada:
  
1. Nos hacemos root
+
/etc/pandora/plugins/nagios_plugin_wrapper sancho_test /tmp/check_pop3_login  mail.artica.es [email protected] mypass
  
su -
+
Esto generará un XML completo para el plugin de agente.
  
2. Lo copiamos a /tmp y dentro de /tmp ejecutamos:
+
<module>
 +
<name>sancho_test</name>
 +
<type>generic_proc</type>
 +
<nowiki><data>0</data></nowiki>
 +
<description><![CDATA[Critical: unable to log on]]></description>
 +
</module>
  
tar xvzf pandorafms_X.Y_unix.tar.gz
+
O:
cd unix
 
./pandora_agent_installer --install
 
  
3. Arrancamos manualmente el agente
+
<module>
 +
<name>sancho_test</name>
 +
<type>generic_proc</type>
 +
<nowiki><data>1</data></nowiki>
 +
<description><![CDATA[OK: successfully logged in.]]></description>
 +
</module>
  
/etc/init.d/pandora_agent_daemon start
+
La entrada completa en el pandora_agent.conf será algo similar a:
  
=== Instalación personalizada ===
+
module_plugin nagios_plugin_wrapper POP3_artica.es /tmp/check_pop3_login mail.artica.es [email protected] mypass
  
El agente puede ser instalado en un directorio definido por el usuario de forma ''integral'', esto significa que se meterán en ese directorio todos los ficheros del agente: logs, ficheros de configuración, binarios, paginas del man, etc.
+
Esto se verá de manera parecida a esto en el módulo (en el fail event):
  
Para usar ese método, simplemente ejecutar como el siguiente ejemplo:
+
<center>
 +
<br>
 +
[[file:Sample_plugin_wrapper.png|center]]
 +
</center>
  
./pandora_agent_installer --install /opt/pandora
+
== Monitorización con KeepAlive ==
  
El único fichero que Pandora FMS creará fuera de ese directorio definido por el usuario, es el lanzador del agente en ''/etc/init.d/pandora_agent_daemon'' (o equivalente en otros sistemas Unix), y el enlace en el directorio del nivel de arranque del sistema, por ejemplo ''/etc/rc.d/rc2.d/S90pandora_agent_daemon''.
+
Existe un módulo especial, tiene un tipo único llamado "keep_alive" y sirve para dar información ante la ausencia de contacto del agente. Sirve para saber cuando un agente ha dejado de enviar información y alertarnos de este hecho.
  
Además, se puede configurar la instalación para que en vez de ejecutarse el agente con usuario root, se pueda ejecutar con otro usuario. Por ejemplo para que el agente se ejecute con el usuario Pandora, sería:
+
Cuando hay un módulo, remoto o local, que obtiene información del agente, la fecha de último "contacto" con el agente se actualiza, de forma que siempre que hay datos, aunque solo sea un módulo del total, el agente tendrá actualizado su fecha de ultimo contacto, que sirve para saber si el agente "no responde". Concretamente un agente se da por "muerto" cuando no ha actualizado su fecha en el doble de tiempo de su intervalo, es decir, si tiene un intervalo de 5 minutos, y hace más de 10 minutos que no hay ningún de actualización, el agente se da por muerto.
  
./pandora_agent_installer --install /home/pandora pandora
+
En este caso, es cuando el módulo keepalive entraría en juego, disparándose y marcando el monitor en estado Critical.
 
 
Cuando se especifica un usuario personalizado hay que instalar el agente en una localización personalizada en la que el usuario tenga permisos de escritura (/home/pandora en el ejemplo anterior).
 
  
 +
La configuración de este tipo de módulos es muy fácil, basta con crear un nuevo módulo de tipo "KeepAlive":
 +
<br><br>
 +
<center>
 +
[[File:Keepalive.JPG|center|800px]]
 +
</center><br>
 
<br>
 
<br>
{{Warning|El usuario '''pandora''' viene desactivado por defecto, debe activarlo poniendo una shell válida en ''/etc/passwd'' si quiere usarlo para ejecutar el agente con dicho usuario}}
+
Una vez creado, si el agente tiene datos, dentro de su intervalo, siempre estará en estado "NORMAL" (verde):
 
 
{{Warning|Para los usuarios que se encuentren con una versión de '''MAC OS X 10.11''' o superior (El Capitan o más reciente): Apple ha añadido una nueva capa de seguridad en OS X. Han desaparecido algunos privilegios de root. A la hora de instalar el Agente de Pandora FMS le aparecerá como un proceso restringido. Sólo los procesos restringidos que son firmados por Apple podrán modificar estos archivos. Sin embargo, puede desactivar este sistema de seguridad mediante el arranque en modo de recuperación y su desactivación en un terminal haciendo: csrutil desactivar.}}
 
 
 
=== Instalación del Agente en CentOS/RedHat ===
 
 
 
Para la instalación del agente software en CentOS/RedHat debería haber descargado de nuestro sitio web el paquete RPM correspondiente a CentOS/Rehdat
 
 
 
Para instalarlo simplemente ejecute este comando:
 
 
 
rpm -i pandorafms_agent-7.0NG-1.noarch.rpm
 
 
 
En el caso de que se tenga activado el repositorio de CentOS pueden instalar el agente mediante esta ejecución:
 
 
 
yum install pandorafms_agent
 
 
 
 
 
=== Instalación del Agente en Ubuntu/Debian ===
 
 
 
Para la instalación del agente software en Debian debería haber descargado de nuestro sitio web un paquete deb con este nombre o similar
 
 
 
pandorafms_agent_unix-7.0NG-1.noarch.deb
 
 
 
Para instalarlo simplemente ejecute este comando:
 
 
 
dpkg -i pandorafms_agent_unix-7.0NG-1.noarch.deb
 
 
 
En el caso de que se tenga activado el repositorio de Debian pueden instalar el agente directamente mediante esta ejecución:
 
 
 
apt-get install pandorafms_agent_unix
 
 
 
=== Instalacion del Agente en SUSE ===
 
 
 
Para la instalación del agente software en SUSE debería haber descargado de nuestro sitio web un paquete RPM similar. Puede que cambie algún número de versión o algún otro detalle, pero debería parecerse a este:
 
 
 
pandorafms_agent_unix-7.0NG-1.noarch.rpm
 
 
 
Para instalarlo simplemente ejecute este comando:
 
 
 
rpm -i pandorafms_agent_unix-7.0NG-1.noarch.rpm
 
 
 
En el caso de que se tenga activado el repositorio de SUSE pueden instalar el agente mediante esta ejecución:
 
 
 
zypper install pandorafms_agent_unix
 
 
 
=== Instalación del agente en NetBSD y FreeBSD ===
 
 
 
No existe el fichero agentes de Pandora FMS para FreeBSD y NetBSD.
 
Deberá instalar el agente de Pandora FMS utilizando el instalador.
 
 
 
Para instalar utilizando el instalador, lea con atención la siguiente sección que aparece a continuación:"Instalación manual desde las fuentes en Linux/Unix".
 
 
 
La localización de los ficheros y la estructura del script de inicio son diferentes respecto a Linux.
 
 
 
Estudiaremos las peculiaridades de FreeBSD más adelante.
 
 
 
Después de la instalación, deberá añadir la siguiente línea a /etc/rc.conf.
 
 
 
pandora_agent_enable="YES"
 
 
 
Para habilitar el agente de Pandora FMS, se necesitan estos ajustes, de otro modo no se podrán iniciar el proceso.
 
 
 
En FreeBSD, la mayor parte de los ficheros del agente de Pandora FMS están instalados en /usr/local.
 
 
 
Agente:
 
/usr/local/bin/pandora_agent
 
Script de arranque:
 
/usr/local/etc/rc.d/pandora_agent
 
Fichero de configuración:
 
/usr/local/etc/pandora/pandora_agent.conf
 
Plugins:
 
/usr/local/share/pandora_agent/plugins/*
 
Man pages:
 
/usr/local/man/man1/*
 
Otros:
 
Los directorios data_in y log son los mismos que en Linux.
 
 
 
=== Instalación del Agente en Windows ===
 
 
 
El agente se entrega como un autoinstalador en formato ejecutable (.exe). La instalación básica realiza todos los pasos necesarios y tan sólo es necesario aceptar todas las opciones.
 
 
 
Para instalar el agente de Pandora FMS en Windows solo hace falta descargarlo y ejecutarlo. El instalador le guiará a través de los pasos necesarios en el idioma que seleccione. En el siguiente ejemplo se muestra la instalación para Windows XP, recuerde que Pandora FMS funciona en cualquier plataforma moderna de Microsoft (2000 o superior). También dispone de versiones de 32 y de 64 bit.
 
 
 
 
<br><br>
 
<br><br>
Seleccione el idioma:
 
 
 
<center>
 
<center>
[[image:Pandora_agent_3.0_RC3_install_windows_01.png]]
+
[[File:Keepalive1.png|center|800px]]
</center>
+
</center><br>
 
+
<br>
Siga los pasos del instalador:
+
Si el agente deja de enviar datos (en este ejemplo, tenía intervalo de 1 minuto), entonces automáticamente saltará y se pondrá en estado CRITICAL (rojo):
 
+
<br><br>
 
<center>
 
<center>
[[image:Pandora_agent_3.0_RC3_install_windows_021.png]]
+
[[File:Keepalive2.png|center|800px]]
</center>
+
</center><br>
 +
<br>
 +
Cabe destacar que si tenemos un módulo remoto, por ejemplo, un Ping, además de los datos reportados por el agente, el módulo keepalive nunca saltaría, ya que estamos actualizando el agente constantemente mediante el Ping.
  
Acepte los términos de la licencia y pulse Next:
+
El módulo keepalive por lo demás se comporta como cualquier otro módulo, se le puede asociar una alerta y se puede usar para cualquier otro elemento: informes, mapas, etc.
  
<center>
+
{{Tip|El módulo keepalive se puede crear solo desde la consola (aunque no tengamos configuración remota habilitada) y no deja ninguna traza en el fichero pandora_agent.conf}}
[[image:Pandora_agent_3.0_RC3_install_windows_031.png]]
 
</center>
 
  
Seleccione la ruta donde se instalará el agente de Pandora FMS (por defecto se instala en c:/archivos  de programa/pandora_agent), puede cambiarla pulsando Browse..., después pulse Next:
+
== Monitorización de capturas de comandos (Command snapshots) ==
  
<center>
+
Comandos que presenten salidas extensas, como ''top'' o ''netstat'' pueden ser capturados completamente por un módulo y mostrados por completo. El módulo debe configurarse como tipo texto.
[[image:Pandora_agent_3.0_RC3_install_windows_041.png]]
 
</center>
 
  
Espere a que se copien los ficheros.
+
En la siguiente captura se muestra el resultado de uno de estos módulos, en este caso la salida de ''netstat -an'':
  
 +
<br>
 
<center>
 
<center>
[[image:Pandora_agent_3.0_RC3_install_windows_061.png]]
+
[[File:Snapshot 1.png|center|650px]]
 
</center>
 
</center>
 +
<br>
  
Configure los datos para el agente como la dirección IP (o nombre) del servidor de Pandora FMS que recibirá los datos del agente.
+
{{Warning|Para que esto funcione así, hay que configurar adecuadamente tanto la consola de Pandora (setup) como el agente que recoge esa información, asegurándose de que es texto sin tratar}}
Para poder cambiar otros parámetros, tales como cambiar el nombre del agente (por defecto toma el valor del hostname de la máquina) o la ruta de los ficheros temporales, tendrá que editar a mano la configuración del agente.
 
 
 
<center>
 
[[image:Pandora_agent_3.0_RC3_install_windows_071.png]]
 
</center>
 
<center>
 
[[image:Pandora_agent_3.0_RC3_install_windows_072.png]]
 
</center>
 
  
Decida si quiere iniciar en el momento el servicio del agente de Pandora FMS, de lo contrario tendrá que hacerlo de forma manual, o bien se iniciará cuando Windows se reinicie de nuevo.
+
Para configurar adecuadamente la consola, hay que asegurarse que en la sección principal del setup tenemos la propiedad "Comand line snapshot" activada:
  
 
<center>
 
<center>
[[image:Pandora_agent_3.0_RC3_install_windows_081.png]]
+
[[File:command_line_snapshot_setup.png|center]]
 
</center>
 
</center>
  
La instalación ha finalizado, puede cambiar los parámetros del agente en el fichero ''pandora_agent.conf'' o bien a través del enlace directo en el menú Pandora FMS.
+
== Monitorización y visualización de imágenes ==
  
==== Instalación desatendida del agente Windows ====
+
Este método permite definir módulos de tipo cadena (generic_data_string o async_string) que contengan imágenes en formato texto con una codificación base64, pudiendo mostrar dicha imagen en lugar de un resultado concreto. Esta se almacena como información de texto, y se visualiza de una forma diferente, no como simples datos, sino reconstruyendo una imagen.
  
A partir de la '''VERSIÓN 5.1''' del agente, el instalador soporta el modo desatendido. Para realizar la instalación simplemente habrá que ejecutar lo siguiente:
+
Así es como se ve la salida de una cadena de texto con el contenido "data:image" (imagen en base64), capturado por Pandora FMS, al pinchar en el icono especial para las capturas de imágenes:
  
"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S
+
<br>
 +
<center>
 +
[[File:Snapshot_text 1.png|center|650px]]
 +
</center><br>
  
En el caso de que queramos instalar el agente en otra ruta diferente a la de por defecto:
+
<br>
  
"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S /D=C:\Agente_Pandora
+
Para capturar estas imágenes, basta con escribir un plugin que envíe todos los datos, generando los tags XML necesarios, y ejecutando el plugin como tal, con la directiva ''module_plugin''. Veamos el siguiente plugin de ejemplo, que genera la salida de una imagen, tal como acaba de ver en la captura anterior:
  
También se pueden pasar ciertos parámetros para que se escriban en el fichero de configuración del agente a crear. Gracias a estas opciones el despliegue de los agentes de Pandora FMS es mucho más personalizable. Las opciones por línea de comandos que se soportan son las siguientes:
+
<pre>
 +
#!/bin/bash
 +
echo "<module>"
 +
echo "<name>Líder actual de la liga</name>"
 +
echo "<type>async_string</type>"
 +
echo "<data><![CDATA[data:image/jpeg;base64,/9j/4AAQSkZ....]]></data>"
  
* '''--ip''': Se corresponde con el token ''server_ip''.
+
// El dato anterior sería generado por un dispositivo/aplicación dando imágenes en base64.
* '''--group''': Se corresponde con el token''group''.
 
* '''--alias''': Se corresponde con el token''agent_alias''.
 
  
Por ejemplo, si se quiere crear un agente que pertenezca al grupo ''Applications'', con nombre ''Mifunne'' y que apunte al servidor con la IP ''192.168.0.59'' el comando sería:
+
echo "</module>"
 +
</pre>
  
"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S  --ip 192.168.0.59 --group Applications --alias Mifunne
+
Grabe ese contenido a un archivo en el agente (o distribúyalo con colecciones de ficheros) y ejecútelo de la siguiente manera:
  
==== Desinstalación desatendida ====
+
module_plugin <path completo al fichero>
  
El desinstalador que es un ejecutable llamado <code>uninstall.exe</code> que queda en el directorio de instalación de Pandora FMS también permite la '''desinstalación desatendida''', para ello hay que ejecutar el desinstalador con la opción <code>'''/S'''</code>.
+
== Grupos protegidos por contraseña ==
  
Por ejemplo, suponiendo que Pandora FMS esté instalado en el path por defecto:
+
Por defecto, cuando un agente envía datos por primera vez al servidor de Pandora FMS se añade de forma automática al grupo que se haya definido en el fichero de configuración del agente. Esto significa que, en la práctica, cualquiera puede añadir un agente a un grupo si conoce el nombre del grupo. Esto podría suponer un problema si varios clientes comparten su instancia de Pandora FMS o si quiere controlar lo que hay en cada grupo.
  
c:\archivos de programa\pandora_agent
+
Es posible configurar de manera opcional una contraseña para un grupo desde la Consola de pandora FMS. Un agente no se añadirá a un grupo a menos que se haya especificado la contraseña correcta en el fichero de configuración del agente.
  
Habría que ejecutar:
+
=== Ejemplo ===
  
“c:\archivos de programa\pandora_agent\uninst.exe” /S
+
Para configurar una contraseña para un grupo, navege al ''editor de grupos'' y haga click en ''editar'', introduzca la contraseña del grupo y guarde sus cambios:
 
 
==== Utilizando PandoraAgent.exe desde la línea de comandos ====
 
 
 
Si ejecutamos pandoraagent.exe --help, nos mostrará algo similar a esto:
 
 
 
Pandora FMS agent for Windows. Version 3.0(Build 091125)
 
Usage: PandoraAgent.exe [OPTION]
 
 
Available options are:
 
        --install:  Install the Pandora Agent service.
 
        --uninstall: Uninstall the Pandora Agent service.
 
        --test-ssh: Test the SSH Pandora Agent configuration.
 
        --test-ftp: Test the FTP Pandora Agent configuration.
 
        --process: Run the Pandora Agent as a user process instead of a service.
 
 
 
 
 
Para instalar el servicio (si este no está instalado), basta con ejecutar lo siguiente ''dentro'' del directorio donde está el ejecutable (generalmente c:\program files o equivalente).
 
 
 
pandoraagent.exe --install
 
 
 
Esto instará el servicio en la máquina, basándose en el path donde se ubica el .exe
 
 
 
Si queremos desinstalarlo, es el mismo proceso pero:
 
 
 
pandoraagent.exe --uninstall
 
 
 
Si quiere probar una conexión ftp o ssh desde la línea de comando puede utilizar las opciones indicadas arriba.
 
  
 +
<center>
 +
[[File:Passgr1.JPG|center]]
 +
</center>
  
==== Agente Windows de Pandora FMS como proceso ====
+
Para añadir un agente nuevo a este grupo, edite su fichero de configuración y añada la siguiente opción de configuración:
  
Es posible, por motivos de depuración, pruebas y otras circunstancias poco habituales, ejecutar el agente en modo "Proceso". Esto se hace ejecutándolo desde línea de comando:
+
  group_password <password>
  
pandoraagent.exe --process
+
No olvide reiniciar el agente para hacer efectivos los cambios. El agente debería crearse correctamente en la consola de Pandora FMS.
  
Existen algunas limitaciones en la ejecución al modo proceso, ya que Pandora FMS está pensado para ejecutarse como servicio y bajo el usuario SYSTEM. Si lo ejecuta con otro usuario sin privilegios, habrá funcionalidades que no operen correctamente.
 
  
[[Pandora:Documentation|Volver a Indice de Documentacion Pandora FMS]]
+
[[Pandora:Documentation|Volver a Indice de Documentación Pandora FMS]]
  
 
[[Category: Pandora FMS]]
 
[[Category: Pandora FMS]]
 +
[[Category:Documentation]]

Revision as of 08:46, 5 June 2020

Volver a Indice de Documentacion Pandora FMS

Contents

1 Monitorización con agentes software

1.1 Nombre de los agentes

A partir de la versión 7 de Pandora FMS los agentes tienen un alias y un nombre (o identificador único). Un agente configurado por defecto generará un nombre (o identificador) basado en una cadena hexadecimal pseudoaleatoria, y un alias (o nombre visible) basado en el hostname de la máquina.

En versiones anteriores solo existía el "nombre" de la máquina, y el sistema anterior es totalmente compatible con las versiones más modernas de Pandora FMS, solo que si en una misma instalación de Pandora FMS encuentra dos agentes con el mismo identificador (o nombres) los datos de ambos agentes se mezclarán y/o pisarán. Por eso introdujimos a partir de la versión 7 la posibilidad que agentes con diferente nombre pudieran tener el mismo alias.

Para cambiar este comportamiento se utilizan los token de configuración siguientes:

pandora_agent
pandora_alias

Por defecto, el fichero de configuración no utiliza ninguno de los dos, de forma que obtiene el hostname de la máquina como alias y un numero hexadecimal aleatorio muy grande como nombre o identificador. El nombre del agente no es ya visible (excepto en la vista detallada del agente) y NO se puede cambiar. El Alias del agente se puede cambiar en cualquier momento, sin tener que preocuparse de la configuración del agente software, ya que el que se usa para identificar unívocamente al agente es el "nombre" de agente.

1.2 Configuración de agentes

Toda la configuración y los parámetros de monitorización de los agentes software se encuentra en su fichero de configuración pandora_agent.conf. Este se encuentra almacenado localmente en la máquina donde se encuentra instalado el agente software, por lo que toda modificación que queramos hacer en el agente deberá reflejarse en este fichero. Tiene una descripción detallada de todos los tokens de configuración del agente en el capítulo "Configuración de los agentes de PandoraFMS". Aquí nos enfocaremos en los usos avanzados de algunos de ellos.

1.2.1 Configuración remota

En la versión Enterprise es posible gestionar remotamente los ficheros de los agentes software desde la consola. Esto permite la administración centralizada de todos nuestros agentes software sin necesidad de acceder físicamente a los sistemas donde se encuentran instalados.

La configuración de cada agente se almacena en el servidor de Pandora FMS en dos ficheros: <md5>.conf y <md5>.md5, siendo <md5> el hash del nombre del agente. Estos ficheros son almacenados respectivamente en /var/spool/pandora/data_in/conf y /var/spool/pandora/data_in/md5.

Estos ficheros almacenados en el servidor son modificados por la propia consola de Pandora FMS cuando se edita la configuración de los agentes de forma remota.


Sw-agent.png


Para habilitar la configuración remota solo hay que habilitar el parámetro correspondiente en el fichero de configuración local del agente en primer lugar. A partir de este momento todos los cambios deberán hacerse desde la consola de Pandora FMS:

remote_config 1

Info.png

Una vez que la configuración remota del agente está activada, cualquier cambio que se haga localmente en el fichero de configuración se sobreescribirá por la configuración almacenada en la consola. Si quiere evitar que eso ocurra, pare el agente, modifique el fichero de configuración y deshabilite la configuración remota y levante el agente de nuevo.

 


1.3 Parámetros de configuración comunes

En la sección Agentes software de Pandora FMS puede encontrar una explicación más detallada de la configuración del agente. En este apartado vamos a mencionar los parámetros más importantes para la configuración básica del agente.

Los parámetros más usados son:

  • server_ip: Dirección IP del servidor de Pandora FMS.
  • server_path: Ruta de la carpeta incoming del servidor Pandora FMS. Por defecto /var/spool/pandora/data_in.
  • temporal: Carpeta temporal del agente software. Por defecto /tmp.
  • logfile: Archivo de log del agente software. Por defecto /var/log/pandora/pandora_agent.log.
  • interval: Intervalo de ejecución del agente, en segundos. Por defecto 300.
  • debug: Habilita (1) el modo debug, para guardar los ficheros de datos XML en local y poder analizarlos. Cuando está activado, no envía los XML al servidor y para la ejecución, para poder analizar el XML generado.
  • agent_name: Nombre del agente. Por defecto se coge el hostname.
  • remote_config: Activación de configuración remota. Por defecto 0 (desactivada). Solo Enterprise.

Un ejemplo de los parámetros generales desde una configuración Unix sería:

server_ip       192.168.1.1 
server_path     /var/spool/pandora/data_in 
temporal        /tmp 
logfile         /var/log/pandora/pandora_agent.log 
interval        300 
debug           0 
agent_name      box01 
server_port     41121 
transfer_mode   tentacle 
remote_config    1 

Un ejemplo de los parámetros generales desde una configuración Windows sería:

server_ip       192.168.1.1 
server_path     /var/spool/pandora/data_in 
temporal        "C:\Program Files\pandora_agent\temp"
logfile         "C:\Program Files\pandora_agent\pandora_agent.log"
interval        300 
debug           0 
agent_name      box02
server_port     41121 
transfer_mode   tentacle 
remote_config   1

1.4 Custom fields

Los Campos personalizados permiten añadir información adicional al agente. Puedes crear campos personalizados en Resources > Custom fields.


Customfields1.JPG


Custom fields2.png


Info.png

Se podrán incluir enlaces en los custom fields usando las etiquetas [url]enlace[/url] o [url=enlace]Nombre web[/url].

 


A la hora de crear custom fields propios se podrán especificar los siguientes parámetros:

  • Name: Nombre del campo personalizado.
  • Password type: Los campos con este parámetro activado se mostrarán como asteriscos.
  • Display on front: Con este parámetro activado, la información del campo personalizable se enseñará en la vista general del agente, tal como se muestra a continuación:


Customfields3.JPG


  • Enabled combo: Este parámetro permite activar la configuración de parámetros seleccionables desde un desplegable. Una vez activado, en la ventana de configuración del custom field correspondiente aparecerá un nuevo campo para introducir los valores del combo separados por comas.

Template warning.png

Si se activa el parámetro "Enabled combo", "Password type" quedará inhabilitado.

 



Customfields2.JPG


Estos custom fields también se pueden pasar desde el fichero de configuración del agente, utilizando el siguiente token de configuración:

custom_field1_name Model
custom_field1_vale i386

Este ejemplo, permite usar un campo personalizado de agente definido en el .conf del agente.

1.5 Monitorización con agente software

Los agentes software se encuentran en ejecución en los sistemas de los cuales recogen información. Cada uno de los chequeos que hacen sobre el sistema, como uso de CPU, memoria libre o espacio en disco, corresponde a un módulo. Por tanto, cada uno de estos módulos recoge un único dato en cada ejecución.

También existen algunas directivas propias del agente que sirven para recoger ciertos datos directamente del sistema operativo (p.e: Uso de CPU, memoria, eventos, etc). Con estas directivas propias del agente, no hace falta ejecutar comandos. Consulte la documentación de configuración del agente para un detalle más completo.


Agent-monitoring.png


Los agentes software de Pandora FMS utilizan los comandos propios del sistema operativo en el que se encuentran instalados para obtener la información para cada uno de sus módulos. El servidor de datos (dataserver) de Pandora FMS procesa y almacena en la base de datos toda la información generada por los agentes software, que le hacen llegar sus datos en un fichero XML.


Esquema-3.png
Esquema lógico de un agente/agente fisico


En el archivo de configuración del agente los módulos están definidos con la siguiente estructura básica de texto:

module_begin 
module_name your module name
module_type generic_data
module_exec your command 
module_description your description
module_end

Un caso real:

module_begin 
module_name Files data_in
module_type generic_data
module_exec ls /var/spool/pandora/data_in | wc -l
module_description Number of files incoming dir
module_end

La línea module_exec contiene el comando que se ejecutará para recoger la información. El valor devuelto por esa ejecución será el dato que obtendrá el módulo y será mostrado en la monitorización. Otro comando para obtener información mediante module_exec sería:

module_exec vmstat 1 2 | tail -1 | awk '{ print $13 }'

Para recoger la información el agente ejecutará el comando en la shell igual que si lo hiciera un operador, por lo que ante la duda siempre es aconsejable lanzar el comando manualmente y analizar la salida:

$> vmstat 1 2 | tail -1 | awk '{ print $13 }'

El valor devuelto por la ejecución será almacenado en el XML como dato del módulo. Se puede indicar cualquier cosa en la línea module_exec mientras la salida sea compatible con los valores aceptados por Pandora (numérico, alfanumérico o booleano), por lo que es posible indicar scripts personalizados:

module_exec myScript.pl --h 127.0.0.1 -v cpu

De nuevo el agente ejecutaría el comando en la shell y recogería el resultado, igual que si un operador escribiera en la shell:

$> myScript.pl --h 127.0.0.1 -v cpu

Cuando un agente software arranca y se ejecuta por primera vez, envía su fichero XML al servidor de Pandora FMS, que crea automáticamente el nuevo agente con todos sus módulos.

1.5.1 Tipos de módulos

A continuación se detallan los tipos de módulos posibles en agentes software en función del tipo de dato devuelto:

  • generic_data: Datos numéricos y de coma flotante.
  • generic_data_inc: Tipo de datos numéricos crecientes. Almacena la diferencia entre el dato anterior y el dato actual divida por el tiempo transcurrido en segundos, mostrando la tasa por segundo. Este tipo de datos se utiliza para contar el "nº de veces por segundo" de algo, como por ejemplo, entradas en un log/seg, bytes recibidos/seg, conexiones entrantes/seg, etc.
  • generic_data_inc_abs: Tipo de datos numéricos crecientes absolutos. Almacena la diferencia entre el dato anterior y el dato actual, sin realizar la división entre los segundos transcurridos, por lo que el valor corresponderá al incremento total entre las dos ejecuciones, y no al incremento por segundo. Este tipo de datos se utiliza para contar el número de veces de algo, como por ejemplo, entradas en un log, bytes totales recibidos, cantidad de conexiones entrantes, etc.
  • generic_proc: Tipo de datos booleano. Donde un valor 0 significa Falso o incorrecto, y valores por encima de cero significan Cierto o correcto. Los tipos generic_proc traen preconfigurados los estados crítico (0) y correcto (1 o superior).
  • generic_data_string: Tipo de datos alfanuméricos (texto).
  • async_data: Tipo de datos numéricos asíncronos. Igual que generic_data pero para datos asíncronos, que sólo se actualizan cuando existe un cambio. Los tipos de datos asíncronos no tienen una periodicidad definida de cuando podemos obtener datos.
  • async_string: Tipo de datos alfanuméricos asíncronos. Igual que generic_string pero para datos asíncronos, que sólo se actualizan cuando existe un cambio. Es el tipo de datos que deberíamos usar para monitorizar búsquedas dentro de logs, o visores de eventos, ya que podemos tener un dato por segundo o no tener uno en varios días.
  • async_proc: Tipo de datos booleanos asíncronos. Igual que generic_proc pero para datos asíncronos, que sólo se actualizan cuando existe un cambio.
  • Modulo de imagen: Utilizan como base un módulo de tipo cadena de texto (generic_data_string o async_string). Si el dato que contiene el módulo es una imagen codificada en base64, es decir, si parte de la cadena de texto tiene "data:image", será identificado como una imagen y habilitará en las vistas que lo listen un enlace a una ventana para visualizar la imagen, además de mostrarse en su respectivo histórico un contenido de las distintas imágenes que formarían las cadenas almacenadas.

El agente software ya viene configurado para enviar ciertos datos del sistema en el que se instala; éstos suelen ser (dependiendo de la versión):

  • CPU de sistema.
  • Espacio libre en disco.
  • Memoria libre.
  • Monitor del estado de programas y/o servicios.

1.5.2 Intervalos en los módulos locales

Los módulos locales (o de agente software) tienen todos como "base" el intervalo de su agente. Es decir, si un agente tiene un intervalo de 5 minutos (300 segundos), todos los módulos tendrán por defecto un intervalo de 5 minutos. Podrá hacer que un módulo tenga un intervalo MAYOR, pero nunca podrá hacer que sea menor que el intervalo base del agente, ya que el intervalo de un módulo se define como un multiplicador del intervalo del agente.

Si un agente tiene un intervalo de 300 y un modulo de ese agente tiene la configuración siguiente:

module_interval 2

El módulo del intervalo sera de 300x2. El parámetro module_interval solo admite valores enteros mayores de cero.

1.5.3 Interfaz de creación de módulos

(Sólo Enterprise)

En la versión Enterprise es posible crear y gestionar módulos locales de los agentes software si tienen el parámetro remote_config 1. En caso de no disponer de la versión Enterprise, todas estas operaciones deberán hacerse directamente sobre el fichero de configuración del agente software, localmente en el sistema donde el agente se encuentra instalado.

La creación de módulos locales en la consola se realiza mediante un formulario donde, además de la configuración común de todo módulo (umbrales, tipo, grupo...). Se dispone de una caja de texto donde especificar los datos de configuración que irán en el fichero de configuración del agente software.

Creación de un modulo con el remote config del agente habilitado:



Local module editor.png



Junto a esa caja de texto hay dos botones, uno para crear una estructura básica de configuración y otro para comprobar que los datos de configuración son correctos. Esta comprobación se refiere a los parámetros básicos, comprobando que comience por module_begin, termine por module_end, tenga un tipo válido y un nombre. Otros parámetros podrían estar configurados erróneamente y no sería detectado.

El campo nombre y el combo tipo están ligados a los parámetros module_name y module_type de los datos de configuración. Por lo que al cambiar el nombre del módulo en el campo nombre, se cambiará automáticamente el nombre en la configuración y viceversa. Igualmente al seleccionar un tipo en el combo se cambiará el tipo de los datos de configuración y cuando se escriba un tipo correctamente en la caja de configuración se seleccionará el mismo en el combo.

Cuando un módulo es cargado desde un componente local, puede tener macros. Si tiene macros, la caja de configuración estará oculta y aparecerá un campo por cada macro. Esta característica se explica en profundidad en la sección de Plantillas y componentes

1.5.4 Monitorización condicionada

1.5.4.1 Postcondiciones

El agente software de Pandora FMS soporta la ejecución de comandos y scripts a modo de postcondiciones. Esto quiere decir que se podrían realizar acciones dependiendo del valor obtenido en la ejecución del módulo.

Mediante el parámetro module_condition indicaremos un valor o rango de valores y la ejecución a realizar en caso de que el módulo se encuentre entre estos valores:

module_begin
module_name CPU_Usage_Condition
module_type generic_data
module_exec get_cpu_usage.pl
module_condition < 20 add_processes.sh
module_end

Se pueden especificar múltiples condiciones para un mismo módulo. Por ejemplo:

module_begin
module_name CPU_Usage_Condition
module_type generic_data
module_exec get_cpu_usage.pl
module_condition (90, 100) remove_processes.sh
module_condition < 20 add_processes.sh
module_end

Ejemplos:

Ejecución cuando el valor del módulo es menor de 20:

module_begin
module_name CPU_Usage_Condition
module_type generic_data
module_exec get_cpu_usage.pl
module_condition < 20 add_processes.sh
module_end

En el ejemplo anterior, supongamos que el script get_cpu_usage.pl devuelve 18, en este caso el agente software ejecutará el script add_proceses.sh.

Ejecución con dos postcondiciones:

module_begin
module_name CPU_Usage_Condition
module_type generic_data
module_exec get_cpu_usage.pl
module_condition < 10 start_new_server.sh
module_condition < 20 add_processes.sh
module_end

Supongamos que el dato es 15, en este caso el agente sólo ejecutará el script add_processes.sh. Si el valor del dato fuera 6, entonces el agente ejecutaría los dos scripts start_new_server.sh y add_processes.sh

1.5.4.2 Precondiciones

El parámetro module_precondition permite evaluar una condición antes de la ejecución del módulo y con el resultado decidir si el módulo se debe ejecutar o no. La definición en el archivo de configuración es:

module_begin
module_name CPU_Usage
module_type generic_data
module_precondition > 10 number_active_processes.sh
module_exec get_cpu_usage.pl
module_end

Se pueden especificar múltiples precondiciones para un mismo módulo:

module_begin
module_name CPU_Usage
module_type generic_data
module_precondition > 10 number_active_processes.sh
module_precondition = 1 important_service_enabled.sh
module_exec get_cpu_usage.pl
module_end

En el ejemplo superior tenemos dos precondiciones. Para que el módulo se ejecute se deben cumplir todas las precondiciones, en este caso dos, por ello el módulo sólo se ejecutara cuando el script number_active_processes.sh devuelva un número mayor que 10 y el script important_service_enabled.sh devuelva un 1.

Ejecución del módulo sólo cuando la precondición es mayor de 10:

module_begin
module_name CPU_Usage
module_type generic_data
module_precondition > 10 number_active_processes.sh
module_exec get_cpu_usage.pl
module_end

En el ejemplo anterior primero se ejecuta el script 'number_active_processes.sh' si el valor devuelto es mayor de 10 entonces se ejecuta el script del módulo. Si el valor devuelto es menor de 10 el módulo no se ejecutará.

1.5.5 Monitorización intensiva

Existen ciertos módulos que tienen una importancia especial, tales como procesos o servicios críticos en ejecución. Para poder tener una monitorización más controlada de estos casos existe la monitorización intensiva.

Consiste en avisar en un intervalo más corto de que ha aparecido un problema sin necesidad de reducir el intervalo general del agente.

El agente software presenta estos dos parámetros de configuración:

  • interval: Tiempo de muestreo del agente en segundos. Es el intervalo general para todos los módulos locales. Parámetro obligatorio.
  • intensive_interval: Tiempo en el cual se nos avisará de un problema en los módulos especialmente críticos. Parámetro opcional.

A nivel de módulo, se utilizará el parámetro module_intensive_condition para determinar bajo qué condición se notificará del estado del módulo en el tiempo definido por el intervalo intensivo en intensive_interval.

  • module_intensive_condition = 0: Si el módulo obtiene como resultado el valor indicado en este parámetro (en este caso 0), se notificará en el intervalo intensivo definido en el agente.

En el siguiente ejemplo mostramos la configuración de un agente para el que se quiere avisar en 10 segundos si el proceso sshd ha dejado de funcionar:

intensive_interval 10
interval 300
module_begin
module_name SSH Daemon
module_type generic_data
module exec ps aux | grep sshd | grep -v grep | wc -l
module_intensive_condition = 0
module_end

Si el servicio se cae, se le notificará en los próximos 10 segundos, pero si el servicio continúa funcionando se notificará cada 5 minutos de forma normal.

1.5.6 Monitorización programada

El agente software soporta la definición de módulos programados que se ejecutan en los instantes definidos. La sintaxis usada es la misma que la del fichero crontab. Un ejemplo de la definición del módulo sería:

module_begin
module_name crontab
module_type generic_data
module_exec script.sh
module_crontab * 12-15 * * 1
module_end

En este ejemplo, el módulo se ejecuta todos los Lunes entre las 12 y las 15 horas.

Si por ejemplo queremos ejecutar el módulo, a la hora y 10 minutos la definición del módulo sería:

module_begin
module_name crontab
module_type generic_data
module_exec script.sh
module_crontab 10 * * * *
module_end

Info.png

Hay que tener en cuenta que si utilizamos un intervalo que haga que el módulo no reporte datos, este módulo se pondrá en estado "desconocido". Utilice módulos asíncronos para estos casos.

 


1.6 Monitorización específica para Windows

El agente software para sistemas Windows tiene funcionalidades específicas para esta plataforma que ayudan a realizar la monitorización de una forma más sencilla. A continuación explicaremos las funcionalidades y aplicaremos unos ejemplos de las mismas.

1.6.1 Monitorización de procesos y watchdog de procesos

1.6.1.1 Monitorización de procesos

El parámetro module_proc comprueba si un determinado nombre de proceso está operando en esta máquina. La definición del módulo sería:

module_begin
module_name CMDProcess
module_type generic_proc
module_proc cmd.exe
module_description Process Command line
module_end

Si el nombre del proceso contiene espacios en blanco no use «" "». El nombre del proceso debe ser el mismo que muestra el Administrador de Tareas (taskmngr) de Windows incluyendo la extensión .exe, es importante respetar mayúsculas y las minúsculas.

Si queremos que el agente software de Windows nos avise inmediatamente cuando un proceso deja de funcionar tenemos que añadir el parámetro module_async yes, la definición del módulo quedaría así:

module_begin
module_name CMDProcess
module_type generic_proc
module_proc cmd.exe
module_async yes
module_description Process Command line
module_end

1.6.1.2 Watchdog sobre procesos

La funcionalidad de watchdog del agente software de Pandora FMS para Windows permite actuar inmediatamente ante la caída de un proceso, levantándolo de nuevo. El watchdog sólo funciona si el módulo es asíncrono.

La definición de un módulo con watchdog sería parecida a esta:

module_begin
module_name Notepad
module_type generic_data
module_proc notepad.exe
module_description Notepad
module_async yes
module_watchdog yes
module_user_session yes
module_start_command c:\windows\notepad.exe
module_startdelay 3000
module_retrydelay 2000
module_retries 5
module_end

En el ejemplo anterior, el watchdog se activará cada vez que el proceso notepad.exe esté desactivado y se ejecutará el comando c:\windows\notepad.exe. Además, si vemos los otros parámetros de configuración del watchdog veremos que la reactivación del proceso se intentará 5 veces con un tiempo de espera inicial de 3 segundos y con un tiempo de espera entre reintentos de 2 segundos. En este ejemplo, el proceso notepad.exe se lanzará en la sesión del usuario.

1.6.2 Monitorización de servicios y watchdog de servicios

1.6.2.1 Monitorización de servicios

El parámetro module_service comprueba si un determinado servicio se está ejecutando en la máquina. La definición de un módulo usando este parámetro sería:

module_begin
module_name Service_Dhcp
module_type generic_proc
module_service Dhcp
module_description Service DHCP Client
module_end

Si el nombre del servicio contiene espacios en blanco no use «" "». Para encontrar el nombre del servicio puede mirar el que aparece como Service Name en el gestor de servicios de Windows, es importante respetar mayúsculas y las minúsculas.

Igual que con los procesos si queremos que el agente software de Pandora nos avise inmediatamente cuando un servicio se cae tenemos que añadir el parámetro module_async yes, la definición del módulo quedaría así:

module_begin
module_name Service_Dhcp
module_type generic_proc
module_service Dhcp
module_description Service DHCP Client
module_async yes
module_end

1.6.2.2 Watchdog de servicios

Igual que para los procesos, para los servicios existe un modo watchdog que permite inicializar un servicio cuando está caido. Un ejemplo de definición de módulo con watchdog para servicios sería:

module_begin
module_name ServiceSched
module_type generic_proc
module_service Schedule
module_description Service Task scheduler
module_async yes
module_watchdog yes
module_end

La definición del watchdog para servicios no requiere ningún parámetro adicional como el de procesos, porque esa información ya está dentro de la definición del servicio.

1.6.3 Monitorización de recursos básicos

Este apartado muestra cómo monitorizar los recursos básicos de una máquina Windows.

1.6.3.1 Monitorizando la CPU

El parámetro module_cpuusage devuelve el porcentaje de CPU en uso.

Es posible monitorizar las cpu por id con la siguiente definición de módulo:

module_begin
module_name CPU_1
module_type generic_data
module_cpuusage 1
module_description CPU usage for CPU 1
module_end

También puede monitorizar la media de uso de todas las CPUs del sistema con el módulo:

module_begin
module_name CPU Usage
module_type generic_data
module_cpuusage all
module_description CPU Usage for all system
module_end

1.6.3.2 Monitorizando la memoria

Para monitorizar la memoria existen dos parámetros: module_freememory, que devuelve la cantidad de memoria libre del sistema, y module_freepercentmemory, que devuelve el porcentaje de memoria libre del sistema.

Un módulo de ejemplo usando module_freememory sería:

module_begin
module_name FreeMemory
module_type generic_data
module_freememory
module_description Non-used memory on system
module_end

Un módulo de ejemplo usando module_freepercentmemory sería:

module_begin
module_name FreePercentMemory
module_type generic_data
module_freepercentmemory
module_end

1.6.3.3 Monitorizando el disco

Para monitorizar el disco disponemos de dos parámetros: module_freedisk , que devuelve la cantidad de espacio libre, y module_freepercentdisk, que devuelve el porcentaje de espacio libre. Ambos módulos requieren como parámetro la unidad de disco a monitorizar, no olvide el caracter «":"».

Un módulo que usa el parámetro module_freedisk se define así:

module_begin
module_name FreeDisk
module_type generic_data
module_freedisk C:
module_end

Un ejemplo de módulo que usa el parámetro module_freepercentdisk se define así:

module_begin
module_name FreePercentDisk
module_type generic_data
module_freepercentdisk C:
module_end

1.6.3.4 Consultas WMI

El agente software de Pandora permite extraer información a través de consultas WMI, que es una fuente de información ampliamente utilizada para obtener información del sistema y externa a este.

Usando el parámetro module_wmiquery el agente software permite ejecutar localmente cualquier consulta WMI. Para realizar la consulta se define la query WMI en el parámetro module_wmiquery y la columna que contiene la información a monitorizar con el parámetro module_wmicolumn.

Por ejemplo, podemos obtener una lista de los servicios instalados:

module_begin
module_name Services
module_type generic_data_string
module_wmiquery Select Name from Win32_Service
module_wmicolumn Name
module_end

Usando WMI también podemos obtener la carga actual de CPU:

module_begin
module_name CPU_Load
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
module_wmicolumn LoadPercentage
module_end

1.7 Chequeos remotos con el agente software

Los chequeos remotos realizados con el agente software facilitan la monitorización de redes complejas y con requisitos especiales, por ejemplo aquellos relacionados con la seguridad.

Esta forma de trabajar se utiliza habitualmente cuando se quieren lanzar chequeos remotos sobre sistemas a los cuales el servidor principal de Pandora FMS no tiene acceso, para lo que podemos instalar un agente software, ejecutar desde ese punto chequeos remotos y distribuirlos en agentes broker.

En esta sección se explica cómo utilizar esta característica de los agentes software.

1.7.1 Chequeos ICMP

Los chequeos ICMP o ping son muy útiles para saber si una máquina está conectada o no a una red. De esta forma, un solo agente software podría monitorizar el estado de todas las máquina de una forma sencilla.

Unix

Usando el agente Linux podemos usar los comandos del sistema para crear un módulo que realice un chequeo ping. La definición del módulo sería:

module_begin
module_name Ping
module_type generic_proc
module_exec ping -c 1 192.168.100.54 >/dev/null 2>&1; if [ $? -eq 0 ]; then echo 1; else echo 0; fi
module_end

En este ejemplo realizamos un ping al host 192.168.100.54, si queremos comprobar otros hosts sólo tenemos que cambiar la IP

Windows

El agente software para Windows soporta unos parámetros de configuración específicos para configurar el chequeo ping. Estos chequeos son los siguientes:

  • module_ping_count x: Número de paquetes ECHO_REQUEST a enviar (1 por defecto).
  • module_ping_timeout x: Timeout en segundos de espera para cada respuesta (1 por defecto).
  • module_advanced_options: Opciones avanzadas para ping.exe.

Un ejemplo de configuración de módulo podría ser:

module_begin
module_name Ping
module_type generic_proc
module_ping 192.168.100.54
module_ping_count 2
module_ping_timeout 5
module_end

En este ejemplo realizamos el mismo chequeo que antes, pero desde el agente software para Windows.

1.7.2 Chequeos TCP

Los chequeos TCP son útiles para verificar que los puertos de una máquina permanecen abiertos. Esto puede ser interesante para saber si una aplicación esta conectada o no a la red.

Unix

Con el agente software para Unix podríamos realizar un chequeo TCP usando el siguiente módulo:

module_begin
module_name PortOpen
module_type generic_proc
module_exec nmap 192.168.100.54 -p 80 | grep open > /dev/null 2>&1; echo $?; if [ $? == 0 ]; then echo 1; else echo 0; fi
module_timeout 5
module_end

Con este módulo comprobamos que el puerto 80 del host 192.168.100.54 está abierto o cerrado.

Windows

Si usamos el agente software para Windows disponemos de unos parámetros para configurar el módulo. Los parámetros son:

  • module_tcpcheck: Host al que queremos comprobar
  • module_port: Puerto que queremos comprobar
  • module_timeout: Timeout para el chequeo

Un ejemplo de definición del módulo sería:

module_begin
module_name PortOpen
module_type generic_proc
module_tcpcheck 192.168.100.54
module_port 80
module_timeout 5
module_end

Este módulo sería el equivalente para el agente software de Windows para realizar la comprobación del puerto 80 sobre el host 192.168.100.54.

1.7.3 Chequeos SNMP

Los chequeos SNMP son muy comunes en la monitorización de dispositivos de red para comprobar el estado de interfaces, bytes de entrada/salida, etc.

Unix

Si usamos el agente software para Unix podemos crear un módulo que use el comando snmpget como el siguiente:

module_begin
module_name SNMP get
module_type generic_data
module_exec snmpget 192.168.100.54 -v 1 -c public .1.3.6.1.2.1.2.2.1.1.148 | awk '{print $4}'
module_end

Este módulo devuelve el valor del OID .1.3.6.1.2.1.2.2.1.1.148 del host 192.168.100.54.

Windows

Para el agente software de Windows disponemos de los siguientes parámetros:

  • module_snmpversion [1,2c,3]: Versión de SNMP (1 por defecto).
  • module_snmp_community <community>: Comunidad SNMP (public por defecto).
  • module_snmp_agent <host>: Agente SNMP objetivo.
  • module_snmp_oid <oid>: OID objetivo.
  • module_advanced_options: Opciones avanzadas para snmpget.exe.

Un módulo de ejemplo podría ser:

module_begin
module_name SNMP get
module_type generic_data
module_snmpget
module_snmpversion 1
module_snmp_community public
module_snmp_agent 192.168.100.54
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.148
module_end

Este módulo sería el equivalente Windows para el chequeo anterior realizado con el agente software para Unix.

1.8 Modo Proxy

Template warning.png

Para usar el modo proxy del agente de Pandora FMS en Linux/Unix no puede ser ejecutado por el usuario root, por ello es necesario una instalación especial del agente de Pandora FMS. Puede ver cómo instalar el agente de forma personaliza en la sección Instalación personalizada del Agente

 


Los agentes software de Pandora FMS tienen un Modo Proxy que les permite actuar precisamente como un proxy de otros agentes software, redirigiendo los ficheros de datos generados por otros agentes software al servidor de Pandora FMS. El agente software que actua en Modo Proxy también puede realizar tareas de monitorización.


Proxy-mode.png


El escenario habitual de uso del modo proxy sería cuando nos encontramos con una red en la que sólo una máquina tiene comunicación con el servidor de Pandora FMS y necesitamos monitorizar con agentes software el resto de equipos de esa red. Los otros equipos se comunicarán con el proxy en lugar de con el server.

Además del envío de datos a través de XML, el Modo Proxy soporta las características de Configuración Remota y Colecciones de Ficheros.

Con todas estas funcionalidades el Modo Proxy ofrece un funcionamiento transparente de los agentes software en redes con conectividad limitada.

Para activar el Modo Proxy en un agente software tiene configurar los parámetros:

  • server_ip: IP del servidor de Pandora FMS.
  • proxy_mode: Activado (1) o desactivado (0).
  • proxy_max_connection: Número de conexiones simultaneas del proxy, por defecto 10.
  • proxy_timeout: Timeout para el proxy, por defecto 1 segundo.

Un ejemplo de configuración podría ser:

server_ip 192.168.100.230
proxy_mode 1
proxy_max_connection 20
proxy_timeout 3

Para redirigir la conexión de un agente software sólo tendremos que poner como dirección del servidor de Pandora FMS la del agente con el Modo Proxy activado. Por ejemplo:

Nuestro agente en Modo Proxy tiene la IP: 192.168.100.24

En el agente software que no se puede conectar directamente al servidor de Pandora configuramos el parámetro server_ip así:

server_ip 192.168.100.24

Con esta configuración el agente software con comunicación limitada usará el agente software en Modo Proxy para comunicarse con el servidor de Pandora, manteniendo todas sus funcionalidades tales como configuración remota, políticas o colecciones de ficheros.

1.9 Modo Broker

EL Modo Broker de los agentes software permite a un solo agente realizar chequeos y gestionar la configuración como si se tratara de varios.


Modo-broker.png


Cuando se activa el modo broker en un agente software, se crea un nuevo fichero de configuración. A partir de ese momento, el agente software original y el nuevo broker se gestionarán de forma separada con sus ficheros de configuración independientes, como si fuesen dos agentes software totalmente separados en la misma máquina.

Las utilidades principales del Modo Broker son:

  • Enviar datos locales como otro agente. Muy útil para monitorizar instancias software como agente independientes.
  • Enviar datos recolectados de chequeos remotos a otras máquinas como si hubiera un agente software instalado en ella.

Para crear un broker sólo tiene que añadir una línea con el parámetro broker_agent <nombre_broker>. Es posible crear tantos agentes broker como se quiera, añadiendo las correspondientes líneas broker_agent, como estas:

broker_agent dev_1
broker_agent dev_2

Una vez creados los brokers se crearán sus archivos de configuración dev_1.conf y dev_2.conf con el mismo contenido que el agente software original, pero con su nombre correspondiente. Añadiendo o quitando módulos de los archivos de configuración dev_1.conf y dev_2.conf podemos personalizar los chequeos realizados por los brokers.

En la consola de Pandora FMS los brokers se ven y gestionan como agentes independientes, de forma que si tenemos un agente software instalado con dos brokers en la consola veremos tres agentes diferentes con sus módulos, configuraciones, etc.

NOTA: Las instancias del modo broker no pueden utilizar colecciones. Si desea utilizar colecciones, debe distribuirlas y/o usarlas en el agente "real" que se utiliza como base en al agente broker, no en una de sus instancias.

NOTA: Los módulos que guardan datos en memoria entre ejecuciones (module_logevent y module_regexp en Windows) no funcionan cuando hay agentes broker configurados.

1.9.1 Ejemplos de uso del modo Broker

1.9.1.1 Monitorizar una base de datos local como otro agente

En una máquina queremos monitorizar los parámetros básicos (CPU, memoria y disco) y además tenemos instalada una base de datos que queremos monitorizar de forma independiente.

Para realizar la monitorización usaremos la siguiente estructura:

  • Agente software instalado: Monitorización de CPU, memoria y disco.
  • Broker base de datos: Monitorización de estado interno de la base de datos.

Para ello instalamos un agente software en la máquina que monitorizará los parámetros de CPU, memoria y disco. Además, en la configuración del agente software añadiremos la línea:

broker_agent DBApp

Con esto creamos el agente broker con nombre DBApp y por tanto aparecerá el archivo de configuración dbapp.conf. En este archivo añadimos los módulo para realizar los chequeos en la base de datos:

module_begin
module_name Num Users
module_type generic_data
module_exec get_db_users.pl
module_end

module_begin
module_name Num slows queries
module_type generic_data
module_exec get_db_slows_queries.pl
module_end

Con este ejemplo aparecerían dos agentes en la consola de Pandora FMS: uno con el nombre de la máquina y los módulos de CPU, memoria y disco y otro llamado DBApp con los módulos Num Users y Num slows queries.

1.9.1.2 Monitorizar dispositivos de forma remota usando brokers

Para este ejemplo tenemos un agente software instalado en una máquina Windows monitorizando (CPU, memoria y disco) y necesitamos monitorizar un router con IP 192.168.100.54 sin instalar un agente dentro. Para solucionar el problema podemos usar los brokers.

Creamos un broker con el parámetro:

broker_agent routerFloor5

Con esto creamos el agente broker con nombre routerFloor5 y como tenemos un agente software instalado en una máquina Windows podemos monitorizar el router usando los módulos de ping y snmp disponibles. Para ello modificaremos el archivo routerFloor5.conf con las líneas:

module_begin
module_name Ping
module_type generic_proc
module_ping 192.168.100.54
module_ping_count 2
module_ping_timeout 500
module_end

module_begin
module_name Eth 1 up
module_type generic_data
module_snmpget
module_snmpversion 1
module_snmp_community public
module_snmp_agent 192.168.100.54
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.1
module_end

module_begin
module_name Eth 2 up
module_type generic_data
module_snmpget
module_snmpversion 1
module_snmp_community public
module_snmp_agent 192.168.100.54
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.2
module_end

En este ejemplo, la consola web de Pandora FMS muestra dos agentes: uno es la máquina Windows con los módulos de CPU, memoria y disco y otro es routerFloor5 con los módulos: Ping, Eth 1 up, Eth 2 up.

1.9.1.3 Monitorización remota de redes inaccesibles

En algunas situaciones es necesario monitorizar dispositivos de forma remota, pero el Servidor Remoto de Pandora FMS no puede acceder directamente a ellos.


Broker example no access.png


En este ejemplo, tenemos que monitorizar de forma remota los dispositivos de una de las sedes de nuestra empresa desde la sede central. El servidor de Pandora FMS está en la sede central conectado por medio de una VPN al resto de sedes y debido a una serie de restricciones el servidor de Pandora FMS no puede acceder remotamente a las máquinas. Para poder monitorizar las sedes usaremos el Modo Broker que permite al agente software enviar XMLs al servidor de Pandora como si se tratase de varios dispositivos distintos.

En el archivo de configuración del agente software añadiremos tantos brokers como dispositivos a monitorizar, un ejemplo de configuración sería:

broker_agent device_1
broker_agent device_2
broker_agent device_3
broker_agent device_4
...

Una vez creados los brokers podemos personalizar la monitorización para cada dispositivo accediendo a los archivos de configuración de cada broker, por ejemplo la configuración para la máquina Windows con nombre device_1 es:

module_begin
module_name Ping
module_type generic_proc
module_ping 192.168.100.54
module_ping_count 2
module_ping_timeout 500
module_end

module_begin
module_name CPU_Load
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
module_wmicolumn LoadPercentage
module_end

module_begin
module_name Mem_Free
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Memory
module_wmicolumn FreeMemory
module_end

module_begin
module_name Disk_Free
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Disk
module_wmicolumn FreeSpace
module_end

Con esta configuración conseguimos realizar una configuración remota y enviar los archivos al servidor de Pandora FMS a pesar de las restricciones de comunicación entre las sedes de la empresa.

1.9.1.4 Distribuir la carga de monitorización con brokers

El Modo Broker también es muy útil para distribuir la carga de monitorización en varios puntos de la red.


Broker scalation example.png


En este ejemplo, nuestra arquitectura se compone de varias redes con nombres de la A a la Z con 1000 dispositivos cada una. La capacidad del Servidor Remoto de Pandora FMS está en torno a 2000 agentes, por ello decidimos usar agentes software en Modo Broker para distribuir la carga de monitorización. Estos agentes software en Modo Broker monitorizan de forma remota todos los dispositivos de la red y envían los datos en formato XML al servidor central de Pandora FMS.

En cada una de las redes tenemos una agente con el Modo Broker activado, en él crearemos tantos broker como dispositivos tengamos que monitorizar, la configuración para el agente Broker_Agent_Net_A sería:

broker_agent device_1
broker_agent device_2
broker_agent device_3
broker_agent device_4
...

Además para cada uno de los brokers añadiríamos los módulos correspondientes para monitorizar los dispositivos. Por ejemplo el broker device_1 que es un router tendría estos módulos:

module_begin
module_name Ping
module_type generic_proc
module_ping 192.168.100.54
module_ping_count 2
module_ping_timeout 500
module_end

module_begin
module_name Eth 1 up
module_type generic_data
module_snmpget
module_snmpversion 1
module_snmp_community public
module_snmp_agent 192.168.100.54
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.1
module_end

module_begin
module_name Eth 2 up
module_type generic_data
module_snmpget
module_snmpversion 1
module_snmp_community public
module_snmp_agent 192.168.100.54
module_snmp_oid .1.3.6.1.2.1.2.2.1.1.2
module_end

Otro ejemplo sería el broker device_2, que monitoriza una máquina Windows con los siguientes módulos:

module_begin
module_name Ping
module_type generic_proc
module_ping 192.168.100.54
module_ping_count 2
module_ping_timeout 500
module_end

module_begin
module_name CPU_Load
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
module_wmicolumn LoadPercentage
module_end

module_begin
module_name Mem_Free
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Memory
module_wmicolumn FreeMemory
module_end

module_begin
module_name Disk_Free
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Disk
module_wmicolumn FreeSpace
module_end

Usando los agentes software en Modo Broker podemos distribuir la carga de monitorización y así poder recoger datos de miles de dispositivos de una forma sencilla.

1.10 Inventario con agente software

El agente software de Pandora FMS soporta funciones de inventario tanto hardware como software. El sistema de inventario permite mantener un histórico de CPU, tarjetas, Memoria RAM, parches, software, etc. usados en los servidores de la compañía. Además es posible generar alertas ante cambios en el inventario por ejemplo un reemplazo no autorizado de disco duro o la desintalación de una aplicación.

Podemos encontrar más información en la sección Inventario local con agentes software.

1.11 Acciones remotas por UDP

1.11.1 Cómo solicitar información al agente bajo demanda

El agente software de Pandora FMS incluye la funcionalidad Servidor UDP, que permite indicar acciones a un agente de forma remota, tales como reiniciarse o ejecutar un comando.

Los parámetros básicos de configuración del Servidor UDP en los agentes software son:

  • udp_server: Activa (1) o desactiva (0) esta funcionalidad.
  • udp_server_port: Puerto de escucha del servidor UDP en el agente software.
  • udp_server_auth_address: Dirección IP en la que el servidor UDP y acepta peticiones. Puede establecerse a 0.0.0.0 para que acepte desde todos los orígenes.

Ejemplo de configuración:

udp_server 1
udp_server_port 41122
udp_server_auth_address 0.0.0.0

Ahora, para forzar el reinicio del agente se debe utilizar el script udp_client.pl, presente en el servidor de Pandora FMS, y normalmente ubicado en /usr/share/pandora_server/util. Podemos ejecutarlo desde línea de comando o bien utilizarlo en una alerta, mediante el comando que viene preconfigurado en la consola "Remote agent control".

Existe también una acción de alerta por defecto llamada Restart agent, que utiliza este script. Emplea la acción REFRESH AGENT sobre el script udp_client.pl para reiniciar el agente si éste tiene el servidor UDP escuchando.


Agent restart action.png


El paso a paso para habilitar la opción de refresco remoto del agente software es:

1. Configurar las opciones en el fichero de configuración para el agente software (Unix o Windows). Por favor, tenga cuidado con la dirección IP autorizada (¿está el servidor de Pandora FMS bajo un NAT?), o ponga 0.0.0.0. para permitir que cualquier dirección IP fuerce refrescar el agente.

2. Reinicie el agente software para que los cambios se apliquen.

3. Asociar la alerta Restart agent al módulo de algún agente (es necesario que este agente tenga la dirección IP correctamente configurada).

4. Forzar la ejecución de la alerta o bien forzar un estado incorrecto del módulo para que la alerta se dispare.

Ahora gracias a esta acción, es posible forzar la alerta manualmente en cualquier momento para refrescar el agente software de forma remota y obtener la información de forma rápida.

1.11.2 Acciones remotas personalizadas

Además de la acción de refrescar agente, podemos especificar acciones personalizadas que realizar en los agentes por medio de órdenes UDP desde el servidor de Pandora FMS.

En caso de querer hacerlo, hay que hacer una pequeña configuración extra en el archivo pandora_agent.conf. Además, por supuesto, de activar el servicio UDP y configurarlo para que reciba las órdenes del servidor:

udp_server 1
udp_server_port 41122
udp_server_auth_address <IP del servidor>

Deberemos añadir una línea por cada comando que queremos ejecutar, con el siguiente esquema:

process_nombredelaorden_start comando

Por ejemplo, si queremos una orden remota para iniciar el servicio sshd:

process_sshd_start /etc/init.d/sshd start

A continuación, deberemos crear una acción de alerta en Pandora FMS Console para cada comando remoto que hayamos creado. El comando a utilizar será "Remote agent control" (creado por defecto, está preparado para mandar órdenes UDP). En el campo 1 escribiremos "START PROCESS sshd", tal y como puede verse en la captura:


Udp process.JPG


Ahora sólo hay que crear una nueva alerta manual con la nueva acción en el agente cuyo servicio sshd deseemos iniciar. Al forzar la alerta, la orden se lanzará y el agente iniciará el servicio.


Info.png

También pueden crearse órdenes que llamen a scripts. Esto permite realizar una gran cantidad de acciones remotas en un agente con sólo pulsar un botón.

 


1.12 Plugins en agentes software

Se caracterizan por realizar comprobaciones avanzadas complejas desde los agentes software, pudiendo devolver como resultado varios módulos en lugar de un único valor. A diferencia de los plugins de servidor, que se ejecutan por el servidor de Pandora FMS, los plugins de agente devuelven sus datos en un XML, reportando uno o varios módulos a la vez.

1.12.1 Ejecución en sistemas Windows

En windows, todos los plugins por defecto están programados en VBScript, para ejecutarlos es necesario usar el intérprete adecuado indicando la ruta completa.

Estos son algunos ejemplos de como usar los plugins por defecto incluídos en el agente Windows:

module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\logevent_log4x.vbs" Aplicacion System 300
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df.vbs"
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\ps.vbs" iexplore.exe myapp.exe

El agente Windows trae diversos plugins listos para utilizarse.

1.12.2 Ejecución en sistemas Unix

Los plugins de Unix se buscan por defecto en el directorio "/plugin" del directorio del agente, en /etc/pandora/plugins, por lo que no sería necesario emplear la ruta completa en su ejecución en caso de que se encuentren en este directorio.

Estos son algunos ejemplos de uso de los plugins:

 module_plugin grep_log /var/log/syslog Syslog .
 module_plugin pandora_df tmpfs /dev/sda1

El agente software Unix trae varios plugins por defecto listos para funcionar.

1.12.3 Ejemplos de uso de plugins

Los plugin para el agente software puede devolver un dato o un grupo de ellos. Un ejemplo de plugin que devuelve un dato puede ser el plugin ps.vbs de Windows, que simplemente comprueba si un proceso se encuentra en ejecución. Con la siguiente línea ejecutamos el plugin:

module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\ps.vbs" IEXPLORE.EXE

El resultado será un módulo que devuelve 0 si el proceso no está activo y 1 si está activo:

<module>
    <name><![CDATA[IEXPLORE.EXE]]></name>
    <description><![CDATA[Process IEXPLORE.EXE status]]></description>
    <data><![CDATA[1]]></data>
</module>

Un ejemplo de plugin que devuelve varios datos puede ser el plugin df.vbs de Windows. La línea para ejecutar el plugin sería:

module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df.vbs"

El plugin devuelve un módulo por cada disco encontrado, el resultado sería:

<module>
    <name><![CDATA[C:]]></name>
    <description><![CDATA[Drive C: free space in MB]]></description>
    <data><![CDATA[8050]]></data>
</module>

<module>
    <name><![CDATA[D:]]></name>
    <description><![CDATA[Drive D: free space in MB]]></description>
    <data><![CDATA[900]]></data>
</module>

1.12.4 Gestión de plugins de agente desde la consola

En la versión Enterprise es posible administrar los plugins de agentes software desde la consola sin editar directamente el fichero de configuración.

Si un agente tiene la configuración remota activada, en su vista de administración dispondrá de la pestaña del editor de plugins.



Plugin editor tab.png

Este apartado muestra el listado de los plugins activos en el agente, y permite eliminarlos, añadirlos y desactivarlos. En el caso de los plugins de política puede ser útil desactivarlos porque al volver a aplicar la política se mantendrán desactivados.



Plugin editor.png

Los plugins administrados en este editor pueden ser, a su vez, editados desde el fichero de configuración del agente.



Plugin editor conf.png

1.12.5 Cómo crear plugins de agente propios

Los plugin pueden ser creados en cualquier lenguaje de programación. Sólo tienen que respetar estas restricciones:

  • Independientemente de lo que se quiera hacer, debe ser automático (sin interacción del usuario), y debe ser hecho desde la línea de comandos (shell). Se puede usar cualquier tipo de lenguaje de scripting o lenguaje compilado, pero en ese caso hay que distribuir también, además del ejecutable, todas las librerías (o DLL) que sean necesarias para la ejecución del plugin.
  • El plugin debe devolver la información a través de la salida estándar (simplemente usando echo, printf o el equivalente en el lenguaje que se vaya a usar para el plugin), y se debe usar el formato XML de los agentes de Pandora FMS para devolver la información.

Este es un ejemplo de un modulo de tipo numérico en XML:

<module>
<name><![CDATA[Sample_Module]]></name>
<type><![CDATA[generic_data]]></type>
<data><![CDATA[47]]></data>
<description><![CDATA[47]]></description>
</module>

Los datos que van encerrados en los tags <![CDATA[xxx]]> se usan para proteger el XML de cierta informacion que pueda contener caracteres "indigestos" para el XML, como <,>,& or %.

Antes de probar a crear un plugin, visite la librería de plugins de Pandora FMS en https://library.pandorafms.com, y si después se decide a crear su propio plugin, remítalo a la librería pública, para que otros puedan usarlo.

Template warning.png

Asegúrate de terminar la salida de tu plugin (si es un script) con un errorlevel 0 o el agente interpretará que el plugin ha tenido un error y no ha podido ejecutar

 


1.12.5.1 Ejemplo de plugin en Shellscript (Linux/Unix)

#!/bin/bash
# Detect if local Mysql is without password
# First, do we have a running MySQL?
CHECK_MYSQL=`netstat -an | grep LISTEN | grep ":3306 "`
if [ ! -z "$CHECK_MYSQL" ]
then

        CHECK_MYSQL_ROOT=`echo "select 1234" | mysql -u root 2> /dev/null | grep 1234`
        if [ -z "$CHECK_MYSQL_ROOT" ]
        then
        echo "<module>"
        echo "<type>generic_proc</type>"
        echo "<name>mysql_without_pass</name>"
        echo "<data>1</data>"
        echo "<description>MySQL have a password</description>"
        echo "</module>"
        else
        echo "<module>"
        echo "<type>generic_proc</type>"
        echo "<name>mysql_without_pass</name>"
        echo "<data>0</data>"
        echo "<description>MySQL do not have a password</description>"
        echo "</module>"
        fi
fi

exit 0

1.12.5.2 Ejemplo de plugin en VBScript (Windows)

' df.vbs
' Returns free space for avaible drives.
' --------------------------------------

Option Explicit
On Error Resume Next

' Variables
Dim objWMIService, objItem, colItems, argc, argv, i

' Parse command line parameters
argc = Wscript.Arguments.Count
Set argv = CreateObject("Scripting.Dictionary")
For i = 0 To argc - 1
    argv.Add Wscript.Arguments(i), i
Next

' Get drive information
Set objWMIService = GetObject ("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk")

For Each objItem in colItems
	If argc = 0 Or argv.Exists(objItem.Name) Then
		If objItem.FreeSpace <> "" Then
			Wscript.StdOut.WriteLine "<module>"
			Wscript.StdOut.WriteLine "    <name><![CDATA[" & objItem.Name & "]]></name>"
			Wscript.StdOut.WriteLine "    <description><![CDATA[Drive " & objItem.Name & " free space in MB]]></description>"
			Wscript.StdOut.WriteLine "    <data><![CDATA[" & Int(objItem.FreeSpace /1048576) & "]]></data>"
			Wscript.StdOut.WriteLine "</module>"
            Wscript.StdOut.flush
		End If
	End If
Next

1.12.6 Utilizando plugins de Nagios desde el agente

Nagios tiene un gran número de plugins que puede utilizar con Pandora FMS. Un modo de hacerlo es utilizar los plugins remotos con el Plugin Server, usando la compatibilidad de Nagios. Pero de este modo, sólo conseguirá sus estados, ya que no utiliza el output descriptivo que tienen algunos plugins para Nagios.

Utilizar el wrapper para usar los plugins de nagios en el agente software resolverá este problema. El wrapper viene por defecto con el agente de Unix 3.2. Un plugin equivalente para los agentes Windows de Pandora FMS puede descargarse desde la librería de recursos de Pandora FMS, en [1]).

¿Qué hace el wrapper de plugins para los plugins de Nagios?

Ejecuta el plugin de Nagios, utilizando sus parámetros originales y convirtiendo el output en datos útiles para Pandora FMS. Este tiene dos tipos de información:

  • Información acerca del Status: NORMAL (1), CRITICAL (0), WARNING (2), UNKNOWN () y otras (4). Por defecto, utilizarán un modulo proc, con lo que los valores NORMAL y CRITICAL están trabajando "por defecto"; si usted desea tener información acerca de WARNING y otros valores, deberá configurar los umbrales del módulo de manera manual.
  • Información de tipo descriptivo: Generalmente información de cadenas. Se situará en el campo de descripción del módulo. Normalmente algo parecido a "OK: successfully logged in".

1.12.6.1 Ejemplo

Si tiene un plugin pop3 (en /tmp/check_pop3_login) con los permisos de ejecución, (lo que comprueba si la cuenta pop3 está funcionando sólo con conectarse con un host remoto, enviando un usuario y una contraseña y visualizando que todo esté correcto), entonces, puede ejecutarlo desde la línea de comandos:

/tmp/check_pop3_login  mail.artica.es [email protected] mypass

Devolverá algo parecido a :

OK: successfully logged in.

Y si no es correcto devolverá algo similar a esto:

Critical: unable to log on

Utilizar el wrapper es fácil. Sólo tiene que poner el wrapper y el nombre que desee al módulo antes de ejecutar la llamada:

/etc/pandora/plugins/nagios_plugin_wrapper sancho_test /tmp/check_pop3_login  mail.artica.es [email protected] mypass

Esto generará un XML completo para el plugin de agente.

<module>
<name>sancho_test</name>
<type>generic_proc</type>
<data>0</data>
<description><![CDATA[Critical: unable to log on]]></description>
</module>

O:

<module>
<name>sancho_test</name>
<type>generic_proc</type>
<data>1</data>
<description><![CDATA[OK: successfully logged in.]]></description>
</module>

La entrada completa en el pandora_agent.conf será algo similar a:

module_plugin nagios_plugin_wrapper POP3_artica.es /tmp/check_pop3_login mail.artica.es [email protected] mypass

Esto se verá de manera parecida a esto en el módulo (en el fail event):


Sample plugin wrapper.png

1.13 Monitorización con KeepAlive

Existe un módulo especial, tiene un tipo único llamado "keep_alive" y sirve para dar información ante la ausencia de contacto del agente. Sirve para saber cuando un agente ha dejado de enviar información y alertarnos de este hecho.

Cuando hay un módulo, remoto o local, que obtiene información del agente, la fecha de último "contacto" con el agente se actualiza, de forma que siempre que hay datos, aunque solo sea un módulo del total, el agente tendrá actualizado su fecha de ultimo contacto, que sirve para saber si el agente "no responde". Concretamente un agente se da por "muerto" cuando no ha actualizado su fecha en el doble de tiempo de su intervalo, es decir, si tiene un intervalo de 5 minutos, y hace más de 10 minutos que no hay ningún de actualización, el agente se da por muerto.

En este caso, es cuando el módulo keepalive entraría en juego, disparándose y marcando el monitor en estado Critical.

La configuración de este tipo de módulos es muy fácil, basta con crear un nuevo módulo de tipo "KeepAlive":

Keepalive.JPG


Una vez creado, si el agente tiene datos, dentro de su intervalo, siempre estará en estado "NORMAL" (verde):

Keepalive1.png


Si el agente deja de enviar datos (en este ejemplo, tenía intervalo de 1 minuto), entonces automáticamente saltará y se pondrá en estado CRITICAL (rojo):

Keepalive2.png


Cabe destacar que si tenemos un módulo remoto, por ejemplo, un Ping, además de los datos reportados por el agente, el módulo keepalive nunca saltaría, ya que estamos actualizando el agente constantemente mediante el Ping.

El módulo keepalive por lo demás se comporta como cualquier otro módulo, se le puede asociar una alerta y se puede usar para cualquier otro elemento: informes, mapas, etc.

Info.png

El módulo keepalive se puede crear solo desde la consola (aunque no tengamos configuración remota habilitada) y no deja ninguna traza en el fichero pandora_agent.conf

 


1.14 Monitorización de capturas de comandos (Command snapshots)

Comandos que presenten salidas extensas, como top o netstat pueden ser capturados completamente por un módulo y mostrados por completo. El módulo debe configurarse como tipo texto.

En la siguiente captura se muestra el resultado de uno de estos módulos, en este caso la salida de netstat -an:


Snapshot 1.png


Template warning.png

Para que esto funcione así, hay que configurar adecuadamente tanto la consola de Pandora (setup) como el agente que recoge esa información, asegurándose de que es texto sin tratar

 


Para configurar adecuadamente la consola, hay que asegurarse que en la sección principal del setup tenemos la propiedad "Comand line snapshot" activada:

Command line snapshot setup.png

1.15 Monitorización y visualización de imágenes

Este método permite definir módulos de tipo cadena (generic_data_string o async_string) que contengan imágenes en formato texto con una codificación base64, pudiendo mostrar dicha imagen en lugar de un resultado concreto. Esta se almacena como información de texto, y se visualiza de una forma diferente, no como simples datos, sino reconstruyendo una imagen.

Así es como se ve la salida de una cadena de texto con el contenido "data:image" (imagen en base64), capturado por Pandora FMS, al pinchar en el icono especial para las capturas de imágenes:


Snapshot text 1.png


Para capturar estas imágenes, basta con escribir un plugin que envíe todos los datos, generando los tags XML necesarios, y ejecutando el plugin como tal, con la directiva module_plugin. Veamos el siguiente plugin de ejemplo, que genera la salida de una imagen, tal como acaba de ver en la captura anterior:

#!/bin/bash
echo "<module>"
echo "<name>Líder actual de la liga</name>"
echo "<type>async_string</type>"
echo "<data><![CDATA[data:image/jpeg;base64,/9j/4AAQSkZ....]]></data>"

// El dato anterior sería generado por un dispositivo/aplicación dando imágenes en base64.

echo "</module>"

Grabe ese contenido a un archivo en el agente (o distribúyalo con colecciones de ficheros) y ejecútelo de la siguiente manera:

module_plugin <path completo al fichero>

1.16 Grupos protegidos por contraseña

Por defecto, cuando un agente envía datos por primera vez al servidor de Pandora FMS se añade de forma automática al grupo que se haya definido en el fichero de configuración del agente. Esto significa que, en la práctica, cualquiera puede añadir un agente a un grupo si conoce el nombre del grupo. Esto podría suponer un problema si varios clientes comparten su instancia de Pandora FMS o si quiere controlar lo que hay en cada grupo.

Es posible configurar de manera opcional una contraseña para un grupo desde la Consola de pandora FMS. Un agente no se añadirá a un grupo a menos que se haya especificado la contraseña correcta en el fichero de configuración del agente.

1.16.1 Ejemplo

Para configurar una contraseña para un grupo, navege al editor de grupos y haga click en editar, introduzca la contraseña del grupo y guarde sus cambios:

Passgr1.JPG

Para añadir un agente nuevo a este grupo, edite su fichero de configuración y añada la siguiente opción de configuración:

 group_password <password>

No olvide reiniciar el agente para hacer efectivos los cambios. El agente debería crearse correctamente en la consola de Pandora FMS.


Volver a Indice de Documentación Pandora FMS