Nagios Varnish_check

Nagios Varnish_check_health


Vamos configurara el puglin de nagios para Varnish, con este monitor nos monitorizara que la conexión al backend funciona correctamente. Acordaros que en la configuración del myconfig.vcl tenemos los backends monitorizados.

[#] vi /etv/varnish/myconfig.vcl

## Backend definition. 
# set default backend if no server cluster specified

backend backend_default {
    .host = "img01";
    .port = "81";
    .probe = {
    .url = "/test.jpg";
    .interval = 10s;
    .timeout = 5 s;
    .window = 5;
    .threshold = 3;
      }
}



Si tenemos varios backends definidos, este monitor solo nos informara del primero.
Descargamos el plugin desde:
http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=2249&cf_id=24

Copiamos el plugin en el servidor
[#] cp check_varnish_health /usr/local/nagios/libexec/

Tenemos que realizar una modificación sobre el plugin, hay que añadir la clave secreta, está la crearemos en otro lugar que no sea el fichero que viene con  la instalación por defecto (instalación del Varnish) ya que esta clave solo será para que el usuario  cacti tenga acceso al Varnish.

[#] vi /usr/local/nagios/libexec/secret

[#] vi /usr/local/nagios/libexec/check_varnish_health

COMMAND=`varnishadm -S /usr/local/nagios/libexec/secret -T $IP\:$PORT debug.health  2>&1 | head -1 | cut -d' ' -f4`

OUTPUT=`varnishadm -S /usr/local/nagios/libexec/secret -T $IP\:$PORT debug.health  2>&1 | head -1`
Cambiamos los permisos del fichero secret para que solo tenga acceso el usuario cacti y cambiamos los accesos al plugin para que se pueda ejecutar.

[#] chown -R nagios:nagios /usr/local/nagios/libexec/secret

[#] chmod -R 777 /usr/local/nagios/libexec/check_varnish_health

Modificamos el fichero de configuración del nrpe añadiendo el servidor y puerto de acceso por remoto del Varnish.

[#] vi /usr/local/nagios/etc/nrpe.cfg

command[check_varnish_health]=/usr/local/nagios/libexec/check_varnish_health -i xx.xx.xx.xx -p 6082

Añadimos el comando en el server Nagios.

[#] vi /usr/local/nagios/etc/objects/commands.cfg

# 'check_varnish_health' command definition

define command{
        command_name    check_varnish_health
        command_line    $USER1$/check_varnish_health
        }
Y definimos el servicio

[#] vi /usr/local/nagios/etc/objects/server_proxy.cfg

define service{
          use                 Standard-Service
          host_name           ip-Server
          servicegroups       Sys-Services
          service_description varnish Health
          check_command       check_nrpe_linux!check_varnish_health
          }

Cuidado con el check_nrpe_linux yo lo tengo porque monitorizamos server Windows y tenemos un check_nrpe para Windows y otro para Linux (es la única manera que encontramos de solucionar el tema del número de argumento $arg1$ $arg2$ $arg3$...)

No hay comentarios: