Tenho a seguinte configuração de serviço para capturar traps SNMP:
define service {
name SNMP_TRAP
service_description SNMP_TRAP
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized
process_perf_data 0
obsess_over_service 0 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
check_command check-host-alive ; This will be used to reset the service to "OK"
is_volatile 1
check_period 24x7
max_check_attempts 1
normal_check_interval 1
retry_check_interval 1
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
contact_groups admins
register 0
}
define service {
use SNMP_TRAP
service_description gigabitethernet16
hostgroup_name cisco
check_interval 120
}
Tenho vários dispositivos no cisco
grupo, por exemplo:
define host {
use base-host
host_name cisco-sg300-28-4
alias CISCO-SG300-28 (VT-Registratur)
display_name Switch VT-Registratur
address 10.0.1.109
hostgroups switches,cisco,cisco28
}
O serviço aparece bem na interface da web:
No entanto, as verificações de serviço recebidas não são processadas. Meu /var/lib/nagios3/rw/nagios.cmd
arquivo coleta os resultados, mas o arquivo nunca é limpo e os resultados não aparecem no Nagios. nagios.cmd
contém, por exemplo:
[1437659629] PROCESS_SERVICE_CHECK_RESULT;cisco-sg300-28-4;gigabitethernet16;2;gigabitethernet16 linkDown
accept_passive_service_checks
está habilitado em nagios.cfg
.
Após uma inspeção mais aprofundada, percebi que deverianagios.cmd
ser um pipe nomeado. No meu caso, é apenas um arquivo antigo simples:
Em nosso arquivo de log, posso ver que as verificações passivas foram processadas em algum momento no passado, mas agora não estão mais funcionando.
Eu estava olhando a configuração novamente para encontrar mais detalhes
nagios.cmd
e encontrei isso:Então, isso me deu a ideia de olhar para
README.Debian
, que está localizado em/usr/share/doc/nagios3-common/README.Debian
e contém a seguinte instrução:Embora eu tivesse certeza de que esta diretiva estava habilitada, verifiquei duas vezes e ela realmente não estava habilitada.
Depois de habilitá-lo (e executar as outras tarefas mencionadas no
README
, o pipe nomeado foi criado.