54 lines
1.9 KiB
Markdown
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
|
|
```
|