Configuración de los EndPoints
¿Qué es un EndPoint?
Son pequeñas piezas de software que se instalan en los sistemas operativos y permanecen ejecutándose en ellos para extraer información de monitorización y enviarla regularmente al Pandora FMS Data Server, que los procesa y almacena en la base de datos.
Introducción a la configuración del EndPoint
El funcionamiento del EndPoint (parámetros de funcionamiento y módulos) está determinado por su fichero de configuración.
- En MS Windows®:
%ProgramFiles%\pandora_agent\pandora_agent.conf
- En sistemas Linux®:
/etc/pandora/pandora_agent.conf
Parámetros generales del EndPoint
La mayoría de los parámetros son comunes para sistemas MS Windows® y Linux®. Después de haber modificado algún parámetro general deberá reiniciar el EndPoint.
La codificación del archivo de configuración del EndPoint es UTF-8 tanto en sistemas Linux® como MS Windows®.
La primera vez que se reciben datos del EndPoint se guarda toda la información en la base de datos. Para sucesivos envíos de información (y dependiendo si está habilitado el modo aprendizaje) sólo se actualizarán los siguientes campos del XML: version, timestamp (fecha) y os_version (versión de sistema operativo), así como los siguientes parámetros del archivo de configuración gis_exec, latitude, longitude, altitude, parent_agent_name, timezone_offset, address, custom_field.
server_ip
Dirección IP o nombre del servidor de Pandora FMS al que se enviarán los datos.
server_path
Ruta del servidor donde este recibe los ficheros de datos enviados por los agentes y EndPoints, por defecto:
/var/spool/pandora/data_in
temporal
Ruta donde el EndPoint almacena los ficheros de datos antes de que sean enviados al servidor y eliminados localmente.
description
Envía la descripción del EndPoint en el XML, y Pandora FMS importa esta descripción al crear el Agente Lógico.
group
Si existe un grupo con el nombre indicado en este parámetro, el Agente Lógico se creará dentro de este grupo a no ser que el servidor fuerce la creación de todos los agentes en un grupo determinado.
Véase también group_password.
temporal_min_size
Si el espacio libre (en megabytes) de la partición en la que se encuentra el directorio temporal es menor que este valor (por defecto un megabyte), se detiene la generación de paquetes de datos.
temporal_max_size
Tamaño máximo (en megabytes) permitido para el buffer XML, valor por defecto 1024.
temporal_max_files
Número máximo de archivos permitidos para el buffer XML, valor por defecto 1024.
logfile
Ruta del registro o log del EndPoint de Pandora FMS.
interval
Tiempo, en unidades de segundos, de muestreo del EndPoint. Cada vez que se complete este intervalo el EndPoint recogerá información y la enviará al servidor de Pandora FMS.
disable_logfile
Solamente para MS Windows®: Inhabilita la escritura en pandora_agent.log.
debug
Si se encuentra activo (1), se guardará una copia del fichero XML que envía el EndPoint al servidor en el directorio temporal y estos quedarán almacenados, pudiendo así abrir los archivos XML y analizar su contenido.
En EndPoint para MS Windows® se creará un fichero llamado pandora_debug.log con el resultado de las ejecuciones del EndPoint y el envío del XML.
En EndPoint para Linux® se añadirá la información descrita anteriormente al fichero de log del propio EndPoint (pandora_agent.log).
- Un EndPoint con configuración remota activa y con el modo
debugactivo no tomará los cambios realizados en el fichero de configuración del agente en la Consola web de Pandora FMS. - Se recomienda ejecutar el modo
debugactivo por poco tiempo ya que los XML se mantienen almacenados ocupando espacio rápidamente.
agent_name
Permite establecer un nombre personalizado. Si no se encuentra habilitado, el nombre del agente que reciba los datos del EndPoint será el host name de la máquina monitorizada.
agent_name_cmd
Define el nombre del Agente que recibe los datos del EndPoint utilizando un comando externo. Si agent_name_cmd está definido entonces agent_name se ignora. El comando deberá devolver el nombre de dicho agente por STDOUT. Si devuelve más de una línea solamente se utilizará la primera.
agent_alias_cmd
Define el alias del Agente que recibe los datos del EndPoint utilizando un comando externo. Si agent_alias_cmd está definido entonces agent_alias se ignora. El comando deberá devolver el nombre de dicho agente por STDOUT. Si devuelve más de una línea solamente se utilizará la primera.
address
Dirección IP o nombre de dominio asociado al EndPoint. Si se configura en auto, se obtendrá la dirección IP de la máquina y se añadirá al agente como dirección principal.
encoding
Instala el tipo de codificación del sistema local, como por ejemplo ISO-8859-15 o UTF-8.
server_port
Puerto en el que el servidor Tentacle de Pandora FMS escucha para recibir los archivos de datos, 41121 por defecto.
transfer_mode
Modo de transferencia de los archivos de datos al servidor de Pandora FMS. Valor por defecto tentacle.
transfer_timeout
Tiempo de expiración para la transferencia de ficheros; si se supera el número de segundos indicado sin completar la transferencia, esta será cancelada.
server_pwd
Contraseña del servidor para la autenticación: Específica para el FTP de MS Windows® (requerido) y para el modo de transferencia Tentacle (opcional).
server_ssl
Específica para el modo de transferencia Tentacle. Permite habilitar (yes) o deshabilitar (no) el cifrado de las conexiones mediante SSL.
server_opts
Utilizado para configuraciones avanzadas de Tentacle y poder usar un proxy HTTP para enviar los datos al servidor. Este proxy HTTP debe tener habilitado el método CONNECT. Para poder usar la salida a través de un proxy, use la siguiente opción (por ejemplo):
server_opts -y user:[email protected]:8080
Esta opción fuerza al cliente de Tentacle a enviar los datos a través de un proxy situado en proxy.inet y que usa el puerto 8080, usando el usuario user y el contraseña pass para autenticarse en dicho proxy.
delayed_startup
Deshabilitado por defecto. Tiempo de espera (segundos o minutos) hasta que el EndPoint empieza a funcionar una vez iniciado. Para todos los EndPoint excepto en MS Windows®.
startup_delay
Deshabilitado por defecto. Tiempo de espera, en segundos, hasta que el EndPoint empieza a funcionar una vez iniciado. Solamente para MS Windows®.
pandora_nice
Sólo está disponible para EndPoint Unix/Linux. Este parámetro permite especificar la prioridad que el proceso del EndPoint de Pandora FMS tendrá en el sistema.
autotime
Si está habilitado (1) envía un timestamp de ejecución especial (AUTO) que hace que el servidor utilice la fecha y hora local del servidor para establecer la hora de los datos, ignorando la hora enviada por el EndPoint. Esto es necesario en aquellos EndPoint que por la razón que sea, tienen una hora incorrecta o muy diferente de la del servidor.
cron_mode
Con este parámetro es posible hacer que el EndPoint use el crontab de Linux® para ejecutarse en un intervalo determinado en vez de usar el propio sistema interno del EndPoint para ejecutarse cada cierto tiempo. Desactivado por defecto (0).
remote_config
Habilita (1) o deshabilita (0) la configuración remota de los EndPoint. Su funcionamiento solamente se permite con el modo de transferencia Tentacle.
Al habilitar la configuración remota cualquier cambio que no se realice desde la consola de Pandora FMS será descartado y sobrescrito.
xml_buffer
Si se habilita (1), el EndPoint guardará en su directorio temporal los ficheros XML que no haya podido enviar al servidor en caso de un problema de conectividad. Serán enviados cuando se restablezcan las comunicaciones.
timezone_offset
El EndPoint bien puede instalar su timezone offset con el servidor. Esto le permite al servidor hacer un desplazamiento de la hora recogida por el EndPoint, de forma que concuerde con la hora local del servidor.
# Timezone offset: Difference with the server timezone timezone_offset 3
Se calcula restando la zona horaria del EndPoint a la zona horaria del servidor.
parent_agent_name
Indica el padre del EndPoint. Debe ser el nombre de un Agente existente en Pandora FMS.
agent_threads
Sólo disponible para EndPoints para Unix/Linux®: Número de hilos que lanzará el EndPoint para ejecutar módulos en paralelo. Por defecto, los Módulos se ejecutan uno tras otro sin lanzar ningún hilo adicional:
# Number of threads to execute modules in parallel agent_threads 4
include
include <file>
Permite incluir un fichero (<file>) de configuración adicional. Este archivo puede incluir Módulos y colecciones adicionales a las del archivo principal. El fichero lo podrán subir aquellos usuarios que tengan permisos de escritura sobre Agentes (AW).
broker_agent
broker_agent <broker_name>
Habilita la funcionalidad de Agente Broker. Para activarlo únicamente es necesario quitar de los comentarios el parámetro e indicar el nombre (<broker_name>) que se asignará al Agente Broker.
pandora_user
pandora_user <user>
Este parámetro es opcional y permitirá ejecutar el EndPoint con el usuario (<user>) del sistema que se especifique. Este usuario deberá contar con los permisos para poder ejecutar el EndPoint y sus recursos asociados.
custom_id
Identificador personalizado del EndPoint para aplicaciones externas.
url_address
URL personalizada para abrirla desde el Agente en la Consola web.
custom_fieldX_name
Nombre de un campo personalizado de Agentes que ya exista en el sistema. Si no existe, se ignorará.
custom_field1_name Model
custom_fieldX_value
Valor para el campo personalizado custom_fieldX_name definido en el parámetro anterior. Ejemplo:
custom_field1_value C1700
module_macro
EndPoint para Unix/Linux®.
module_macro<_macro_name_> <value>
Define una macro de ejecución local que se puede utilizar en la definición de un Módulo. Estas macros se utilizan en el sistema de el Command Center (Metaconsola) y en el sistema de componentes de Módulos locales para “abstraer” la dificultad de usar un Módulo editando directamente el código, presentando a un usuario menos avanzado, una interfaz local que permita “rellenar” valores. Estos valores se emplean por debajo, usando un sistema de macros, relativamente similar al sistema de macros de los plugins locales.
Las macros de ejecución locales comienzan por _fieldx_.
group_password
group_password <password>
Contraseña para el grupo del EndPoint. Si el grupo no está protegido por contraseña se debe dejar esta línea como comentario.
ehorus_conf
ehorus_conf <path>
Ruta absoluta (path) a un fichero de configuración válido de un agente de Pandora RC. El Agente creará un campo personalizado llamado eHorusID que contiene la clave de identificación del agente de Pandora RC.
transfer_mode_user
transfer_mode_user <user>
Usuario (user) de los ficheros copiados en el modo de transferencia local. En las carpetas de la Consola este usuario debe tener permisos de lectura y escritura para que funcione correctamente la configuración remota. Por defecto es apache.
secondary_groups
secondary_groups <group name1>, <group name2>, ... <group nameN>
Nombre de los grupos secundarios asignados al Agente del EndPoint. Se pueden especificar varios grupos secundarios separados por comas. Si alguno de los grupos no existe en el servidor al que se envía la información, no se asignará ese grupo, pero no se verá afectada la creación del Agente.
standby
standby <1|0>
Si un EndPoint tiene modo de espera habilitado (standby 1), el EndPoint no realizará ningún chequeo ni enviará ni generará ningún XML. Gracias a ello, se puede silenciar un Agente a voluntad con solo deshabilitarlo.
El modo debug sobreescribe esta funcionalidad y el EndPoint se ejecutará normalmente.
module_absoluteinterval
module_absoluteinterval <interval>[s,m,h,d]
module_absoluteinterval once
Especifica el intervalo de ejecución del módulo, pero a diferencia de module_interval:
- Recuerda la fecha de la última ejecución cuando se reinicia el EndPoint. El módulo no se ejecutará hasta que haya pasado el intervalo especificado.
- Permite especificar el intervalo en segundos, minutos, horas o días (e.g.,
30s,5m,1h,7d). - Es posible configurar módulos que se ejecuten una única vez especificando
oncecomo el valor del intervalo.
El token module_absoluteinterval necesita de module_name para generar el fichero .ref correspondiente. Solamente de esta manera el módulo será creado. Dependiendo del sistema operativo monitorizado, dicho fichero será creado en:
Linux®:
/usr/share/pandora_agent/ref/
MS Windows®:
C:\Program Files\pandora_agent\ref\
Servidor Secundario
Se puede definir un servidor secundario al que se le enviarán los datos en dos posibles situaciones dependiendo de si se activa la configuración del token secondary_mode:
on_error: Envía datos al servidor secundario solamente si no puede enviarlas al primario.always: Siempre envía datos al servidor secundario, independientemente si puede contactar o no con el servidor principal.
También se deben descomentar y configurar los siguientes tokens, según sea el caso de cada uno de ellos:
#secondary_server_ip localhost #secondary_server_path /var/spool/pandora/data_in #secondary_server_port 41121 #secondary_transfer_mode tentacle #secondary_transfer_timeout 30 #secondary_server_pwd mypassword #secondary_server_ssl no #secondary_server_opts
Servidor UDP
Tenga presente que UDP es por naturaleza inseguro (pero eficiente para enviar mensajes sin comprometer una respuesta cierta).
El EndPoint de Pandora FMS puede configurarse para la escucha de comandos remotos. Este servidor escucha en un puerto UDP especificado por el usuario, y permite recibir órdenes desde un sistema remoto, habitualmente desde la Consola de Pandora FMS, mediante la ejecución de alertas en el servidor.
Para configurar el servidor remoto UDP, existen las siguientes opciones en su fichero de configuración pandora_agent.conf:
udp_server: Para activar el servidor UDP establecer el valor a1. Por defecto está desactivado.udp_server_port: Número de puerto de escucha.udp_server_auth_address: Direcciones IP autorizadas para enviar órdenes. Para especificar varias direcciones se deben separar mediante comas. Si se configura con0.0.0.0aceptará órdenes de cualquier dirección.
Aunque puede establecerse a 0.0.0.0 para que acepte desde todos los orígenes, dicha práctica no es recomendada. Si tiene varios Servidores PFMS y/o utiliza IPv6 puede colocar diferentes direcciones IP separadas por comas. Si tiene en IPv6:2001:0db8:0000:130F:0000:0000:087C:140By su abreviatura es 2001:0db8:0:130F::87C:140B, utilizar ambas separadas por comas.
process_<name>_start <command>: Comando que arrancará un proceso definido por el usuario.process_<name>_stop <command>: Comando que detendrá el proceso.service_<name> 1: Permite que el servicio <name> sea detenido o inicado remotamente desde el servidor UDP.
Existe un script en el servidor, en /util/udp_client.pl usado por Pandora FMS Server como comando de una alerta, para comenzar procesos o servicios. Sintaxis:
./udp_client.pl <address> <port> <command>
Definición de los Módulos
Los Módulos de ejecución local se definen en el fichero de configuración pandora_agent.conf. La sintaxis general es la siguiente:
module_begin module_name <module_name> module_type generic_data module_exec <local_command> module_end
Elementos comunes de todos los Módulos
Los campos del Módulo (salvo el dato del Módulo, la descripción y la información extendida) sólo se actualizan en la creación del Módulo, nunca se actualizarán una vez que el Módulo ya existe.
module_begin
Etiqueta de inicio de un Módulo.
Esta etiqueta, al igual que module_end, es obligatoria.
module_name
module_name <name>
Nombre (<name>) del Módulo. Dicho nombre debe ser único y singular en la configuración el EndPoint. Obligatorio.
module_type
module_type <type>
Tipo (type) de datos que devolverá el Módulo. Obligatorio. Los tipos disponibles son:
- Numérico (
generic_data): Datos numéricos sencillos, con coma flotante o enteros. - Incremental (
generic_data_inc): Dato numérico igual a la diferencia entre el valor actual y el valor anterior dividida por el número de segundos transcurridos. Cuando esta diferencia es negativa, se reinicia el valor, esto significa que cuando la diferencia vuelva a ser positiva de nuevo se tomará el valor anterior siempre que el incremento vuelva a dar un valor positivo. - Absoluto incremental (
generic_data_inc_abs): Dato numérico igual a la diferencia entre el valor actual y el valor anterior, sin realizar la división entre el número de segundos transcurridos, para medir incremento total en lugar de incremento por segundo. Cuando esta diferencia es negativa, se reinicia el valor, esto significa que cuando la diferencia de nuevo vuelva a ser positiva, se empleará el último valor desde el que el actual incremento obtenido da positivo. - Alfanumérico (
generic_data_string): Recoge cadenas de texto alfanuméricas. - Booleanos (
generic_proc): Para valores que solo pueden ser correcto o afirmativo (1) o incorrecto o negativo (0). Útil para comprobar si un equipo está vivo, o un proceso o servicio está corriendo. Un valor negativo (0) trae preasignado el estado crítico, mientras que cualquier valor superior se considerará correcto. - Alfanumérico asíncrono (
async_string): Para cadenas de texto de tipo asíncrono. La monitorización asíncrona depende de eventos o cambios que pueden ocurrir o no, por lo que este tipo de Módulos nunca están en estado desconocido. - Booleano asíncrono (
async_proc): Para valores booleanos de tipo asíncrono. - Numérico asíncrono (
async_data): Para valores numéricos de tipo asíncrono. - Logs (
log): Véase Recolección y monitorización de logs.
module_min
module_min <value>
Valor (<value>) mínimo que el Módulo debe devolver para que sea aceptado. En caso contrario será descartado por el servidor.
module_max
module_max <value>
Valor (<value>) máximo que el Módulo debe devolver para que sea aceptado. En caso contrario será descartado por el servidor.
module_min_warning
module_min_warning <value>
Valor (<value>) mínimo del umbral de advertencia warning.
module_max_warning
module_max_warning <value>
Valor (<value>) máximo del umbral de advertencia warning.
module_min_critical
module_min_critical <value>
Valor (<value>) mínimo del umbral crítico critical.
module_max_critical
module_max_critical <value>
Valor (<value>) máximo del umbral crítico critical.
module_disabled
module_disabled <0|1>
Indica si el Módulo esta habilitado (0) o deshabilitado (1).
module_min_ff_event
module_min_ff_event <value>
Valor de la protección Flip Flop para falsos positivos. Será necesario que se produzcan el número de cambios de estado indicados en este valor para que el módulo modifique visualmente su estado en la Consola web.
module_each_ff
module_each_ff <0|1>
Si está habilitado ( 1), en vez de usar module_min_ff_event se utilizarán los umbrales Flip Flop por estado:
module_min_ff_event_normal.module_min_ff_event_warning.module_min_ff_event_critical.
module_min_ff_event_normal
module_min_ff_event_normal <value>
Valor de la protección Flip Flop para paso a estado normal.
module_min_ff_event_warning
module_min_ff_event_warning <value>
Valor de la protección Flip Flop para paso a estado warning.
module_min_ff_event_critical
module_min_ff_event_critical <value>
Valor de la protección Flip Flop para paso a estado critical.
module_ff_timeout
module_ff_timeout <seconds>
Reinicia el contador del umbral Flip Flop después del número de segundos dado. Esto implica que el número de cambios de estado determinado en module_min_ff_event deberá ocurrir en un intervalo de module_ff_timeout segundos antes de que el estado cambie en la consola a nivel visual.
module_ff_type
module_ff_type <value>
Indica si Keep counters está habilitado (1) o deshabilitado (0).
Se trata de una opción avanzada del Flip Flop para el control de estado de un Módulo. Mediante Keep counters establece unos valores de contador para pasar de un estado a otro dependiendo, en lugar del valor, del estado del módulo con el valor recibido.
module_ff_event
module_ff_event X
Esta directiva es el umbral Flip Flop de ejecución del módulo (en segundos).
module_description
module_description <text>
Texto libre con información sobre el Módulo.
module_interval
module_interval <factor>
Intervalo individual de Módulo. Este valor es un factor multiplicador del intervalo del EndPoint, no un tiempo libre.
Para que el module_interval funcione en Agentes Broker, debe tener el mismo intervalo que el del EndPoint del cual proviene. En caso contrario, puede fallar su funcionamiento. A partir de la versión 776 el campo intervalo de los Agentes broker en la Consola web ha sido retirado.
module_timeout
module_timeout <seconds>
En segundos, tiempo máximo permitido para la ejecución del Módulo. Si se supera este tiempo antes de haber finalizado su ejecución, será interrumpida. Esta instrucción debe estar ubicada entre las instrucciones module_begin y module_end.
module_postprocess
module_postprocess <factor>
Valor numérico por el que se multiplicará el dato devuelto por el Módulo. Útil para realizar conversiones de unidades.
module_save
module_save <variable_name>
Almacena el valor devuelto por el Módulo en una variable con el nombre indicado en este parámetro (<variable_name>). Este valor podrá ser utilizado posteriormente en otros Módulos.
Caso de estudio en Unix®/Linux®:
module_begin module_name echo_1 module_type generic_data module_exec echo 41121 module_save ECHO_1 module_end
Almacenará el valor 41121 en la variable ECHO_1:
module_begin module_name echo_2 module_type generic_data module_exec echo $ECHO_1 module_end
Este segundo Módulo mostrará el contenido de la variable $ECHO_1, siendo 41121.
En los EndPoints para MS Windows® la sintaxis del Módulo debe formarse encerrando la variable entre símbolos de porcentaje:
module_begin module_name echo_2 module_type generic_data module_exec echo %ECHO_1% module_end
module_crontab
Se pueden programar los Módulos para que se ejecuten en determinadas fechas según el siguiente formato:
module_crontab <minuto> <hora> <día> <mes> <día de la semana>
Siendo:
- Minuto 0-59.
- Hora 0-23 .
- Día del mes 1-31
- Mes 1-12 .
- Día de la semana 0-6 (0 es día domingo) .
module_condition
module_condition <operación> <comando>
Permite definir acciones que serán ejecutadas por el EndPoint en función del valor devuelto por el Módulo. Solamente disponible para valores numéricos. La sintaxis es la siguiente:
- > [valor]: Ejecuta el comando cuando el valor del Módulo es mayor que el valor dado.
- < [valor]: Ejecuta el comando cuando el valor del Módulo es menor que el valor dado.
- = [valor]: Ejecuta el comando cuando el valor del Módulo es igual al valor dado.
- != [valor]: Ejecuta el comando cuando el valor del Módulo es distinto al valor dado.
- =~ [expresión regular]: Ejecuta el comando cuando el valor del módulo concuerda con la expresión regular dada.
- (valor, valor): Ejecuta el comando cuando el valor del módulo está comprendido entre los valores dados.
Se pueden especificar múltiples condiciones para un mismo módulo.
En el sistema operativo MS Windows® es recomendable anteponer cmd.exe /c al comando para asegurar que se ejecuta de forma adecuada.
module_precondition
Permite determinar si se ejecuta o no el Módulo dependiendo del resultado de una ejecución dada. La sintaxis es igual a la sintaxis de module_condition.
module_unit
module_unit <string>
Unidades expresada en una cadena de texto para mostrar junto al valor obtenido por el Módulo, tal como porcentaje (module_unit %), etcétera.
module_group
module_group <value>
Permite indicar el grupo de Módulos al que será asignado el Módulo.
module_custom_id
module_custom_id <value>
Esta directiva es un identificador personalizado del Módulo.
module_str_warning
module_str_warning <value>
Permite indicar una expresión regular para definir el umbral de advertencia warning en Módulos de tipo alfanumérico.
module_str_critical
module_str_critical <value>
Permite indicar una expresión regular para definir el umbral crítico critical en Módulos de tipo alfanumérico.
module_warning_instructions
module_warning_instructions <value>
Informa de instrucciones que se mostrarán en el evento generado por el Módulo al pasar a estado de advertencia warning.
module_critical_instructions
module_critical_instructions <value>
Informa de instrucciones que se mostrarán en el evento generado por el módulo al pasar a estado critical.
module_unknown_instructions
module_unknown_instructions <value>
Informa de instrucciones que se mostrarán en el evento generado por el módulo al pasar a estado desconocido unknown.
module_tags
module_tags <value>
Etiquetas que se deseen asignar al Módulo, separadas por comas.
module_warning_inverse
module_warning_inverse <value>
Permite activar ( 1 ) el intervalo inverso para el umbral de advertencia warning.
module_critical_inverse
module_critical_inverse <value>
Permite activar ( 1 ) el intervalo inverso para el umbral crítico critical.
module_native_encoding
Para Win32 únicamente.
module_native_encoding <value>
Este token de configuración solo afecta a los Módulos que se ejecutan mediante una directiva de comandos, es decir, hay un module_exec presente.
MS Windows® maneja tres codificaciones para sus procesos: la codificación de la línea de comandos (OEM), la codificación del sistema (ANSI) y UTF-16. Estas codificaciones coinciden en los caracteres básicos, pero difieren en aquellos menos comunes, como podrían ser las tildes. Con este token, el EndPoint de Pandora FMS convierte la salida del comando a la codificación especificada en el encoding del archivo de configuración.
module_native_encoding tiene cuatro valores válidos:
module_native_encoding OEM: Para la codificación de la línea de comandos.module_native_encoding ANSI: Para la codificación del sistema.module_native_encoding UTFLE: Para UTF-16 little-endian.module_native_encoding UTFBE: Para UTF-16 big-endian.
Si no aparece module_native_encoding, no se realizará ninguna recodificación.
module_quiet
module_quiet <value>
Si se encuentra habilitado ( 1 ) el Módulo estará en modo silencioso: no generará eventos ni disparará alertas.
module_ff_interval
module_ff_interval <value>
Permite indicar un umbral Flip Flop en el Módulo.
module_macro
module_macro<macro> <value>
Solamente aplicable en componentes locales desde la Consola web. Sin utilidad en el fichero de configuración.
module_alert_template
module_alert_template <template_name>
Esta macro asigna al Módulo creado la plantilla de alerta correspondiente al nombre introducido como parámetro (ver Plantillas de alerta).
intensive_interval
Intervalo de monitorización intensiva. Los módulos que utilicen module_intensive_monitorig podrán notificar si su estado es incorrecto en este intervalo.
module_intensive_condition
Condición para monitorización intensiva. Cuando un módulo de monitorización intensiva alcance el valor configurado en este parámetro, notificará en el intervalo intensivo definido.
module_end
Directivas específicas para obtener información
En cada Módulo solamente se puede utilizar uno de estos tipos.
module_exec
module_exec <command>
Se debe especificar la ejecución deseada para obtener la información en una única línea.
En Linux®, el comando se ejecutará mediante el intérprete de comandos por defecto. El intérprete por defecto viene determinado por el enlace simbólico de /bin/sh. Normalmente el enlace apunta a bash, pero en sistemas como Ubuntu® no es así. Una solución que funcionará en la mayoría de ocasiones:
module_exec bash -c "<command>"
Si la ejecución del comando devuelve un código de error (return code) diferente de 0, se interpretará que el comando da error y se descartará el dato obtenido.
Para un EndPoint sobre MS Windows® existen más directivas para obtener datos.
module_exec_powershell
Solamente para MS Windows®.
module_exec_powershell <commands>
Permite realizar chequeos nativos con PowerShell®.
module_service
module_service <service>
Comprueba si un determinado servicio se está ejecutando en la máquina.
En MS Windows®
Si el nombre del servicio contiene espacios en blanco se debe utilizar entrecomillado " ".
module_begin module_name Service_DHCP module_type generic_proc module_service Dhcp module_description Service DHCP Client module_end
El servicio se identifica con el nombre corto del servicio ( Service name ), tal como aparece en el gestor de servicios de MS Windows®.
Modo asíncrono
Agregar la directiva:
module_async yes
Esta funcionalidad no está soportada en los Agentes Broker.
En las versiones de MS Windows Home Edition® esta funcionalidad asíncrona no está soportada y, solamente en estas versiones, el EndPoint de Pandora FMS realiza una consulta periódica para saber si el servicio está corriendo o no. Esto puede consumir bastantes recursos así que se recomienda usar la versión síncrona si se monitoriza un número elevado de servicios.
Watchdog de servicios:
Existe un modo de vigilancia o watchdog para los servicios, de tal forma que el EndPoint puede iniciarlos de nuevo si estos se detienen y se especifica como:
module_watchdog yes
En Unix
En Unix funciona igual que en MS Windows®, solamente que para Unix® proceso y servicio es el mismo concepto.
El modo watchdog y la detección asíncrona no son posibles en el EndPoint de Unix®.
Para module_service se debe colocar la ruta completa tal cual aparece el servicio con el comando ps aux:
ps aux | grep ssh
Se debe configurar:
module_service /usr/sbin/sshd -D
module_proc
module_proc <process_name>
Comprueba si un determinado nombre de proceso está operando en esta máquina.
En MS Windows®
Es innecesario el entrecomillado para el nombre del proceso.
El nombre del proceso debe de tener la extensión .exe.
El Módulo devolverá el número de procesos que se estén ejecutando con este nombre.
Modo asíncrono
De una forma similar a los servicios, monitorizar procesos puede ser crítico en algunos casos. Ahora el EndPoint para Windows® soporta comprobaciones asíncronas para el parámetro module_proc. En este caso el EndPoint notifica inmediatamente cuando el proceso cambia de estado, sin esperar a que se cumpla el intervalo de ejecución del EndPoint. De esta forma se puede conocer de la detención de procesos críticos casi al instante de que ocurran. Esta funcionalidad no está soportada en los Agentes Broker.
Watchdog de procesos
Es importante destacar que el modo Watchdog solo funciona cuando el tipo de módulo es asíncrono.
Dado que ejecutar un proceso puede requerir algunos parámetros, hay algunas opciones adicionales de configuración para este tipo de módulos. Una configuración típica de un module_proc con watchdog:
module_begin module_name Notepad module_type generic_proc module_proc notepad.exe module_description Notepad module_async yes module_watchdog yes module_start_command c:\windows\notepad.exe module_startdelay 3000 module_retrydelay 2000 module_retries 5 module_end
Para versiones anteriores a Windows Vista® el token module_user_session puede configurarse de manera general habilitando en las propiedades del servicio de Pandora FMS la casilla “Acceso interactivo con el escritorio” (Allow service to interact with desktop):
Pandora FMS, como servicio, se ejecuta bajo la cuenta SYSTEM y el proceso ejecutado lo hará bajo ese usuario y con ese entorno, de forma que si se necesita ejecutar algún proceso determinado que requiera ser usado con un usuario específico, se deberá encapsular en un script (.bat o similar) los procesos previos para inicializar el entorno (variables de entorno, etc) y ejecutar ese script como acción del Watchdog.
En Unix®
En Unix funciona exactamente igual que en module_service. Tampoco soporta modo asíncrono ni watchdog.
module_cpuproc
Solamente para Unix®.
module_cpuproc <process>
Devuelve el uso de CPU específico de un proceso.
module_memproc
Solamente para Unix®.
module_memproc <process>
Devuelve el consumo de memoria específico de un proceso.
module_freedisk
module_freedisk <unit_letter:>|<vol>
Comprueba el espacio libre en la unidad y volumen de almacenamiento especificado.
module_freepercentdisk
module_freepercentdisk <unit_letter:>|<vol>
Este Módulo devuelve el porcentaje de espacio libre en la unidad y volumen de almacenamiento especificado.
module_occupiedpercentdisk
Solamente para Unix®.
module_occupiedpercentdisk <vol>
Este Módulo devuelve el porcentaje de espacio ocupado en el volumen de almacenamiento especificado.
module_cpuusage
module_cpuusage [<id_cpu>|all]
Devuelve el uso de CPU en un número de CPU. Si solamente existe una CPU se utiliza el valor all (o ninguno). Para MS Windows® y Unix®.
module_freememory
Funciona tanto en Unix® como en MS Windows®. Devuelve el valor de la memoria libre en todo el sistema.
module_begin module_name FreeMemory module_type generic_data module_freememory module_description Non-used memory on system module_end
module_freepercentmemory
Funciona tanto en Unix® como en MS Windows®. Este Módulo devuelve el porcentaje de memoria libre en un sistema:
module_begin module_name freepercentmemory module_type generic_data module_freepercentmemory module_end
module_tcpcheck
Solamente para MS Windows®.
Este Módulo inicia conexión con la dirección IP y puerto especificados. Devuelve 1 si tuvo éxito y 0 en caso contrario. Se debe especificar un tiempo de expiración con module_timeout:
module_begin module_name tcpcheck module_type generic_proc module_tcpcheck https://www.pandorafms.com/ module_port 443 module_timeout 5 module_end
module_regexp
Es un módulo para monitorizar y recoger logs de texto plano, tanto en Microsoft Windows® como en Linux®. Se utiliza conjuntamente con module_pattern y module_pattern_exclude. Si se desea capturar eventos en Windows se debe utilizar otro método para su captura (module_logchannel).
module_begin module_name Syslog module_description Sample log collection of Syslog messages file module_type log module_regexp /var/log/messages module_pattern .* module_pattern_exclude <regexp_to_exclude> module_end
Este tipo de módulo monitoriza un log buscando coincidencias usando expresiones regulares, descartando las líneas ya existentes al iniciar la monitorización. Los datos devueltos por el Módulo dependen del tipo de Módulo:
generic_data_string,async_string: Devuelve todas las líneas que coincidan con la expresión regular.generic_data: Devuelve el número de líneas que coincidan con la expresión regular.generic_proc: Devuelve1si existe alguna coincidencia,0de otra forma.module_noseekeof: Por defecto inactivo,0. Con este token de configuración activo (1) en cada ejecución, independientemente de las modificaciones en el fichero del log, el módulo reinicia su comprobación sin buscar el final del archivo (flagEOF). De esta manera siempre sacará en el XML todas aquellas líneas que coincidan con el patrón de búsqueda.log: Empleado para la recolección de logs (que es diferente a la monitorización). Véase más detalles en la sección de Recolección de logs. Si se desea capturar toda la información del log se debe incluir:
module_pattern .*
- Este módulo funciona ligeramente diferente en Windows y en Linux, ya que
module_pattern_excludesolamente está soportado en Linux. Por lo demás funcionan igual. module_pattern_excludees opcional y puede no existir en la definición del módulo.
module_wmiquery
Solamente para MS Windows®.
Los Módulos WMI permiten ejecutar localmente cualquier consulta o query WMI sin utilizar una herramienta externa. Se configura por medio de dos parámetros:
module_wmiquery: WQL query empleada. Se pueden obtener varias líneas como resultado, que serán insertados como varios datos.module_wmicolumn: Nombre de la columna que se va a usar como fuente de datos:
module_wmiquery SELECT PercentProcessorTime FROM … module_wmicolumn PercentProcessorTime
module_perfcounter
Solamente para MS Windows®.
Obtiene los datos del contador de rendimiento (performance counter) a través de la interfaz de PDH. El fichero pdh.dll debe de estar instalado en el sistema. PDH.DLL pertenece a una biblioteca de MS Windows®, si no está disponible debe instalar la herramienta de análisis de rendimiento de MS Windows® la cual suele venir por defecto instalada.
module_inventory
Actualmente esta funcionalidad ha sido sustituida por inventario desde plugins de EndPoint tanto en sistemas Windows® como Linux®/Unix®.
module_logevent
Actualmente module_logchannel es la opción recomendada ya que module_logevent ha quedado obsoleto y se conserva en funcionamiento para compatibilidad con versiones anteriores.
module_logchannel
Se utiliza para recoger eventos nativos de Microsoft Windows® y transformarlos en una información de texto plano, con atributos extendidos almacenados en formato JSON y recolectada como log por el colector de logs de Pandora FMS. Previamente se tendrá que activar y configurar, tal como se describe en la sección de Recolección de logs.
La sintaxis básica se describe en detalle en dicho capítulo, aquí se puede ver una referencia básica de la sintaxis de dicho módulo:
module_begin module_name MyEvent module_type log module_logchannel module_source <source> module_eventtype <event_type/level> module_eventcode <event_id> module_application <application> module_pattern <regexp to match> module_source_type <log type, only SIEM> module_end
Donde module_source es el único campo obligatorio específico de este tipo de módulo.
module_name es más relevante de lo que parece pues muchas reglas de SIEM se activan sobre un nombre de aplicación concreto y precisamente este nombre se define en el module_name. De hecho para eventos de tipo SysMon, el nombre debe ser uno concreto, y así para muchas reglas de SIEM.
module_plugin
Para la ejecución de plugins de EndPoint. Es un caso especial ya que no requiere de ninguna otra etiqueta tipo module_begin o module_end y tampoco indicar el tipo de Módulo.
Sintaxis con sus respectivos parámetros:
module_plugin plugin_filename parameter_1 parameter_2 (...) parameter_X
Sin embargo es posible usarlo también entre las etiquetas habituales de Módulos para añadir opciones adicionales como condiciones o intervalos:
module_begin module_plugin plugin_filename parameter_1 parameter_2 (...) parameter_X module_interval 2 module_condition (0, 1) script.sh module_end
Los parámetros a utilizar serán diferentes para cada plugin, por lo que será necesario remitirse a su documentación particular.
Consíderese el plugin grep_log, el cual es uno de los que vienen por defecto con el EndPoint, y sirve para buscar coincidencias en un fichero:
module_plugin grep_log /var/log/syslog Syslog ssh
Se buscará la expresión regular ssh en el fichero /var/log/syslog y lo guardará en un módulo llamado Syslog.
module_ping
Solamente para MS Windows®.
module_ping <host>
Este módulo realiza un ping al anfitrión o host especificado y devuelve 1 si está en línea.
Parámetros opcionales de configuración:
module_ping_count x: Número de paquetes ECHO_REQUEST a enviar (1por defecto).module_ping_timeout x: Tiempo de expiración en milisegundos de espera para cada respuesta (1000por defecto).module_advanced_options: Opciones avanzadas paraping.exe.
module_snmpget
Solamente para MS Windows®.
module_snmpget
Este Módulo ejecuta una chequeo SNMP y devuelve el valor solicitado. Los parámetros de configuración se deben especificar en líneas subsiguientes de esta manera:
module_snmpversion [1_2c_3]: Versión de SNMP (1 por defecto).module_snmp_community <community>: Comunidad SNMP (publicpor defecto).module_snmp_agent <host>: Agente SNMP objetivo.module_snmp_oid <oid>: OID objetivo.module_advanced_options: Opciones avanzadas parasnmpget.exe.
module_wait_timeout
Solamente para MS Windows®.
Tiempo de expiración que se utiliza cuando se comprueba la salida de módulos module_exec y module_plugin.
module_wait_timeout <numerical_value>
Valor por defecto 500 milisegundos.
Cuando se recopilan muchos datos (más de dos millones de bytes) este valor puede ser disminuido a 10 milisegundos para que los llenados y procesados de buffer (bloques de dieciséis mil bytes) sean atendidos rápidamente, aumentando así el desempeño del PFMS Server.
Se debe usar a discreción, para otros casos evítese modificar este valor predeterminado.
module_advanced_options
Solamente para MS Windows®.
module_advanced_options <parameter>
Para los comandos module_ping y module_snmpget permite utilizar parámetros adicionales. Tómese en cuenta para especificar protocolo IPv6, entre otras opciones.
module_pattern
Véase module_regexp.
module_pattern_exclude
Véase module_regexp.
Configuración automática de EndPoints
Introducción
En el proceso de autoconfiguración de EndPoints se pueden establecer una serie de reglas para que se configuren de manera automática, funciona de la siguiente manera:
- Prepárese las configuraciones automáticas en Consola Pandora FMS o Command Center Pandora FMS .
- Instálense los EndPoints reportando hacia Pandora FMS Server; si se tiene un Command Center con el sistema de autoaprovisionamiento configurado, establézcase como servidor el propio Command Center.
- Pandora FMS Server recibirá un XML (
.data) con los datos del EndPoint por primera vez. - Se evaluarán las reglas para determinar la configuración automática a aplicar.
- El EndPoint recogerá la nueva configuración y reportará en el siguiente ciclo con la configuración actualizada.
Creación y edición de autoconfiguración de agentes
Nodos:
Menú Management → Configuration → Manage agent autoconfiguration.
Command Center:
Menú Centralised management → Agent management →
Agent autoconfiguration.
Al acceder a la página de administración se pueden crear nuevas configuraciones automáticas presionando el botón Add new configuration definition para establecer los datos generales de la autoconfiguración.
Se deberá elegir un nombre y un modo de ejecución: inmediata (opción Start por defecto) o periódicamente (Scheduled, aparecerán las opciones de calendario diario, semanal o mensual). Pulse el botón Create para guardar y entrar en el modo de edición. Si desea cambiar alguno de los tres campos anteriores se deberá pulsar el botón Update (solamente para guardar los datos generales).
Una vez creada una configuración automática (o en su posterior edición) se pueden mostrar los formularios de configuración pulsando en la sección que se necesite:
- Estas tres secciones tienen sus propios e independientes botones de creación, edición y borrado para sus elementos.
En los nodos que pertenecen a un Command Center con la administración centralizada activa la vista será únicamente de lectura. En un Command Center al cual esté pendiente de aplicarse por primera vez la Merging Tool será incapaz de crear autoconfiguraciones de agentes para sus futuros nodos.
Reglas
Para definir los EndPoints sobre los que se aplicará la configuración automática se deben agregar reglas para identificarlos.
Si no se agrega ninguna regla la configuración automática no se aplicará. Si se necesita una única configuración para todos los agentes se puede utilizar la expresión regular .* para que coincida con cualquier alias.
Despliegue el apartado de reglas y pulse Add rule. Se podrá elegir en el selector de reglas una serie de opciones, para identificar los EndPoints que se vayan a configurar.
- Server name: Coincidencia en nombre de servidor.
- Group name: Coincidencia en nombre de grupo.
- Secondary group name: Coincidencia en nombre de un grupo secundario.
- OS: Coincidencia en nombre de sistema operativo mediante expresiones regulares.
- Alias: Coincidencia en alias. Se puede utilizar la expresión regular
.*para que coincida con cualquier alias. - Custom field: Coincidencia por clave/valor en base a un campo personalizado reportado por el EndPoint. Indique el nombre del campo personalizado y el valor que debe tener.
- IP range: Coincidencia por rango de direcciones IP (red), utilice la notación IP/máscara.
- Script output (> 0): Pensado para ejecutar un script cuyo resultado de la ejecución se evalúa como válida cuando la salida estándar sea mayor que
0. - Llamada al script de reglas: Admite las siguientes macros en el campo 'argumentos' (se puede elegir entre operadores
ANDyORpara modificar la lógica de las reglas entre sí):
_agent_: Se sustituirá por el nombre del Agente._agentalias_: Se sustituirá por el alias del Agente._address_: Se sustituirá por la dirección IP principal reportada por el Agente._agentgroup_: Se sustituirá por el nombre del grupo reportado por el Agente._agentos_: Se sustituirá por el sistema operativo del Agente.
Finalmente se debe pulsar Create rule para guardar los cambios, sin necesidad de pulsar el botón Update.
En los nodos que pertenecen a un Command Center con la administración centralizada activa la vista será únicamente de lectura.
Autoconfiguraciones de agentes
- New group: Puede mantener sin cambios (No change, opción por defecto) o forzar a pertenecer a un grupo en específico.
- Secondary groups: Los grupos seleccionados aquí se agregarán como grupos secundarios al Agente. Evite repetir grupos secundarios en la selección.
- Policy configuration: Se puede seleccionar una o varias políticas de monitorización para que se apliquen automáticamente cuando el Agente alcance al PFMS Server. Si son varias políticas de monitorización se les puede especificar una prioridad (cero por defecto) y se aplicarán primero las que tengan mayor valor numérico (se recomienda utilizar valores singulares).
- Edit configuration block: Agrega la configuración extra en bruto al fichero de configuración del Agente (el EndPoint debe de tener la configuración remota activada).
La primera vez que agregue una autoconfiguración de agente debe utilizar el botón Create. Posteriormente aparecerá un botón Update el cual es distinto del botón Update utilizado para los datos generales de la autoconfiguración.
En los nodos que pertenecen a un Command Center con la administración centralizada activa la vista será únicamente de lectura.
Acciones extra
Desde esta sección puede asociar otras acciones adicionales a la autoconfiguración:
- Lanzar un evento personalizado (Launch custom event).
- Ejecutar una acción de alerta (Launch alert action).
- Ejecutar un script (Launch script) especificando la ubicación y parámetros.
El sistema admite las siguientes macros:
_agent_: Se sustituirá por el nombre del Agente._agentalias_: Se sustituirá por el alias del Agente._address_: Se sustituirá por la dirección IP principal reportada por el agente._agentgroup_: Se sustituirá por el nombre del grupo reportado por el Agente._agentos_: Se sustituirá por el sistema operativo del Agente._agentid_: Se sustituye por el ID del Agente.
EndPoints Unix/Linux
Configuración de los EndPoints Unix de Pandora FMS
Las rutas y directorios fundamentales a tener en cuenta son:
/usr/share/pandora_agent: Ruta donde se instala el EndPoint de Pandora FMS. En los sistemas donde por políticas esto no se permita, se recomienda crear un enlace a esta ruta desde la ruta real de instalación, por ejemplo/opt/pandora→/usr/share/pandora_agent./etc/pandora/pandora_agent.conf: Fichero principal de configuración del EndPoint. Los Módulos de ejecución local y plugins de EndPoint se configuran aquí./usr/local/bin/pandora_agent: Ruta al binario ejecutable del EndPoint. Generalmente tiene un enlace a/usr/bin/pandora_agent./usr/local/bin/tentacle_client: Ruta al binario ejecutable de Tentacle, para la transferencia de ficheros hacia el servidor. Generalmente tiene un enlace a/usr/bin/tentacle_client.systemctl pandora_agent_daemon: Script de inicio/parada/reinicio.- En los sistemas AIX el daemon es
/etc/rc.pandora_agent_daemon.
/var/log/pandora/pandora_agent.log: Fichero de texto donde se guarda la actividad del EndPoint de Pandora FMS, cuando el EndPoint se ejecuta en modo de depuración./etc/pandora/plugins: Directorio que contiene los plugins de EndPoint. Está enlazado al directorio/usr/share/pandora_agent/plugins./etc/pandora/collections: Directorio que contiene las colecciones desplegadas al EndPoint. Está enlazado al directorio/usr/share/pandora_agent/collections.
Ejecución inicial del EndPoint Unix
Para iniciar el EndPoint únicamente es necesario ejecutar:
systemctl start pandora_agent_daemon
Para detener el EndPoint, ejecutar:
systemctl stop pandora_agent_daemon
Este script de arranque podrá iniciar o detener el EndPoint de Pandora FMS, que al iniciarse quedará por defecto corriendo en el sistema como un daemon.
Opciones básicas de EndPoint
Si el EndPoint tiene la configuración remota activada y corresponde a una versión 774 o posterior, se podrán habilitar las siguientes opciones en la sección Basic options en la configuración de agente en la Consola web.
- Enable security hardening monitoring: Habilita el plugin para fortalecer la seguridad en el dispositivo monitorizado. En el fichero de configuración se habilitarán las siguientes opciones:
#Hardening plugin for security compliance analysis. Enable to use it. module_begin module_plugin /usr/share/pandora_agent/plugins/pandora_hardening -t 150 module_absoluteinterval 7d module_end
Donde los parámetros están configurados a un tiempo de espera de 150 segundos para su ejecución (-t 150) en un intervalo de 7 días (7d).
- Enable log collection: Esto recopilará los archivos de registro para el análisis forense y almacenará todos los registros. En el fichero de configuración se habilitarán las siguientes opciones:
# This is for LOG COLLECTION monitoring, different than log monitoring. module_plugin grep_log_module /var/log/messages Syslog \.\*
- Enable inventory: Habilita la opción de monitorización de inventario. En el fichero de configuración se habilitarán las siguientes opciones:
# Plugin for inventory on the agent. module_plugin inventory 1 cpu ram video nic hd cdrom software init_services filesystem users route
Modificar la forma en que los EndPoint Unix obtienen información del sistema
Existen algunos Módulos que obtienen la información de forma predefinida sin necesidad de indicar un comando con module_exec. Estos módulos son:
- module_procmem
- module_freedisk
- module_freepercentdisk
- module_cpuproc
- module_proc
- module_cpuusage
- module_freememory
- module_freepercentmemory
Es posible modificar el funcionamiento de estos Módulos por defecto editando directamente el ejecutable del EndPoint (por defecto /usr/bin/pandora_agent ). El EndPoint de Pandora FMS está ubicado generalmente en /usr/bin/pandora_agent.
Busque la cadena Commands to retrieve la cual lleva el código que contiene los comandos internos. Bien puede hacer las modificaciones que necesite para adaptarlos al sistema.
# Commands to retrieve total memory information in kB
use constant TOTALMEMORY_CMDS => {
linux => 'cat /proc/meminfo | grep MemTotal: | awk \'{ print $2 }\,
solaris => 'MEM=`prtconf | grep Memory | awk \'{print $3}\'` bash -c \'echo $(( 1024 * $MEM ))\,
hpux => 'swapinfo -t | grep memory | awk \'{print $2}\
};
# Commands to retrieve partition information in kB
use constant PART_CMDS => {
# total, available, mount point
linux => 'df -P | awk \'NR> 1 {print $2, $4, $6}\,
solaris => 'df -k | awk \'NR> 1 {print $2, $4, $6}\,
hpux => 'df -P | awk \'NR> 1 {print $2, $4, $6}\,
aix => 'df -kP | awk \'NR> 1 {print $2, $4, $6}\
};
Para cambiar cualquiera de los comandos predefinidos, simplemente edite el código para modificar el comando, pero tenga cuidado con los siguientes aspectos:
- Verifique que las bloques
{ };siempre terminen en punto y coma. - Verifique que los comandos están encerrados entre comillas simples:
' '. - A su vez dentro de dichas comillas puede ser que necesite otro entrecomillado adicional con
` `(observe bien el ejemplo anterior). - Verifique que cualquier comilla simple que quiera usar en el comando, esté escapada previamente con el carácter
\, es decir\'. Por ejemplo, este comando que normalmente sería:
df -P | awk 'NR> 1 {print $2, $4, $6}'
Debe escribirlo como:
df -P | awk \'NR> 1 {print $2, $4, $6}\'
EndPoint Windows de Pandora FMS
Configuración del EndPoint para Windows de Pandora FMS
Las rutas y directorios fundamentales en las instalaciones del EndPoint para MS Windows® se encuentran en el propio directorio donde se haya instalado el EndPoint, por defecto %ProgramFiles%.
Los más importantes a tener en cuenta son:
%ProgramFiles%\pandora_agent
Donde se instala el EndPoint de Pandora FMS, su ejecutable y sus directorios.
%ProgramFiles%\pandora_agent\pandora_agent.conf
Fichero principal de configuración del EndPoint. Los Módulos de ejecución local y plugins de EndPoint se configuran aquí.
%ProgramFiles%\pandora_agent\PandoraAgent.exe
Binario ejecutable del EndPoint.
%ProgramFiles%\pandora_agent\util\tentacle_client.exe
Binario ejecutable de Tentacle, para la transferencia de ficheros hacia el servidor.
%ProgramFiles%\pandora_agent\scripts
Scripts de inicio/parada/reinicio del EndPoint de Pandora FMS.
%ProgramFiles%\pandora_agent\pandora_agent.log
Fichero de texto donde se guarda la actividad del EndPoint de Pandora FMS, cuando el EndPoint se ejecuta en modo de depuración.
%ProgramFiles%\pandora_agent\util
Directorio que contiene los plugins de EndPoint.
%ProgramFiles%\pandora_agent\collections
Directorio que contiene las colecciones del EndPoint.
Opciones básicas de EndPoint para MS Windows
Cuando el EndPoint tiene la configuración remota activada y la versión instalada es 774 o posterior, se podrán habilitar las siguientes opciones en la sección Basic options en la configuración de agente en la Consola web.
- Enable inventory: Habilita la opción de monitorización de inventario. En el fichero de configuración se habilitarán los siguientes parámetros:
module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\cpuinfo.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\moboinfo.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\diskdrives.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\cdromdrives.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\videocardinfo.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\ifaces.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\monitors.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\printers.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\raminfo.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\software_installed.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\userslogged.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\productkey.vbs" module_crontab * 12-15 * * 1 module_end module_begin module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\productID.vbs" module_crontab * 12-15 * * 1 module_end
- Enable security hardening monitoring: Habilita el plugin para fortalecer la seguridad en el dispositivo monitorizado. En el fichero de configuración se habilitarán los siguientes parámetros:
#Hardening plugin for security compliance analysis. Enable to use it. module_begin module_plugin "%PROGRAMFILES%\Pandora_Agent\util\pandora_hardening.exe -t 150" module_absoluteinterval 7d module_end
Donde las opciones están configurados a un tiempo de espera de 150 segundos para su ejecución (-t 150) en un intervalo de 7 días (7d) como período de EndPoint.
- Enable log collection: Esto recopilará los archivos de registro para el análisis forense y almacenará todos los registros. En el fichero de configuración se habilitarán los siguientes parámetros:
module_begin module_name PandoraAgent_log module_type generic_data_string module_regexp C:\archivos de programa\pandora_agent\pandora_agent.log module_description This module will return all lines from the specified logfile module_pattern .* module_end
Opciones de seguridad de EndPoint para MS Windows
Para el EndPoint PFMS versión 775 o posterior está incluido un plugin que viene desactivado por defecto. Para habilitarlo deben descomentar las siguientes instrucciones en el fichero de configuración:
# Pandora basic security check plugin for windows. #module_begin #module_plugin "%PROGRAMFILES%\Pandora_Agent\util\pandora_security_win.exe" #module_end
Una vez se haya reiniciado el EndPoint se recogerán los siguientes módulos de agente:
- Antivirus instalado y funcionando, ya sea de Microsoft o terceros, y si se encuentran actualizadas sus definiciones de virus (dos módulos). En MS Windows server® esta característica no está disponible por lo que los módulos no son creados.
- Verifica si el bloqueo automático de pantalla está activo (Lock screen status), esto protege la cuenta del usuario cuando deja desatendido el equipo, sin actividad de ratón y teclado (un módulo).
- Consulta si MS Windows® se encuentra actualizado (Windows updated®) hace una semana o menos (un módulo).
- Situación del cortafuegos, activado o no (tres módulos, uno por cada perfil del firewall: Domain network, Private network y Public network).
- Verificación de que todas las cuentas locales cuentan con contraseña establecida (un módulo).
- Un módulo es dedicado a monitorizar si el registro de intentos fallidos de sesión se encuentra activo o no (solamente para OS instalados en inglés y en español).
Despliegue automático de EndPoint
Puede desplegar EndPoints utilizando la central de despliegues a través del sistema Discovery, más información en este enlace.
Auto-actualización de los EndPoints
Utilizando las colecciones de archivos y la herramienta pandora_update puede proporcionar una manera de “auto-actualizar” los EndPoint.
La herramienta pandora_update necesita el módulo de Perl Digest::MD5 para funcionar. A partir de la versión 5.14 de Perl, este módulo está integrado por defecto, pero en versiones anteriores deberá instalarlo manualmente.
Funciona del siguiente modo:
1. Los EndPoint reciben nuevos binarios en el directorio de entrada de las colecciones.
Ejemplo en MS Windows®:
%ProgramFiles%\pandora_agent\collections\fc_1\PandoraAgent.exe
Ejemplo en Linux®:
/etc/pandora/collections/fc_1/pandora_agent
2. El EndPoint ejecuta el plugin pandora_update. Este plugin recibe un único parámetro: el nombre corto de la colección (en este ejemplo, fc_1). Analizará el directorio de la colección buscando el binario del EndPoint (no el instalador entero), comparará el binario ubicado en la colección con el que se encuentra corriendo en ese momento y, si son diferentes, pandora_update detiene el EndPoint, reemplaza el binario y reinicia el EndPoint de nuevo utilizando el nuevo binario.
Para actualizar diferentes arquitecturas deberá establecer una colección diferente para cada arquitectura. Por ejemplo, si se desean actualizar EndPoint de Windows® de 32 y 64 bits, debe crear dos colecciones y en cada una de ellas incluir el binario PandoraAgent.exe correspondiente.
3. Pandora_update también escribe a un log pequeño el evento actualizado, para ser capaz de recuperar en la siguiente ejecución y avisar al usuario (mediante el uso de un Módulo async_string) acerca del proceso de actualización del EndPoint.
Esto implica que los Módulos utilizados para completar el proceso de actualización podrán ser configurados para tener un intervalo alto.
Unix instalación estándar
module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec nohup /etc/pandora/plugins/pandora_update fc_1 2> /dev/null && tail -1 nohup.out 2> /dev/null module_description Module to check new version of pandora EndPoint and update itself module_end
Unix instalación personalizada
module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec nohup /var/opt/PandoraFMS/etc/pandora/plugins/pandora_update fc_1 /var/opt/PandoraFMS 2> /dev/null && tail -1 nohup.out 2> /dev/null module_description Module to check new version of pandora EndPoint and update itself module_end
El comando pandora_update acepta como segundo parámetro la vía del directorio de instalación de Pandora FMS, es innecesario especificarlo si la instalación se realizó en la vía por defecto.
MS Windows®
module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec pandora_update.exe fc_1 module_description Module to check new version of pandora EndPoint and update itself module_end
Autocreación de Agentes y Módulos desde XML
Los Agentes pueden configurarse desde la Consola en tres modos de trabajo:
- Modo aprendizaje: Si el XML recibido del EndPoint contiene nuevos Módulos, éstos serán automáticamente creados. Este es el comportamiento por defecto.
- Modo normal: No se crearán nuevos Módulos que lleguen en el XML si no han sido declarados previamente en la consola.
- Modo autodeshabilitado: Similar al modo aprendizaje, en este modo, además, si todos los Módulos pasan a estado desconocido el Agente se deshabilitará automáticamente, pasando a habilitarse de nuevo si recibe nueva información.
Datos que se actualizan de un Módulo ya existente al recibir un XML
Cuando se recibe un XML que contiene información de un Módulo ya existente, únicamente se actualiza la descripción y la información extendida, además del dato del Módulo.
Los datos GIS se actualizan siempre (si están habilitados) sin importar si el learning mode está desactivado.



