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

1.9 KiB

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 реально отработал

# 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