59 lines
1.7 KiB
Markdown
59 lines
1.7 KiB
Markdown
# heartbeat
|
|
|
|
Serviço systemd que coleta métricas do sistema a cada 5 minutos e envia um ping para o [Healthchecks.io](https://healthchecks.io), permitindo monitorar se a máquina está viva e saudável.
|
|
|
|
## Arquivos
|
|
|
|
| Arquivo | Destino | Descrição |
|
|
|---|---|---|
|
|
| `heartbeat.sh` | `/usr/local/bin/heartbeat.sh` | Script que coleta métricas e envia o ping |
|
|
| `heartbeat.service` | `/etc/systemd/system/heartbeat.service` | Unit systemd que executa o script |
|
|
| `heartbeat.timer` | `/etc/systemd/system/heartbeat.timer` | Timer que dispara o serviço a cada 5 minutos |
|
|
|
|
## Métricas enviadas
|
|
|
|
O script coleta e envia as seguintes informações em JSON:
|
|
|
|
- `timestamp` — data e hora da execução (ISO 8601)
|
|
- `uptime` — tempo de atividade da máquina
|
|
- `load` — carga média do sistema (1, 5 e 15 minutos)
|
|
- `disk_free` — espaço livre em disco na raiz (`/`)
|
|
- `mem_free` — memória disponível
|
|
|
|
## Instalação
|
|
|
|
```bash
|
|
# Copiar o script
|
|
sudo cp heartbeat.sh /usr/local/bin/heartbeat.sh
|
|
sudo chmod +x /usr/local/bin/heartbeat.sh
|
|
|
|
# Copiar os units systemd
|
|
sudo cp heartbeat.service /etc/systemd/system/
|
|
sudo cp heartbeat.timer /etc/systemd/system/
|
|
|
|
# Recarregar e habilitar
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable --now heartbeat.timer
|
|
```
|
|
|
|
## Configuração
|
|
|
|
Antes de instalar, edite `heartbeat.sh` e substitua a URL do ping pela URL do seu check no Healthchecks.io:
|
|
|
|
```bash
|
|
# Linha a editar no heartbeat.sh
|
|
https://hc-ping.com/SEU-UUID-AQUI
|
|
```
|
|
|
|
## Verificar status
|
|
|
|
```bash
|
|
# Ver se o timer está ativo
|
|
systemctl status heartbeat.timer
|
|
|
|
# Ver próxima execução
|
|
systemctl list-timers heartbeat.timer
|
|
|
|
# Ver log da última execução
|
|
journalctl -u heartbeat.service -n 20
|
|
```
|