Files
han-app/ops-monitoring/instructions.md
T

54 lines
1.9 KiB
Markdown

# han-vm-metrics.sh
Установка на ВМ
sudo mkdir -p /opt/han-chat/ops
Cкопировать han-vm-metrics.sh на сервер, затем:
sudo chmod +x /opt/han-chat/ops/han-vm-metrics.sh
sudo /opt/han-chat/ops/han-vm-metrics.sh
JSON:
sudo /opt/han-chat/ops/han-vm-metrics.sh --json
Cron каждые 5 минут + лог + ненулевой exit при проблемах:
echo '*/5 * * * * root /opt/han-chat/ops/han-vm-metrics.sh --alert --log /var/log/han-vm-metrics.log' | sudo tee /etc/cron.d/han-vm-metrics
Пороги можно менять env: DISK_WARN_PCT, DISK_CRIT_PCT, MEM_WARN_PCT, CERT_WARN_DAYS, SSH_FAIL_WARN.
# diagnose-han-chat.sh
# КОнтроль места
docker images --format 'table {{.Repository}}\t{{.Tag}}\t{{.Size}}\t{{.ID}}\t{{.CreatedSince}}'
docker builder du
# Очистка build cache
docker builder prune -af
# Cron раз в сутки (03:15) + лог
echo '15 3 * * * root /usr/bin/docker builder prune -af >> /var/log/docker-builder-prune.log 2>&1' | sudo tee /etc/cron.d/docker-builder-prune
sudo chmod 644 /etc/cron.d/docker-builder-prune
Логи
cat /etc/cron.d/docker-builder-prune
tail -n 20 /var/log/docker-builder-prune.log
# Проверка места
df -h /
docker system df
# Обновление секретов
### Как проверить, что sync реально отработал
```sh
# 1) Когда unit реально выполнялся
systemctl show han-secrets-vm2.service -p ActiveState -p SubState -p Result -p ExecMainStartTimestamp -p ExecMainStatus
# 2) Журнал последней попытки
journalctl -u han-secrets-vm2.service -n 50 --no-pager
# 3) Принудительно пересинхронизировать
systemctl restart han-secrets-vm2.service
echo exit:$?
systemctl show han-secrets-vm2.service -p ExecMainStartTimestamp -p Result -p ExecMainStatus
```