Pesquisar neste blog

segunda-feira, 6 de abril de 2009

NAGIOS - Notificação para grupos de usuarios

Segue abaixo um esquema para notificação de usuários quando algum problema ocorre:


Geralmente temos a necessidade de notificar de forma individualizada, mas o acesso às informações pode ser feita por todos, então criamos da seguinte maneira:

No arquivo contacts foi criado:

define contact{
contact_name Administrador
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email [EMAIL PROTECTED]
}

define contact{
contact_name usuario1
service_notification_commands notify-null
host_notification_commands notify-null
}

define contact{
contact_name usuario2
service_notification_commands notify-null
host_notification_commands notify-null
}

define contact{
contact_name grupo-de-notificao-cpq-1
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email [EMAIL PROTECTED]
}

define contact{
contact_name grupo-de-notificao-cpq-2
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email [EMAIL PROTECTED]
}

No arquivo contactgroups foi criado:

define contactgroup{
contactgroup_name grupo-de-acesso
alias Profissionais que tem acesso
members administrador, usuario1, usuario2
}

define contactgroup{
contactgroup_name grupo-de-notificacao-cpd-1
alias Profissionais que sao notificados
members administrador, grupo-de-notificacao-cpd-1
}

define contactgroup{
contactgroup_name grupo-de-notificacao-cpd-2
alias Profissionais que sao notificados
members administrador, grupo-de-notificacao-cpd-2
}


No arquivo hosts foi criado:

define host{
use default
host_name server-cpd-1
alias servidor Linux CPD 1
address 10.10.10.1
}

define host{
use default
host_name server-cpd-2
alias servidor Linux CPD 2
address 10.10.20.1
}


No arquivo services foi criado:

define service{
use default
host_name server-cpd-1
service_description Porta LAN
check_command check_ifoperstatus!public!1
contact_groups administrador, grupo-de-notificacao-cpd-1, grupo-de-acesso
}

define service{
use default
host_name server-cpd-1
service_description Porta LAN
check_command check_ifoperstatus!public!1
contact_groups administrador, grupo-de-notificacao-cpd-2, grupo-de-acesso
}


O nagios manda mensagem para todos que são contatos do serviço, então na definição do usuário eu simplesmente criei o comando notify-null, o acesso é garantido pois ele faz parte do grupo de acesso, mas não recebe nada porque o comando manda a notificação para o lixo. Quem tem que receber notificação pertence ao grupo de notificação, mas recebem a mensagem pelo e-mail de grupo da empresa, evitando inclusive que o nagios tenha que enviar muitas mensagens, essa tarefa passa para o servidor de correio.


2 comentários:

Gabriel Stein disse...

Fala rapaz!

Faltou só um esquema, colocar no post a tua definição default do host, já que em cada host ele chama o "default".

Você criou alguma lista com o mailman? Algum dia eu queria criar uma lista de discussão com o mailman e colocar os usuários nessa lista de discussão, enviado por broadcast.

Eu to brincando com o Hyperic, tem uma versão free e parece ser bem bacana.

Marcos Abadi disse...

Olá Gabriel, tudo bem cara? Podes mandar a sua correção para o artigo para que fique registrado. Abração.