Se você quer saber como configurar um script de envio de SMS no Zabbix através da API da Nvoip, aqui te apresentamos um tutorial com o passo a passo para realizar essa operação.
índice
O que é Zabbix?
Zabbix é uma das ferramentas open source mais conhecidas e mais utilizadas no mundo para monitoramento de redes, servidores e serviços. Ela fornece métricas de monitoramento, histórico e permite também executar ações nos serviços monitorados.
Uma ferramenta de monitoramento é indispensável na vida de qualquer equipe, profissional de TI ou empresa que atua com a tecnologia como base do seu negócio.
Mas ficar monitorando os gráficos do Zabbix dia e noite, pode ser uma tarefa árdua e quase impossível para um ser humano, e por isso, o Zabbix oferece nativamente o que chamamos de Midia, que são os canais em que o usuário pode ser notificado caso algum problema ocorrer.
Quais os tipos de mídia posso usar no Zabbix?
Por padrão, você pode configurar um servidor SMTP e receber e-mails caso algum incidente aconteça. O problema é que, caso você não esteja com o e-mail aberto, provavelmente não irá ver a tempo de resolver o incidente no menor tempo possível.
Também existe a função de usar um gateway GSM no Zabbix mas, hoje em dia, muitos servidores Zabbix são instalados nas nuvens, o que impediria o uso de um Gateway GSM.
Além disso, configurar um gateway GSM é mais demorado que configurar uma API de SMS.
Por que usar SMS no Zabbix?
O SMS tem uma grande vantagem sobre uma mensagem recebida por e-mail, o destinatário não precisa de conexão com a internet para receber seu conteúdo.
Além disso, um SMS consegue chamar mais atenção que uma mensagem recebida pelo seu e-mail, já que normalmente o usuário tende a configurar toques diferenciados para esse tipo de aplicativo.
O que preciso para configurar envio de SMS no Zabbix?
Neste tutorial, você vai precisar dos seguintes itens para configurar o Zabbix SMS:
- Servidor Zabbix (Neste tutorial usamos um Servidor Linux CentOS 7 rodando o Zabbix 4.2).
- Conhecimentos básicos em Linux para acessar o seu servidor e inserir o script.
- Token Nvoip (Se ainda não tem conta Nvoip, crie uma conta grátis e ganhe R$5,00 em créditos)
Instruções
Nível técnico: Básico
Tempo estimado: 10 minutos
Acesse o nosso repositório Zabbix no GitHub e pegue o script send_sms_nvoip_zabbix.sh atualizado.
Vamos entender o script. O código está comentado para facilitar.
As variáveis $1, $2, $3 e $4 serão passadas pelo Zabbix, sendo que a variável $1 obrigatoriamente deverá ser o celular que irá receber o SMS.
O script irá ser executado pelo Zabbix toda vez que um incidente for acionado, disparando os dados para a nossa API.
Atenção: Você só precisa alterar a variável token_auth com seu token da Nvoip.
#!/bin/bash
#Nvoip - SMS
#Copyright (C) 2020 Nvoip Plataforma Telefonia Ltda
#Leandro Campos <https://www.linkedin.com/in/leandro-campos/>
#License https://www.gnu.org/licenses/gpl-3.0.html
#This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by #the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
#You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
###Inicio do Script###
# Seu Token da Nvoip. Acesse https://www.nvoip.com.br, crie sua para ter acesso ao seu Token.
# English: Your Nvoip Token. Visit https://www.nvoip.com.br, create yours to have access to your Token.
token_auth="TOKEN NVOIP"
#$1, $2, $3 e $4 são os parâmetros, em ordem, que você define no seu Servidor Zabbix. O $1 é o número que irá receber a chamada. Você pode reduzir, alterar a ordem ou acrescentar mais parâmetros.
#English: $1, $2, $3 and $4 are parameters, in order, that you set in your Zabbix Server. $ 1 is the number that will receive the call. You can reduce, change the order or add more parameters.
curl --include \
--request POST \
--header "Content-Type: application/json" \
--header "token_auth: $token_auth" \
--data-binary "{
\"celular\":\"$1\",
\"msg\":\"$2 $3 $4\"
}" \
'https://api.nvoip.com.br/v1/sms'
Consulte o caminho da sua instalação do Zabbix onde deve ser colocados os scripts no arquivo zabbix_server.conf. Geralmente este arquivo está em /etc/zabbix/zabbix_server.conf.
Copie o arquivo send_sms_nvoip_zabbix.sh para dentro do diretório de scripts. (No nosso caso, o diretório de script é o /usr/lib/zabbix/alertscripts).
Defina as permissões do arquivo:
chown zabbix:zabbix send_sms_nvoip_zabbix.sh (Verifique qual usuário você usou no se Zabbix)
chmod 777 send_sms_nvoip_zabbix.sh
Acesse seu Zabbix e vá em Administração > Tipo de Mídia e clique em criar tipo de Mídia. Use as informações abaixo:
Nome: SMS Nvoip
Tipo: Script
Nome Script: send_sms_nvoip_zabbix.sh
Parâmetro:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
{HOST.NAME1}
Ativo: Sim
Observação: Veja na imagem que marquei os campos que são as variáveis que o Zabbix envia pro Script de Envio de SMS. Com exceção da variável $1 que fica no primeiro campo, você pode enviar outras variáveis, consulte a documentação da sua versão do Zabbix para saber as variáveis possíveis. Lembre-se apenas do limite de 160 caracteres por SMS.
Vá em Administração > Usuários e selecione o usuário que irá receber o SMS. Clique em mídia e depois em adicionar. Configure com os dados abaixo:
Tipo: SMS Nvoip
Enviar para: (Coloque aqui o celular que irá receber o SMS (Atualmente somente celulares brasileiros). Formato: DDD+Número. Exemplo: 11911112222.
Ativo quando: 1-7,00:00-24:00 (Ou de acordo com a sua preferência)
Usar se severidade: Marque as opções de severidade da trigger que irá disparar o SMS.
Ativo: Sim
Pronto. Para testar você pode voltar em Administração > Tipos de Mídia e fazer um disparo ou acionar um incidente.
Se preferir, acesse o vídeo deste tutorial no nosso Canal no YouTube ou veja abaixo:
Gostou? Compartilhe. Incentive para que possamos colocar mais conteúdos como este nas nossas redes sociais.