Essa é uma dica para quem usa o Zabbix (serviço de monitoramento) e precisa enviar as mensagens de alerta via SMS.
O envio por SMS usando um dispositivo GSM é importante no caso de sua conexão default de internet fique off-line, caso isso ocorra os alertas por email, Telegram, o serviço de SMS da Google, Jabber entre outros serviços mensageiros que utilizam os protocolos https ou https ficariam inoperantes, como a equipe de infra estrutura não pode ficar sem notificação caso algum sinistro ocorra em nosso ambiente, vamos recorrer ao GSM.
Custo de envio por SMS
Uma coisa que tem que levar em conta é o custo que as operadoras cobram por esse serviço. Algumas operadora cobra entre R$0,50 a R$1 por SMS. Determinadas operadoras tem o plano de R$1 por dia no envio do primeiro SMS.
E como funciona esse plano deR$1 por dia? Quando você dispara o primeiro SMS do dia, a taxa de R$1 é cobrada, independente da quantidade de SMS que enviar durante todo o dia, só será cobrado essa única taxa durante o dia até as 23:59:59. No dia que você não despachar SMS nenhuma tarifa será debitada, apesar desse plano ser uma mão na roda, as operadora que fornecem esse serviço não vendem para Pessoa Jurídica. Para esse perfil o ideal é entrar em contato com seu gerente de contas para uma proposta mais atraente pro serviço.
Por que não usei o serviço SMS nativo do Zabbix?
O Zabbix já possui por padrão um serviço de envio via SMS, só que esse envio é realizado via porta serial, esse tipo de conexão, além de dada simples devido a padronização de cabos e tudo mais, dependia de um modem GSM especifico que não foi muito simples de encontrar. Já diferentes dos celulares GSM via porta USB eu encontramos em toda parte e era isso que eu queria, algo que enviasse a mensagem pelo modem USB do celular e acabei utilizando o modelo da Sony (Sony Ericsson W200).
Sei que é possível enviar mensagens para um celular via e-mail, mas por email eu precisaria de um pacote de internet, já para o enviar SMS necessito somente uma assinatura GMS para envio de SMS.
O motivo de usar uma Tecnologia GSM é que se por acaso ficássemos sem internet, o alerta poderia ser enviado sem problemas para os administradores da rede
Garimpando a Internet.
Depois de algumas pesquisas na Internet achei um post no fórum oficial do Zabbix que ensinava como criar um script de envio configurado no servidor Zabbix.
Para que todo o aparato ocorra vamos utilizar o pacote Debian gsmlib, no fórum as orientação foram realizadas para o CentOs, eu estou realizando o procedimento para o ambiente Debian.
Instalando as dependências e os softwares necessários.
Primeiro precisamos instalar o software gsmlib, no meu caso para o Debian 9 foi necessário instalar o pacote compat-libstdc++-33 como dependência:
apt-get install compat-libstdc++-33 apt-get install gsm-utils
Depois de instalado já podemos fazer um teste e ver se funciona o envio de SMS pelo seu servidor com o comando abaixo (lembrando de mudar o número para o número que queres que a mensagem chegue) Exemplo 23456789:
gsmsendsms -d /dev/ttyACM0 -b 115200 23456789 "Teste"
OBS.: -d /dev/ttyACM0 refere-se ao modem detectado pelo seu sistema quando plugado na porta USB, verifique pelo comando dmesg, o modelo plugado na porta USB devera aparecer na porta /dev/ correspondente, onde o caminho será usado para configurar a saída do comando gsmsendsms no meu caso:”/dev/ttyACM0 “.
Caso receba uma mensagem “Teste” no número para onde enviou o SMS significa que tudo ocorreu bem e podemos passar para o próximo passo, que é configurar o Zabbix que com o auxilio utilizar um script para enviar as mensagens de alerta, antes, porém, devemos verificar as permissões do dispositivo e ter certeza que o usuário Zabbix poderá utilizá-lo:
ls -la /dev/ttyACM0
Minha saida foi:
crw-rw---- 1 root dialout 4, 64 Jun 23 10:10 /dev/ttyACM0
Na saída acima podemos ver que o grupo que tem permissão para ler e gravar no dispositivo é o grupo “dialout”, portanto devemos adicionar o usuário zabbix nesse grupo:
addgroup zabbix dialout
Ajustando o arquivos zabbix_server.conf
Vamos agora configurar o servidor Zabbix, primeiro ajustando o caminho onde o Zabbix busca os script’s externos , essa alteração vamos realizar no arquivo zabbix_server.conf:
vim /etc/zabbix/zabbix_server.conf
Para configurar o script para o envio do sms, vou utilizar o caminho padão do zabbix_server.conf. Busque a linha com o seginte argumento e ajuste para o caminho abaixo.
AlertScriptsPath=/usr/lib/zabbix/alertscripts
Mas caso queira personalizar o caminho do script para um de sua preferência, deverá alterar esse campo.
AlertScriptsPath=/etc/zabbix/externalscripts/
Caso o diretório não exista crie-o:
mkdir /etc/zabbix/externalscripts/
Agora vamos criar o script que será utilizado para enviar as mensagens de alerta e ajustar suas permissões para que possa ser executado pelo usuário zabbix:
Usando o caminho usado nas dicas acima que no meu caso o padrão do Zabbix Server. Crie o seguinte arquivo.
vim /etc/zabbix/externalscripts/send_sms.sh
Copie e cole essas linhas.
#!/bin/sh
/usr/bin/gsmsendsms -d /dev/ttyACM0 -b 115200 $1 "$2 $3 $4 $5 $6 $7 $8 $9" #Pra mim só deu certo colocando $3 e removendo as demais.
Concedendo permissão ao usuário Zabbix:
chown zabbix:root /etc/zabbix/externalscripts/send_sms.sh
Concedendo permissão de execução ao script
chmod u+x /etc/zabbix/externalscripts/send_sms.sh
Reinicie o servidor Zabbix agora para que as novas configurações tenham efeito:
/etc/init.d/zabbix_server restart
Criando Tipos de Midias
Para versão do Zabbix 3.4 ou anterior:
- Acesse o frontend do seu servidor Zabbix;
- escolha “Administração”;
- clique em “Tipos de mídias”;
- depois clique em “Criar Mídia”;
- na janela que será exibida informe a Descrição da mídia (Ex.: “SMS via USB”);
- no Tipo escolha “Script”;
- em “Nome script” informe o nome que definiu o script criado anteriormente (No meu caso send_sms.sh), só precisa informar o nome do script mesmo e depois clique em “Salvar”.
Para versão do zabbix 4 ou Posterior:
- Acesse o frontend do seu servidor Zabbix, escolha “Administração”;
- clique em “Tipos de mídias” e depois clique em “Criar Mídia”;
- na janela que será exibida informe:
Nome: sms_gsm
Tipo: Script
Nome script: send_sms.sh
Parâmetros do script:
Parâmetro Ação {ALERT.SENDTO}{ALERT.SUBJECT{ALERT.MESSAGE}
Clique em atualizar.
Agora basta adicionar a mídia ao Usuário/Grupo que receberá a mensagem de alerta:
- Na aba “Administração”,
- clique em “Usuários”,
- clique sobre o “Alias” do usuário que deseja,
- em “Mídia” clique em “Adicionar”,
- na janela que será exibida escolha o nome que definiu sua nova Mídia (Ex.: “SMS via USB”),
- informe o número que receberá as mensagens de alerta em “Enviar para” (Ex.: 23456789), aqui informe o número que tem que receber o alerta,
- defina o período do alerta, quais os tipos de alerta que receberá e se está ativo,
- depois clique em “Adicionar”,
- agora clique em “Salvar” e pronto!
Seu servidor já deverá estar configurado e enviando alertas via SMS para seu celular.
Fonte: https://www.zabbix.com/forum/showpost.php?p=30510&postcount=16
Se está gostando das postagens, se inscreva em nosso site para receber mais materiais de nosso blog, é grátis, você vai ser notificado quando novas postagens forem publicadas, recebendo assim mais conteúdos de qualidades e ainda vai dar aquela força pra nossa comunidade. E não esquece de compartilhar em suas redes sociais os botões estão no final desse página.
No final dessa página temos um campo onde você é bem vindo para deixar seus comentários. Pode ser uma opinião, elogios, críticas ou correções. Pode ficar a vontade para tirar suas dúvidas ou colaborar acrescentando algo que tenhamos deixado passar desapercebido.
Sua visita e feedback é muito importante para o nosso espaço.
show de bola o conteúdo do blog, muito intuitivo, de excelente conteúdo para o aprendizado das distro em linux.
VLW.
Obrigado Nelson!
Gratificante ler isso.