templates-zabbix-itguys/deploy_package/extras/README_EXTRAS.md

2.5 KiB

Zabbix Extras Manual

Este pacote extras/ contém ferramentas profissionais para manutenção e monitoramento avançado.

📋 Conteúdo

1. db_maintenance.sh (Manutenção de Banco)

Otimiza as tabelas de configuração do Zabbix para manter o frontend rápido.

  • Instalação: Copie para /usr/local/bin/ e dê permissão chmod +x.
  • Agendamento (Cron): Recomenda-se rodar todo domingo às 03:00.
    0 3 * * 0 /usr/local/bin/db_maintenance.sh
    

2. zabbix_config_backup.sh (Backup de Config)

Gera um dump SQL apenas das configurações (Hosts, Templates, Users), ignorando o histórico pesado.

  • Instalação: Copie para /usr/local/bin/.
  • Agendamento: Rodar diariamente.
    0 5 * * * /usr/local/bin/zabbix_config_backup.sh
    

3. Scripts Externos (externalscripts/)

Copie estes scripts para /usr/lib/zabbix/externalscripts/ e ajuste o parâmetro ExternalScripts no zabbix_server.conf se necessário.

check_ssl_advanced.sh

Monitora validade de certificados SSL.

  • Dependências: openssl
  • Item Key no Zabbix: check_ssl_advanced.sh[{HOST.CONN},443]
  • Retorno: Número de dias restantes.

check_domain.py

Monitora expiração de domínios via WHOIS.

  • Dependências: pip3 install python-whois
  • Item Key no Zabbix: check_domain.py[{HOST.CONN}] (Assumindo que o host é o dominio)
  • Retorno: Dias restantes.

4. Scripts de Alerta (alertscripts/)

Copie para /usr/lib/zabbix/alertscripts/.

telegram_graph.py

Envia notificações HTML ricas com emojis e gráfico do incidente.

  • Configuração: Edite o arquivo para definir ZABBIX_URL, USER, PASS e TG_BOT_TOKEN.

  • Zabbix Media Type:

    • Type: Script
    • Script name: telegram_graph.py
    • Script Parameters:
      1. {ALERT.SENDTO}
      2. {ALERT.SUBJECT}
      3. Cole o JSON abaixo (tudo em uma linha só se possível, ou formate conforme a necessidade do seu Zabbix):
    {
      "event_id": "{EVENT.ID}",
      "event_name": "{EVENT.NAME}",
      "event_nseverity": "{EVENT.NSEVERITY}",
      "event_opdata": "{EVENT.OPDATA}",
      "event_date": "{EVENT.DATE}",
      "event_time": "{EVENT.TIME}",
      "event_status": "{EVENT.STATUS}",
      "host_name": "{HOST.NAME}",
      "host_ip": "{HOST.CONN}",
      "item_id": "{ITEM.ID1}",
      "item_name": "{ITEM.NAME1}",
      "item_value": "{ITEM.LASTVALUE1}",
      "trigger_id": "{TRIGGER.ID}"
    }