Monitoreo de Ficheros de Log desde Zabbix

El siguiente Template en Zabbix ha sido creado por la necesidad de monitorear un Log y generar un disparador (Trigger) en el momento que encuentre un string y con ella accionar un mail de alerta a los administradores. Con la opción de Zabbix logrt se logra monitorear distintos fichero que son rotados automáticamente por el SO, con el siguiente Template no es necesario cambiar cada mes o cada año la sintaxis por el que está en curso ya que son leídos todos los ficheros de Log con el parámetro que le coloquemos.

Este es un ejemplo real para monitorear un Log en GNU/Linux Debian:


1. Ingresar en la pestaña
 "Configuration - Templates"

2. Presionar botón "Create template" y colocar un nombre al Template para el monitoreo de Log en cualquiera de los host que se requiera.
 Template Log Monitoring

3. Asignar Grupo al que queremos que pertenezca para mantener un orden y también el Host en el que se quiere monitorear el Log.

4. Ir a la sub pestaña "Applications" y presionar Create application:
 Log Monitoring

5. Pasar a la sub pestaña "Items" y presionar el botón Create item:
 Name: Log Monitoring Test
 Type: Zabbix agent (active)
 Key: logrt["/patch/log/application/.*.-.*_error.log","Falla-Certificado"]
 Type of information: Log
 Update interval: 60s
 History storage period: 90d
 Applications: Log Monitoring

5.1 Otra opción de Item:
 Name: Log Monitoring Test
 Type: Zabbix agent (active)
 Key: logrt["/patch/log/application/.*.-.*_error.log"]
 Type of information: Log
 Update interval: 60s
 History storage period: 90d
 Applications: Log Monitoring

6. Desplazar a la sub pestaña "Triggers" y presionar el botón Create Trigger.
 Name: Error generated in log Test in server {HOST.NAME}
 Severity: High
 Expression: {Template Log Monitoring:logrt["/patch/log/application/.*.-.txt*_error.txt","Falla-Certificado"].logseverity()}<>1
Ejemplo Expression: {Template Log Monitoring:logrt["/var/log/application/12-2017_error.txt","Falla-Certificado"].logseverity()}<>1
     Por cada mes y cada año que exista en los fichero será de la forma anterior que los va a leer de acuerdo a lo parametrizado.

6.1 Otra opción de Triggers:
 Name: Error generated in log Test in server {HOST.NAME}
 Severity: High
 Expression: {Template Log Monitoring:logrt["/patch/log/application/.*.-.*_error.txt"].regexp(string,60s)}=1
Ejemplo Expression: {Template Log Monitoring:logrt["/var/log/application/.*.-.txt*_error.txt","Falla"].regexp(Falla,60s)}=1


* En caso que genere error para leer el Log debido a que el mismo le pertenece al Super Usuario, se debe configurar el siguiente parámetro del Agente para que sea ejecutado como Super Usuario y logre realizar la lectura de los Log:

 $ sudo vim /etc/zabbix/zabbix_agentd.conf
 Allow ejecución Zabbix Agent
 ### Option: AllowRoot
 #       Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
 #       will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
 #       0 - do not allow
 #       1 - allow
 #
 # Mandatory: no
 # Default:
 AllowRoot=1
$ /etc/init.d/zabbix-agent restart

* Sintaxis de log y logrt

 log[/path/to/file/file_name,,,,,,]

 logrt[/path/to/file/regexp_describing_filename_pattern,,,,,,]



By @jomarore
#zabbix #herramientamonitoreo #logmonitoring #trigger #templatelogmonitoring


Referencias
https://www.zabbix.com/documentation/3.2/manual/config/items/itemtypes/log_items

Comentarios

Entradas populares de este blog

Monitorizar Carpetas o Ficheros con Zabbix Server

Proxy Transparente con SMP en Squid 3.3.3