# /usr/local/nagios/libexec/check_http -h
No caso do plugin check_http, a opção "-H" define o IP do HTTP server a ser testado:
# /usr/local/nagios/libexec/check_http -H <ip_httpserver>
Com esta linha de comando, a definição do comando dentro de commands.cfg, será:
define command{
command_name check_http
command_line check_http -H $HOSTADDRESS$
}
Na linha acima, a variável $HOSTADDRESS$ será informada pelo Nagios no momento da verificação desse serviço.
O arquivo commands.cfg original já possui muitos comandos predefinidos, por isso não daremos tanta atenção a este arquivo agora.
services.cfg
Definição dos serviços de monitoramento. Utilizando a definição do comando check_http em commands.cfg, podemos ativar o monitoramento de um servidor http, utilizando a seguinte configuração, dentro de services.cfg:
Primeiro, definimos um template (padrão), afim de diminuir o número de linhas nesse arquivo, podendo aplicar esse template aos serviços desejados.
define service{
name local-service
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 1
contact_groups <nome_do_grupo>
notification_options w,u,c,r
notification_interval 60
notification_period 24x7
register 0
}
Agora, definimos o serviço HTTP a monitorar:
define service{
use local-service # (nome do template)
host_name site
service_description Servidor HTTP
check_command check_http!<ip_http_server>
contact_groups <Grupo de Contato>
}
Repare que na linha "check_command", deverá ser colocado o nome do serviço plugin "check_http", seguido de (!) exclamação e o IP do servidor, que será o valor da variável $HOSTADDRESS$ declarada no arquivo commands.cfg.
Adicione também no arquivo commands.cfg, a definição do plugin NRPE:
define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
contacts.cfg
Definição dos contatos para envio de notificações e alertas.
define contact{
contact_name <login>
alias <Nome_Completo>
service_notification_period <Periodos definidos em TIMEPERIODS.CFG>
host_notification_period <Periodos definidos em TIMEPERIODS.CFG>
service_notification_options w,u,c,r #( w=warning / u=unknown / c=critical / r=recoveries / n=none)
host_notification_options d,u,r #( d=down / u=notify / r=recoveries / n=none )
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email email@seudominio.com.br
}
contactgroups.cfg
Definição dos grupos de contatos, facilitando a configuração para envio de notificações e alertas.
define contactgroup{
contactgroup_name <grupo>
alias <nome do grupo>
members <Logins definidos no arquivo contacts.cfg>
}
hosts.cfg
Configuração dos hosts que serão monitorados.
Pode ser definido um host padrão (template) e utilizado para todos os hosts, diminuindo muito o número de linhas no arquivo hosts.cfg.
define host{
name generic-host
event_handler_enabled 1
flap_detection_enabled 1
max_check_attempts 5
notification_interval 20
notification_options d,u,r
notification_period 24x7
notifications_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0 # não deve ser registrado, pois não é um host, apenas um template
}
define host{
use generic-host # nome do template criado acima
address <ip_servidor>
alias <Nome do Servidor>
check_command <comando pre-definido em services.cfg>
host_name <Host_Name_do_servidor>
}
hostgroups.cfg
Definição dos grupos de hosts.
define hostgroup{
hostgroup_name <nome_do_grupo>
alias <Descrição do Grupo>
contact_groups <grupos_que_fazem_parte>
members <hosts_que_fazem_parte>
}
timeperiods.cfg
Declaração dos horários para monitoramento.
define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
define timeperiod{
timeperiod_name workhours
alias "Normal" Working Hours
monday 09:00-17:00
tuesday 09:00-17:00
wednesday 09:00-17:00
thursday 09:00-17:00
friday 09:00-17:00
}
define timeperiod{
timeperiod_name nonworkhours
alias Non-Work Hours
sunday 00:00-24:00
monday 00:00-09:00,17:00-24:00
tuesday 00:00-09:00,17:00-24:00
wednesday 00:00-09:00,17:00-24:00
thursday 00:00-09:00,17:00-24:00
friday 00:00-09:00,17:00-24:00
saturday 00:00-24:00
}