automacao-relatorio-clientes/README.md

94 lines
3.3 KiB
Markdown

# 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:
```bash
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)
```bash
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:**
```bash
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`:
```bash
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**