jueves, 13 de mayo de 2010

Monitorizando el Frontend Web de Zabbix

Vamos a poner un ejemplo de cómo monitorizar el funcionamiento de nuestros servidores web.

Como ejemplo voy a monitorizar el frontend web del propio Zabbix.

Lo primero que vamos a crear es una aplicación llamada “Zabbix frontend”.

Configuration->Hosts->Applications->Create application”.


Seguidamente configuraremos el escenario web que vamos a monitorizar.

Configuration->Web->Create scenario”.

Application: Selecionamos la aplicación previamente creada “Zabbix frontend”.
Name: Zabbix frontend
Basic authentication: none
Update Interval (in sec): 60
Agent: Lynx 2.8.4rel.1 on Linux
Satus: Active
Variables:
{username}=admin
{password}=zabbix




Ahora vamos a crear tres pasos a monitorizar: “Steps Add

El primer paso verificará que llegamos a la pantalla de login de Zabbix.

Name: First page
URL: http://localhost/zabbix
Timeout: 10
Required: SIA Zabbix



El segundo paso servirá para hacer el login.

Name: Log in
URL: http://localhost/zabbix/index.php
Post: name={username}&password={password}&enter=Enter
Timeout: 10



El tercer paso verificará que el login haya tenigo éxito.

Name: Check login
URL: http://localhost/zabbix/index.php
Timeout: 10
Required: Profile



Ya tenemos el escenario creado. Ahora solo falta esperar unos minutos para ver el resultado.

Monitoring->Web->Zabbix frontend





lunes, 10 de mayo de 2010

Monitorizar Logs con Zabbix

Para monitorizar los archivos de Logs de nuestros servidores deberemos usar ítems activos.

Recuerdo que para monitorizar ítems activos es necesario que el nombre del host que publiquéis en zabbix "Configuration-Hosts-Name" y el hostname que escribáis en el archivo de configuración del cliente "zabbix_agentd.conf" tienen que coincidir para que Zabbix sepa de qué host proviene la información.

Tener en cuenta que el hostname tiene que ser único y distingue mayúsculas de minúsculas.

Dicho eso vamos a crear un ítem de la siguiente forma.

Type= Zabbix agent (active)
Key= log[“ruta ficher logs”,”cadena a buscar”]
Type of information= Log



Este ítem nos enviara todas las líneas que contengan la palabra “Error”.

También podemos monitorizar ficheros de logs que cambien de nombre con la expresión: logrt, la cual acepta expresiones regulares.

Ej: c:\logs_001.txt, c:\logs_002.txt, c:\logs_00x.txt -> logrt [c:\logs_.*.txt","Error"].

A continuación vamos a crear el trigger para que nos avise cuando detectemos un error en los logs de nuestro servidor.

Expression: {nombre_del_servidor:log[“ruta ficher logs”,”cadena a buscar”].nodata(30)}=0}