NSCA nos permite integrar alertas pasivas y chequeos desde máquinas remotas y aplicaciones con Nagios. Por ejemplo, si cada noche realizamos un backup de nuestro MySQL, queremos poder enterarnos de que el backup ha finalizado correctamente sin tener que estar monitorizando cada X minutos dicha operación. Esto lo conseguimos con NSCA.

En este artículo instalaremos y configuraremos NSCA para poder monitorizar servicios de manera pasiva.

Instalación

Para instalar NSCA y levantarlo ejecutamos:

apt-get install nsca
/etc/init.d/nsca start

Esto lo tenemos que hacer en todos los servidores que queremos utilizar NSCA (tanto cliente como servidor de nagios).

Configuración

En el servidor de Nagios definiremos el comando "check_dummy":

define command {
command_name check_dummy
command_line $USER1$/check_dummy $ARG1$ "$ARG2$"
}


A continuación definiremos un check pasivo para el host "cliente.dominio":

define service{
use default-service
host_name cliente.dominio
service_description Passive check test
check_command check_dummy!3 "No Data from passive check"
max_check_attempts 1
active_checks_enabled 0
check_freshness 1
freshness_threshold 300
flap_detection_options n
contact_groups nagiosadmin
stalking_options n
}

Nota: el comando check_dummy solo va a ejecutarse si ningún chequeo pasivo ha sido recibido en 5 minutos (300 segundos).

Esto creará un nuevo servicio en nuestro Nagios. Para que este chequeo obtenga un valor tenemos que enviarlo desde el cliente "cliente.dominio".

Enviando información a Nagios

Para enviar la información a Nagios mediante NSCA desde el cliente ejecutamos:

send_nsca -H nagios_host -c /etc/send_nsca.cfg < host_name service return_code plugin_output

Por ejemplo:

send_nsca -H server.dominio -c /etc/send_nsca.cfg < cliente.dominio "Pasive check test" 1 "WARNING- test"