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.
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:
* 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
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:
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()}<>1Por 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,
#zabbix #herramientamonitoreo #logmonitoring #trigger #templatelogmonitoring
Referencias
https://www.zabbix.com/documentation/3.2/manual/config/items/itemtypes/log_items
Comentarios
Publicar un comentario