2025-06-10 11:43:20 -03:00
2025-06-10 11:43:20 -03:00
2025-06-09 17:54:31 -03:00
2025-06-09 10:07:51 -03:00

Zabbix

📌 Sobre o Projeto

Um compose personalizado do zabbix para instalar pacotes sem a necessidade de um re-build, neste arquivo, utilizo uma versão mais leve do sistema, instalo o mtr, adicionado sistema de alertar walert para envio de alertas via whatsapp.


🚀 Como Usar

  • Acesse seu terminal;
  • Clone o repositorio:
 sudo git clone https://git.instantti.com.br/instant/zabbix.git
  • acesse o diretorio:
 cd zabbix/
  • Execute o comando:
 sudo chmod +x data/alertscripts/walert && \
 docker-compose up -d

Via Portainer

  • 1° Criar um arquivo chamado zabbix-init.sh com o conteudo abaixo:
#!/bin/sh
echo "[INIT] Instalando mtr no container..."
apk update && apk add --no-cache mtr
echo "[INIT] Executando entrypoint original..."
# Usa exec sem su, preservando variáveis de ambiente como DB_SERVER_HOST
exec /usr/bin/docker-entrypoint.sh /usr/sbin/zabbix_server --foreground -c /etc/zabbix/zabbix_server.conf
  • 2° Ajuste as permissões do arquivo criado com o comando:
chmod +x zabbix-init.sh && chmod 755 zabbix-init.sh
  • 3° Crie o arquivo com o gatilho de envio de mensagens com os comandos abaixo:
mkdir -p -v data/alertscripts && touch data/alertscripts/walert && chmod +x data/alertscripts/walert
  • 4° Copie todo conteudo de data/alertscripts/walert do repositorio, para dentro do arquivo walert que foi criado no passo anterior:
#!/bin/bash
# Baseado em BEEZAP - Bee Solutions.

URL="http://zbx-walert:4000/api/send"
PHONE="$1"
TITULO="$2"
MESSAGE="$TITULO$3"

wget -q -O- --post-data "{\"number\": \"${PHONE}\", \"message\": \"${MESSAGE}\"}" "$URL" --header "content-type: application/json"
  • 4° Dentro do portainer, crie uma nova stack com o conteudo de docker-compose.yml
  • 5° Aguarde todos os containers da stack iniciarem corretamente.
  • 6° Abra pagina do zabbix no seu browser: http://seuip:14201
  • 7° Ja dentro do zabbix, importe o walert.xml em Alertas > Tipos de midias.
  • 7,5° Abra em outra aba do seu browser: http://seuip:14201/status e scaneie o QrCode pra logar no whatsapp
  • 8° Crie uma nova ação de trigger em: Alertas > Ações > Ações de Trigger

Zabbix Acoes Banner

* Nome: Notificacoes Walert - Aba: **Ações**: * Adicione uma nova condição: - Tipo: **Incidente não suprimido** - Operador: **Não**.
  • Aba: Operações:
    • Adicione uma nova condição em (Operação):
      • Enviar aos usuarios: Admin
      • Enviar aos tipos de midia (selecione): Walert.

Zabbix Operacoes Detalhes Banner

* Repita o processo acima para condição (**Operação Recuperação**) - 9° Va em Usuarios > usuarios > Admin (selecione) > Midia * Adicione uma nova midia: - Tipo: **Walert** - Enviar para: 55 - Usar severidade: **Atenção**, **Média**, **Alta**, **Desastre** - Adicionar * De um atualizar.

Zabbix Operacoes Banner

- 10° Teste, Adicione um host ficticio agente snmp e template: **icmp-ping** pra ser mais rapido. --

Se tudo deu certo e foi configurado corretamente, alem do zabbix, quando algum incidente ocorrer voce deve receber mensagens similares ao exemplo abaixo:

Zabbix Walert Banner

>[!TIP] > - Garanta que todas as pastas / volumes estejam criados e com as corretas permissões configuradas. > - **Nos passos 8° e 9° As opções podem e devem ser customizadas para o seu cenário.** > - **No passo 7,5° atente-se porque o codigo é invalidado a cada 1minuto, caso não funcione, reinicie a stack e pule direto pra teste passo.**

👤 Autores

  • William Grando.
  • Agradecimento a Fernando Almondes (Bee Solutions), serviu como base para este projeto.
Description
No description provided
Readme 471 KiB
Languages
Shell 100%