Estou tentando configurar Nagios 3 para monitorar um servidor via HTTP procurando por uma determinada string usando o Comando check_http
da seguinte forma.
define command {
command_name check_http-mysite
command_line /usr/lib/nagios/plugins/check_http -H mysite.example.com -s "Some text" }
A verificação de HTTP para uma determinada string funciona bem depois que eu testei. Eu tenho tentado sem sucesso configurar a notificação de email para SMS usando a API SMTP do Clickatell . Como posso fazer isso funcionar?
Eu encontrei um exemplo em Tweak - Nagios SMS Messaging
Editar:
Eu acho que minha explicação antes foi muito vaga. Eu estou tentando monitorar um servidor web de tal forma que eu quero procurar uma seqüência específica em uma página via HTTP. O comando é definido em command.cfg da seguinte forma
# 'check_http-mysite command definition'
define command {
command_name check_http-mysite
command_line /usr/lib/nagios/plugins/check_http -H mysite.example.com -s "Some text"
}
# 'notify-host-by-sms' command definition
define command {
command_name notify-host-by-sms
command_line /usr/bin/send_sms $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$ :Host$HOSTALIAS$ is $HOSTSTATE$ ($OUTPUT$)"
}
# 'notify-service-by-sms' command definition
define command {
command_name notify-service-by-sms
command_line /usr/bin/send_sms $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ ($OUTPUT$)"
}
Agora, se o Nagios não encontrar "Algum texto" na home page mysite.example.com
, o Nagios deve notificar um contato via SMS através da API HTTP do Clickatell, que eu tenho um script para o que testei e descobri que funciona bem .
Sempre que eu mudo a definição de comando para procurar por uma string que não está na página, e reinicio o Nagios, eu posso ver na interface web que a string não foi encontrada. O que eu não entendo é por que a notificação não é enviada embora eu tenha definido o host , hostgroup , contato , grupo de contatos , serviço e assim por diante. O que estou perdendo, estas são minhas definições,
host.cfg
define host {
use generic-host
host_name HAL
alias IBM-1
address xxx.xxx.xxx.xxx
check_command check_http-mysite
}
hostgroups_nagios2.cfg
# my website
define hostgroup{
hostgroup_name my-servers
alias All My Servers
members HAL
}
contacts_nagios2.cfg
define contact {
contact_name colin
alias Colin Y
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email,notify-service-by-sms
host_notification_commands notify-host-by-email,notify-host-by-sms
email [email protected]
pager +254xxxxxxxxx
}
define contactgroup {
contactgroup_name site_admin
alias Site Administrator
members colin
}
services_nagios2.cfg
# Check for particular string in page via HTTP.
define service {
hostgroup_name my-servers
service_description STRING CHECK
check_command check_http-mysite
use generic-service
notification_interval 0 ; Set > 0 if you want to be renotified.
contacts colin
contact_groups site_admin
}
Espero ter explicado claramente o meu problema desta vez: -)