Go to file
João Pedro Toledo Goncalves daaf433c2a Initial commit: Automation script for Enseg reports 2026-02-13 13:52:04 -03:00
.gitignore Initial commit: Automation script for Enseg reports 2026-02-13 13:52:04 -03:00
README.md Initial commit: Automation script for Enseg reports 2026-02-13 13:52:04 -03:00
gerar_relatorio_enseg_zabbix.py Initial commit: Automation script for Enseg reports 2026-02-13 13:52:04 -03:00
requirements.txt Initial commit: Automation script for Enseg reports 2026-02-13 13:52:04 -03:00

README.md

Manual de Uso - Gerador de Relatório Enseg

Este script Python automatiza a geração de relatórios de disponibilidade e desempenho para o cliente Enseg, utilizando dados do Zabbix API. O relatório final é gerado em formato HTML com gráficos interativos e layout profissional.

Conteúdo do Relatório

O relatório gerado inclui:

  1. Resumo Executivo: Visão geral do período.
  2. Notas Extraordinárias (Opcional): Seção para comunicar manutenções ou falhas sistêmicas.
  3. Dados do Monitoramento: Período de amostragem e local.
  4. Gráficos de Desempenho: Gráficos individuais por host mostrando:
    • Status de Ping (Área Verde): Indica disponibilidade (Up/Down).
    • Perda de Pacotes (Linha Vermelha): Indica degradação da conexão.
  5. Incidentes: Tabela com histórico de quedas (Ping inacessível) ou indisponibilidade, incluindo duração e justificativa.

Pré-requisitos

Certifique-se de ter o Python 3 instalado.

Instalar Dependências

Abra o terminal na pasta do projeto e execute:

pip install -r requirements.txt

As bibliotecas principais são: pyzabbix, pandas, plotly, jinja2, requests.


Como Executar

O script é executado via linha de comando (CMD, PowerShell ou Terminal).

Comando Básico (Padrão 7 dias)

python gerar_relatorio_enseg_zabbix.py --user "seu.usuario" --password "sua.senha"

Argumentos Disponíveis

Argumento Obrigatório? Descrição Exemplo
--user Sim Seu usuário do Zabbix. --user "joao.silva"
--password Sim Sua senha do Zabbix. --password "123Mudar"
--days Não Número de dias para análise (Padrão: 7). --days 15
--note Não Nota extraordinária para o relatório (ex: Manutenção). --note "Falha na fibra"

Exemplos de Uso

1. Gerar relatório dos últimos 15 dias:

python gerar_relatorio_enseg_zabbix.py --user "joao.goncalves" --password "******" --days 15

2. Adicionar uma Nota de Manutenção:

Se houver uma falha conhecida que justifique a falta de dados ou incidentes, use a opção --note:

python gerar_relatorio_enseg_zabbix.py --user "joao.goncalves" --password "******" --note "Interrupção programada para troca de switch no dia 10/02."

Isso criará uma caixa amarela de destaque no relatório com o texto informado.


Filtros Automáticos

O script já possui filtros configurados internamente para garantir a precisão do relatório:

  • Grupo de Hosts: Apenas hosts do grupo [CLIENTES] - ENSEG.
  • Exclusões: Ignora hosts com nomes contendo:
    • Antena
    • AP
    • Ramal IP
    • DVR
    • Impressora
    • Painel Solar
  • Período: Considera sempre do dia inicial à 00:00 até ontem às 23:59.

Solução de Problemas

  • Erro de Autenticação: Verifique se usuário e senha estão corretos e se você tem permissão de acesso ao Zabbix.
  • Nenhum dado encontrado: Verifique se o Zabbix está coletando dados para os hosts do grupo Enseg.
  • Gráfico Vazio: Pode indicar que o host não tem itens de monitoramento de ICMP Ping (icmpping, icmppingloss) configurados ou coletando.

Desenvolvido por iTGuys