:::: MENU ::::

domingo, 15 de novembro de 2015

Sobre

O Slack é uma ferramenta sensacional! O Slack é um software de comunicação de equipes com suporte a canais, conversas privadas, integração com serviços externos e diversos detalhes bacanas que fazem dele simplesmente viciante. Ele integra Dropbox, Wunderlist, Github, Google Drive, Trello, RSS, faz vídeo-conferência pelo Hangout do Google, recebe informações via API, e outras dezenas de integrações. É muita coisa!

Faça o seguinte: Leia essa matéria do Tecnoblog e depois volte. Vai ver que a ferramenta é algo que faltava no seu dia-a-dia
https://tecnoblog.net/179267/slack-motivos-para-usar/


A Configuração

No slack.com

Primeiramente vá no slack.com, clique em integrations e no fim da página, procure pela integração "Incoming WebHooks". Clique.
Em "Post to Channel", selecione qual canal ou usuário receberá as notificações (#zabbix ?). Em seguida, aparecerá a tela "Setup Instructions".

Observe o campo "Webhook URL". Essa URL é única e será a ponte de ligação para o envio das mensagens. Anote e guarde!
Atenção: Caso você venha a refazer esse caminho (slack > Integrations > Incoming WebHooks), ele gerará uma nova URL.

Com a webhook url anotada, vamos ao próximo passo: o script slack.sh


SCRIPT

Configuração

Verifique o local do seu AlertScriptPath no zabbix_server.conf:


grep AlertScriptsPath /usr/local/etc/zabbix_server.conf
### Option: AlertScriptsPath
AlertScriptsPath=/etc/zabbix/alertscripts


O nosso diretório é o /etc/zabbix/alertscripts. Agora precisamos colocar o script aqui.

Baixe o script para este diretório:
wget -P /etc/zabbix/alertscripts/ https://github.com/ericoc/zabbix-slack-alertscript/raw/master/slack.sh

Dê permissões de execução

chmod +x /etc/zabbix/alertscripts/slack.sh



Lembra do WebHook URL? Pois bem, vamos usá-lo nesse script. Edite o script e procure pela linha url='CHANGEME'. Acho que já sabem o que devem fazer né?
Remova o CHANGEME e coloque o a sua url. Como por exemplo:

url='https://hooks.slack.com/services/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'


A linha 'username' é a do nome do bot que irá postar. Zabbix (o default) é uma boa pedida.

Agora, a última parte, a configuração na interface web do Zabbix.


INTERAFCE WEB


Crie o tipo de mídia:

Logado no Zabbix Server como Super-Administrador, clique em "Administração" > "Tipos de mídias" e depois em "Criar tipo de mídia".
Então teremos:
Nome: Slack
Tipo: Script
Nome do script: slack.sh
Ativo: sim

Crie o usuário Slack

Em "Administração" > "Usuários", clique em "Criar usuário"
Na guia Usuário, defina o apelido "Slack". Fique a vontade com os outros parâmetros. Coloque-o em um grupo que tenha acesso as notificações que deseja emitir. O Zabbix administrators é uma sugestão.
Na guia Mídia, clique em adicionar. Defina:
Tipo: Slack
Enviar para: Aqui você colocará para qual canal irá receber as notificações. Se você criou o canal #zabbix, então defina #zabbix.
Quando ativo: Período de notificação. O padrão é 24/7.
Usar se risco: Com todos os campos marcados, ele gerará notificações sobre qualquer alerta das triggers. Configure de acordo sua vontade.
Ativo: Sim


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Defina as ações

Na guia "Configuração" > "Ações", clique em "Criar ação"
Na guia "Ação", defina o nome "Slack".
No campo "Assunto padrão", defina "PROBLEM". Isso fará com que, quando ocorra uma notificação de incidente, aparecerá um emoji de carinha de espanto.
No campo "Mensagem padrão", defina algo simples, como por exemplo:

{TRIGGER.NAME} - {HOSTNAME} ({IPADDRESS})


Marque o campo "Mensagem de recuperação" e defina o "Assunto da recuperação" como "RECOVERY". A mensagem de recuperação deixe igual (se quiser, claro!) a mensagem padrão.
Mais na frente vamos aprender a customizar isso ;)

Na guia "Ações", em "Operações da ação", clique em "Nova".
defina, em "Detalhes da operação" > "Enviar para usuários", clique em "Adicionar" e selecione "Slack" e adicione a ação.

 

 

 

HORA DO TESTE!

Agora é a hora da verdade, vamos ver se funciona!
Vá no diretório do seu AlertScriptsPath e execute o script dessa maneira:


$ bash slack.sh '@SeuUsuario' PROBLEM 'Oh não! Algo está errado!'






Onde: @SeuUsario é o seu usuário (¯\_(ツ)_/¯), e ele deverá receber essa mensagem.


Tudo ok? Ótimo! Vamos aprender a customizar no próximo post.
Abraços.

Fonte

Todas as informações desse post foram aprendidas e inspiradas do GitHub do criador, o Eric O'Callaghan https://github.com/ericoc

9 comentários:

  1. Cara, seu post é sensacional. Tudo funcionando perfeito. Uso como alerta a vários técnicos.

    ResponderExcluir
  2. Funcionou perfeitamente, parabéns pelo post. Ajudou muito.

    ResponderExcluir
  3. o emoji nao funcionou pra min. e as notificações estao vindo em branco sohj vem :

    ResponderExcluir
    Respostas
    1. To na mesma historia, porem no meu teste pelo servidor ele retorna (channel_not_found). Mas esta chegando varias msgs em branco tbm. Alguém ai ?

      Excluir
    2. É pq está faltando configurar os parâmentros.

      Excluir
  4. O meu não está funcionando para canais, alguém pode ajudar ?

    ResponderExcluir
  5. Muito top, consigo usar duas url de dois webhook? para alertar em dois canais do slack?


    ResponderExcluir

Só não vale xingar a mãe ou puxar cabelo nos comentários =)

Posts populares