1. Home /
  2. [:pt]Integração Pagerduty e OpMon

[:pt]Integração Pagerduty e OpMon

Objetivo

Demonstrar como efetuar a integração do sistema de alertas Pagerdutty com o OpMon.

Público-alvo

Administradores de OpMon que desejam a integração para o recebimento de alertas através da plataforma Pagerduty.

Pré-requisitos

  • Possuir acesso de administrador na plataforma Pagerduty.
  • O servidor deve possuir o Python na versão 2.7 ou superior

Configurando o token de integração

Acesse o site do Pagerduty e faça login com a sua conta de administrador. Para criarmos um token de integração clique em “Configuration” e logo após no submódulo “Services”.

 

Na página seguinte clique em “Add Services”.

 

No campo “Integration Type” marque a opção “Nagios”. Não esqueça de adicionar um nome e uma descrição para esta integração, por fim clique em “Add service” no final da página.

 

Na próxima tela será apresentando o token de integração, guarde esta chave, pois brevemente o utilizaremos na configuração dos comandos de notificações.

Instalando o agente no OpMon

Para que possamos efetuar a instalação do agente no OpMon, você precisa de acesso root na console. Pelo terminal configure o repositório abaixo e depois faça o download dos pacotes, conforme exemplo:

[root@opmon ~]#sh -c 'cat >/etc/yum.repos.d/pdagent.repo <<EOF
[pdagent]
name=PDAgent
baseurl=https://packages.pagerduty.com/pdagent/rpm
enabled=1
gpgcheck=1
gpgkey=https://packages.pagerduty.com/GPG-KEY-RPM-pagerduty
EOF'

[root@opmon ~]# yum install pdagent pdagent-integrations -y

Validar a execução do serviço pdagent no OpMon, conforme abaixo:

[root@opmon ~]# /etc/init.d/pdagent status
pdagent (pid 25190) is running.

 

IMPORTANTE!

Caso ocorra o seguinte erro ao iniciar o  serviço pdagent no OpMon, semelhante ao erro abaixo:

[root@opmon ~]# /etc/init.d/pdagent start
Starting: pdagentTraceback (most recent call last):
File "/usr/share/pdagent/bin/pdagentd.py", line 75, in <module>
import pdagent.config
ImportError: No module named 'pdagent'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/share/pdagent/bin/pdagentd.py", line 81, in <module>
import pdagent.config
ImportError: No module named 'pdagent'
[root@opmondemo ~]#

Realize o seguinte procedimento:

[root@opmon ~]# cp -a /usr/lib/python2.7/site-packages/pdagent /usr/share/pdagent/bin/

E após inicie o serviço com o seguinte comando:

[root@opmon~]# /etc/init.d/pdagent restart
Stopping: pdagent.
Starting: pdagent.

Valide se o serviço está rodando:

[root@opmon~]# ps -ef | grep pdagent
pdagent 24384 1 0 20:06 ? 00:00:00 /usr/bin//python3.4 /usr/share/pdagent/bin/pdagentd.py
root 24777 25824 0 20:06 pts/0 00:00:00 grep pdagent

O log do serviço fica em /var/log/pdagent/pdagentd.log, para acompanhamento, caso necessário.

Criando o comando de notificação no OpMon

Clique no módulo “Ferramentas“, logo após no submódulo “Configurações“, na área de atalhos (localizada no lado esquerdo da tela) clique em “Commands” e em seguida, clique em “Add A New Command“, veja:

 

Insira um nome para o comando de notificação e uma descrição, conforme abaixo:

 

Agora precisamos incluir em “Command Line” os parâmetros do plugin adjunto do token de integração. Serão criados dois comandos de notificações, um para host e outro para serviços.

Host

/usr/share/pdagent-integrations/bin/pd-nagios -n host -k my_token -t "$NOTIFICATIONTYPE$" -f HOSTNAME="$HOSTNAME$" -f HOSTSTATE="$HOSTSTATE$" -f HOSTDISPLAYNAME="$HOSTDISPLAYNAME$" -f HOSTPROBLEMID="$HOSTPROBLEMID$"

Serviço

/usr/share/pdagent-integrations/bin/pd-nagios -n service -k my_token -t "$NOTIFICATIONTYPE$" -f SERVICEDESC="$SERVICEDESC$" -f SERVICESTATE="$SERVICESTATE$" -f HOSTNAME="$HOSTNAME$" -f HOSTDISPLAYNAME="$HOSTDISPLAYNAME$" -f SERVICEDISPLAYNAME="$SERVICEDISPLAYNAME$" -f SERVICEPROBLEMID="$SERVICEPROBLEMID$" -f SERVICEOUTPUT="$SERVICEOUTPUT$"

 

Após a configuração em “Command Line” clique em “Create Command”, conforme abaixo:

Atenção: reproduza o mesmo processo com a finalidade de criar o comando de notificações para serviços.

Configurando o perfil do usuário

Clique no módulo “Ferramentas“, logo após no submódulo “Configurações“, na área de atalhos (localizada no lado esquerdo da tela) clique em “Contacts” e em seguida, clique no usuário para configurar os comandos de notificações, veja:

Em “Add New Host Notification Command” selecione o comando “notify-host-by-pagerduty” e depois clique em “Add Command”.

Em “Service Notification Command” selecione o comando “notify-service-by-pagerduty” e depois clique em “Add Command”.

Para que as configurações sejam aplicadas de forma efetiva, aplique um export full no OpMon, feito isso a integração entre OpMon e Pagerduty está pronta.

Updated on 27/06/2018

Was this article helpful?

Ficou com alguma dúvida?

Perguntas & Respostas

Participe da nossa comunidade e tire dúvidas ou compartilhe respostas e ideias.

Participar

Professional Support

Não encontrou a resposta que procura? Não se preocupe, estamos aqui para ajudar!

Abrir chamado

Treinamento Online

Através da plataforma Udemy, você encontra todos os treinamentos das nossas soluções.

Inscreva-se