70 lines
2.5 KiB
Markdown
70 lines
2.5 KiB
Markdown
# 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.
|
|
```bash
|
|
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.
|
|
```bash
|
|
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):
|
|
|
|
```json
|
|
{
|
|
"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}"
|
|
}
|
|
```
|