94 lines
3.3 KiB
Markdown
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**
|