Introdução
Eu tive um monte de perguntas sobre exatamente como funcionam as notificações. Isto irá tentar explicar exatamente quando e como o host e o serviço de notificações são enviadas para fora, bem como a quem recebe-los.
Escalações de notificação são explicadas aqui.
Quando ocorrem as notificações?
A decisão de enviar notificações feita na conta de serviço e anfitrião verificar a lógica. Os cálculos para se uma notificação é enviada somente são acionados durante o processamento de um host ou serviço cheque correspondente a essa notificação; Eles não são acionados simplesmente porque o < notification_interval > se passou desde que foi enviada uma notificação anterior. Acolhimento e serviço de notificações ocorrerem nos seguintes casos:
- Quando ocorre uma alteração de estado duro. Mais informações sobre tipos de estado e mudanças de estado duro podem ser encontradas aqui.
- Quando um host ou serviço permanece em um estado de não-OK duro e o tempo especificado pela opção <notification_interval> na definição de host ou serviço se passou desde a última notificação foi enviada (para que o host especificado ou serviço).
Quem fica notificado?
Cada definição de acolhimento e o serviço tem uma opção de <contact_groups> que especifica que grupos contatos recebem notificações para esse determinado host ou serviço. Grupos de contatos podem conter um ou mais contatos individuais.
Quando Nagios envia uma notificação de host ou serviço, ele irá notificar cada contato que é um membro de qualquer grupo de contato especificado na opção <contactgroups> da definição do serviço. Nagios percebe que um contato pode ser um membro do grupo de contacto de mais de um, então ele remove duplicadas notificações contatos antes que faça alguma coisa.
Que os filtros devem ser passados para que notificações sejam enviadas?
Só porque é necessário enviar um host ou serviço de notificação não significa que todos os contactos vão ser notificado. Existem vários filtros que notificações de potenciais devem passar antes de considera-se digno o suficiente para ser enviado para fora. Mesmo assim, contatos específicos não podem ser notificados se seus filtros de notificação não permitem a notificação a ser enviada a eles. Vamos para os filtros que têm de ser passados em mais detalhes.
Filtro de todo o programa:
O primeiro filtro que notificações devem passar é um teste ou não as notificações estão habilitadas em uma base de todo o programa. Isto é determinado inicialmente pela Directiva enable_notifications no arquivo de configuração principal, mas pode ser alterado durante o tempo de execução através da interface web. Se as notificações estão desativadas em uma base de todo o programa, nenhum host ou serviço podem ser enviadas notificações-período. Se eles estão habilitados em uma base de todo o programa, ainda existem outros testes que devem ser passados.
Serviço e filtros de Host:
O primeiro filtro para host ou serviço de notificações é uma verificação para ver se o host ou serviço está em um período de tempo de inatividade programado. Se for em um tempo de inatividade programado, ninguém fica notificado.
Se não for em um período de inatividade, que obtém passado para o próximo filtro. Como uma nota lateral, notificações para serviços são suprimidas se eles estão associados com o host está em um período de tempo de inatividade programado.
O segundo filtro para host ou serviço de notificação é uma verificação para ver se o host ou serviço está agitando (se você habilitou a deteção de retalho). Se o serviço ou host é atualmente a bater, ninguém fica notificado. Caso contrário, ele obtém passado para o próximo filtro.
O terceiro filtro host ou serviço que deve ser passado é as opções de notificação de host ou serviço específico. Cada definição de serviço contém opções que determinam ou não podem ser enviadas notificações para fora, para aviso de Estados, Estados críticos e recuperações. Similarmente, cada definição de host contém opções que determinam ou não podem ser enviadas notificações para fora quando o host vai para baixo, torna-se inacessível, ou se recupera.
Se o host ou o serviço de notificação não passa essas opções, ninguém fica notificado. Se ele passar essas opções, a notificação é passada para o próximo filtro. Nota: As notificações sobre recuperações de host ou serviço só são enviadas se foi enviada uma notificação para o problema original. Não faz sentido para receber uma notificação de recuperação para algo que você nunca foi um problema.
O quarto filtro host ou serviço que deve ser passado é o teste de período de tempo. Cada definição de acolhimento e o serviço tem uma opção de <notification_period> que especifica qual período de tempo contém vezes notificação válida para o host ou serviço. Se o tempo que a notificação está sendo feita não cai dentro de um intervalo de tempo válido no período de tempo especificado, ninguém Obtém contactado. Se cai dentro de um intervalo de tempo válido, a notificação é passada para o próximo filtro. Nota: Se o filtro de período de tempo não é passado, Nagios reagendar o próximo notificação para o host ou o serviço (se seu em um estado de não-OK) para a próxima vez válida presente no período de tempo. Isso ajuda a garantir que contatos são notificados sobre problemas logo que possível quando chega a próxima válida no período de tempo.
O último conjunto de filtros de host ou serviço está condicionado a duas coisas: (1) uma notificação foi já enviada sobre um problema com o host ou o serviço em algum ponto no passado e (2) o host ou serviço permaneceu em estado não-OK isso foi quando saiu a última notificação. Se estes dois critérios, Nagios irá verificar e certificar-se de que o tempo que passou desde a última notificação saiu, atende ou excede o valor especificado pela opção na definição do host ou serviço <notification_interval>. Se não passou tempo suficiente desde a última notificação, ninguém Obtém contactado. Se já passou bastante tempo desde a última notificação, ou os dois critérios para este filtro não foram cumpridos, a notificação será enviada para fora! Ou não ser realmente enviado para contatos individuais é até um outro conjunto de filtros.
Entre em contato com filtros:
Neste momento a notificação passou o filtro do modo de programa e todos os filtros de host ou serviço e Nagios começa a notificar a todas as pessoas que deveria. Isso significa que cada contato vai receber a notificação? Não! Cada contato tem seu próprio conjunto de filtros que a notificação deve passar antes de recebê-lo. Nota: Filtros de contato são específicos para cada contato e não afetam ou não outros contatos recebem notificações.
O primeiro filtro que deve ser passado para cada contato são as opções de notificação. Cada definição de contato contém opções que determinam se ou não as notificações de serviço podem ser mandadas para aviso de Estados, Estados críticos e recuperações. Cada definição de contato também contém opções que determinam ou não host podem ser enviadas notificações para fora quando o host vai para baixo, torna-se inacessível, ou se recupera. Se o host ou o serviço de notificação não passa essas opções, o contato não será notificado. Se ele passar essas opções, a notificação é passada para o próximo filtro. Nota: As notificações sobre recuperações de host ou serviço só são enviadas se foi enviada uma notificação para o problema original. Não faz sentido para receber uma notificação de recuperação para algo que você nunca foi um problema.
O segundo filtro que deve ser passado para cada contato é o filtro de valor host ou serviço. Para verificações de serviço, se o valor por hora do serviço é menor que o valor mínimo para o contato, o contato não será notificado. Para verificações de anfitrião, se o valor por hora do host mais os valores de hora em hora de todos os serviços no host for menor que o valor mínimo para o contato, o contato não será notificado. Caso contrário, o contato passa o filtro de valor/serviço de host e a notificação é passada para o próximo filtro. Nota: Se não forem utilizados valores de hora em hora e valores mínimos, seus valores padrão de zero. Neste caso o valor mínimo do contato é igual (mas não menos de) os valores de hora em hora/serviço de host e a notificação serão passados para o próximo filtro.
O último filtro que deve ser passado para cada contato é o teste de período de tempo. Cada definição de contato tem uma opção de <notification_period> que especifica qual período de tempo contém vezes notificação válida para o contato. Se o tempo que a notificação está sendo feita não cai dentro de um intervalo de tempo válido no período de tempo especificado, o contato não será notificado. Se cai dentro de um intervalo de tempo válido, fica notificado o contato!
Métodos de notificação
Você pode ter o Nagios notificá-lo de problemas e recuperações muito bonito afinal quer: pager, telefone celular, e-mail, mensagem instantânea, choque elétrico, alerta áudio, etc. Como as notificações são enviadas dependem os comandos de notificação que são definidos nos arquivos de definição de objeto.
Nota: Se você instalar o Nagios de acordo com o Guia de início rápido, ele deve ser configurado para enviar notificações por email. Você pode ver os comandos de notificação de e-mail que são usados, exibindo o conteúdo do seguinte arquivo: /usr/local/nagios/etc/objects/commands.cfg.
Métodos de notificação específica (paginação, etc.) não são incorporados diretamente no código Nagios como não faz muito sentido. O "núcleo" do Nagios não foi projetado para ser um aplicativo tudo-em-um. Se o serviço verificações foram incorporadas no núcleo dos Nagios seria muito difícil para os usuários adicionar novos métodos de seleção, modificar os cheques, etc. As notificações de trabalhoem de maneira semelhante. Existem mil maneiras diferentes de fazer notificações e já existem muitos pacotes que lidar com o trabalho sujo, então por que re-inventar a roda e limitar-se a um pneu de bicicleta? É muito mais fácil deixar uma entidade externa (ou seja, um full-blown sistema de mensagens ou um script simples) fazer as coisas de uma bagunça. Alguns pacotes de mensagens que podem manipular notificações para pagers e telefones celulares são listados abaixo na seção de recursos.
Notificação tipo Macro
Quando elaborar seus comandos de notificação, você precisa levar em conta o tipo de notificação está ocorrendo. A macro $ $NOTIFICATIONTYPE contém uma seqüência de caracteres que identifica exatamente isso. A tabela abaixo lista os valores possíveis para a macro e suas respectivas descrições:
Valor | Descrição |
PROBLEMA | Um serviço ou host entrou (ou ainda) um estado de problema. Se este é um serviço de notificação, significa que o serviço está em um aviso, o desconhecido ou o estado crítico. Se isto é uma notificação de host, significa que o host está em um estado para baixo ou inacessível. |
RECUPERAÇÃO | Um host ou serviço recuperação ocorreu. Se este é um serviço de notificação, significa que o serviço acaba de retornar a um estado de OK. Se é uma notificação de host, significa que o host acaba de retornar a um estado UP. |
RECONHECIMENTO | Essa notificação é uma notificação de confirmação para um problema de host ou serviço. Notificações de confirmação são iniciadas através da interface web por contatos para o host específico ou serviço. |
FLAPPINGSTART | O host ou serviço só começou agitando. |
FLAPPINGSTOP | O host ou o serviço tem apenas parou de se debater. |
FLAPPINGDISABLED | O host ou o serviço tem apenas parou de se debater porque flap detecção foi desabilitada. |
DOWNTIMESTART | O host ou serviço só entrou em um período de tempo de inatividade programado. Futuras notificações serão suprimidos. |
DOWNTIMESTOP | O host ou serviço encerrou-se apenas de um período de tempo de inatividade programado. Notificações sobre problemas agora podem ser retomada. |
DOWNTIMECANCELLED | O período de tempo de inatividade programado para o host ou serviço só foi cancelado. Notificações sobre problemas agora podem ser retomada. |
Recursos úteis
Há muitas maneiras que você pode configurar o Nagios para enviar notificações para fora. Cabe a você decidir qual método (s) que você deseja usar. Depois disso você terá que instalar qualquer software necessário e configurar os comandos de notificação em seus arquivos config antes de usá-los. Aqui estão apenas alguns métodos possíveis de notificação:
- Email
- Pager
- Telefone (SMS)
- Mensagem WinPopup
- Mensagem instantânea, Yahoo, ICQ ou MSN
- Alertas de áudio
Basicamente, qualquer coisa que você pode fazer uma linha de comando pode ser adaptada para uso como um comando de notificação.
Se você está procurando uma alternativa ao uso de e-mail para enviar mensagens para seu pager ou celular, Confira esses pacotes. Eles poderiam ser usados em conjunto com o Nagios para enviar uma notificação através de um modem, quando surge um problema. Assim você não tem que confiar em e-mail para enviar notificações (Lembre-se, e-mail maio * não * trabalho se houver problemas de rede). Eu na verdade não tentei esses pacotes sozinho, mas outros têm relatado sucesso usá-los.
- Gnokii (Software SMS para entrar em contato com telefones Nokia via rede GSM)
- QuickPage (software de pager alfanumérico)
- SendPage (software de paginação)
- Cliente SMS (utilitário de linha de comando para enviar mensagens para pagers e telefones celulares)
Se você quiser experimentar um método não-tradicionais de notificação, convém mexer com alertas de áudio. Se você quer ter alertas de áudio jogadas no servidor de monitoramento (com voz sintetizada), confira o Festival. Se você prefere deixar em paz a caixa de monitoramento e alertas de áudio desempenharam na outra caixa, confira os projetos de Sistema de áudio de rede (NAS) e rplay .
Fonte: http://library.nagios.com/library/products/nagioscore/manuals/
Social