Definições de notificações do Nagios

1

Estou tentando monitorar um servidor da Web de forma que eu queira procurar uma string 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 altero a definição de comando para procurar uma string que não esteja na página e reinicio os nagios, posso ver na interface da web que a string não foi encontrada. O que não entendo é por que a notificação não é enviada embora eu tenha definido o host, o grupo de hosts, o contato, o grupo de contato, o serviço e assim por diante. O que eu estou perdendo, estas são as minhas definições, no meu acesso web através do cgi eu posso ver que tenho notificações foram definidas e ativadas, embora eu não recebo notificações de e-mail e sms durante mudanças de status difíceis.

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
}

Alguém poderia me dizer onde estou indo errado?

Aqui estão as definições de host genérico e serviço genérico

generic-service_nagios2.cfg

# generic service template definition
define service{
        name                            generic-service ; The 'name' of this service template
        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 (disabling this can lead to major performance problems)
        obsess_over_service             1       ; 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
        failure_prediction_enabled      1       ; Failure prediction 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
                notification_interval           0               ; Only send notifications on status change by default.
                is_volatile                     0
                check_period                    24x7
                normal_check_interval           5
                retry_check_interval            1
                max_check_attempts              4
                notification_period             24x7
                notification_options            w,u,c,r
                contact_groups                  site_admin
        register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}

generic-host_nagios2.cfg

define host{
        name                            generic-host    ; The name of this host template
        notifications_enabled           1       ; Host notifications are enabled
        event_handler_enabled           1       ; Host event handler is enabled
        flap_detection_enabled          1       ; Flap detection is enabled
        failure_prediction_enabled      1       ; Failure prediction 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
                max_check_attempts              10
                notification_interval           0
                notification_period             24x7
                notification_options            d,u,r
                contact_groups                  site_admin 
        register                        1       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
    
por Kibet 14.01.2010 / 10:11

1 resposta

2

Eu percebi, na verdade as configurações estavam ok, o problema foi que o nagios executa o script SMS como o usuário 'nagios' que não tem permissões para gravar nos arquivos de log em / tmp /. Mas isso não é explicado em nenhum dos blogs que eu li sobre a criação de notificações nagios via SMS. Eu meio que tive que descobrir sozinho, quase fiz minha cabeça explodir.

    
por 19.01.2010 / 12:17

Tags