ops: monitor database and object storage growth
This commit is contained in:
+1
-1
@@ -144,7 +144,7 @@
|
||||
- [x] Добавить серверное «Показать ещё» для публичной ленты полевых сигналов с сохранением фильтров и пределом 48 записей (7 сентября 2026).
|
||||
- [x] Объединять одинаковые полевые сигналы в сюжеты без потери уникальных ссылок provenance и показывать число совпадений (7 сентября 2026).
|
||||
- [ ] Добавить безопасный административный экспорт диагностики без персональных данных.
|
||||
- [ ] Контролировать рост PostgreSQL и MinIO с порогами предупреждений.
|
||||
- [x] Контролировать рост PostgreSQL и MinIO host-monitor'ом с настраиваемыми порогами и runbook реакции (7 сентября 2026).
|
||||
- [ ] Добавить фоновую проверку битых исходных ссылок с соблюдением лимитов источников.
|
||||
- [x] Показывать версию и commit SHA в readiness и защищённой административной диагностике (7 сентября 2026).
|
||||
- [x] Добавить публичную `/status` без внутренних адресов, секретов и текстов ошибок (7 сентября 2026).
|
||||
|
||||
@@ -7,10 +7,11 @@
|
||||
- контейнеры `proxy`, `db`, `minio`, `api`, `web` находятся в running;
|
||||
- публичный `https://rf4spotter.ru/ready` сообщает `ready`;
|
||||
- файловая система проекта заполнена менее чем на 85%;
|
||||
- база PostgreSQL занимает менее 2 ГБ, а данные MinIO — менее 10 ГБ;
|
||||
- последняя полная резервная копия не старше 26 часов и проходит проверку `SHA256SUMS`;
|
||||
- TLS-сертификат домена действует ещё минимум 14 дней.
|
||||
|
||||
Пороги задаются в `.env.production`: `BACKUP_ROOT`, `MONITOR_DISK_MAX_PERCENT`, `MONITOR_BACKUP_MAX_HOURS`, `MONITOR_TLS_MIN_DAYS`. Проверка TLS использует SNI и поэтому обнаруживает как истечение, так и выдачу сертификата для неверного домена.
|
||||
Пороги задаются в `.env.production`: `BACKUP_ROOT`, `MONITOR_DISK_MAX_PERCENT`, `MONITOR_DB_MAX_MB`, `MONITOR_MINIO_MAX_MB`, `MONITOR_BACKUP_MAX_HOURS`, `MONITOR_TLS_MIN_DAYS`. Значения объёма задаются в МБ и для открытой альфы по умолчанию равны 2048/10240. Проверка TLS использует SNI и поэтому обнаруживает как истечение, так и выдачу сертификата для неверного домена.
|
||||
|
||||
## Ручная проверка
|
||||
|
||||
@@ -43,5 +44,7 @@ Monitor timer записывает результат в journal. Maintenance ti
|
||||
1. `service:*` — посмотреть `docker compose ... ps` и логи конкретного контейнера; не выполнять `down -v`.
|
||||
2. `readiness` — проверить `/ready`, PostgreSQL и MinIO; на время сбоя остановить приём пользовательских заявок.
|
||||
3. `disk:*` — сначала перенести старые backup во внешнее хранилище; не удалять Docker volumes вслепую.
|
||||
4. `backup:*` — запустить `deploy/backup.sh`, проверить `SHA256SUMS` и устранить причину пропуска расписания.
|
||||
5. `tls:*` — проверить DNS, доступность портов 80/443 и логи Caddy; не отключать проверку сертификата.
|
||||
4. `postgresql-size:*` — проверить рост таблиц и выполнение retention; перед очисткой сделать backup и не выполнять ручное удаление строк без плана.
|
||||
5. `minio-size:*` — сверить объекты с заявками и политикой retention; не удалять volume или бакет целиком.
|
||||
6. `backup:*` — запустить `deploy/backup.sh`, проверить `SHA256SUMS` и устранить причину пропуска расписания.
|
||||
7. `tls:*` — проверить DNS, доступность портов 80/443 и логи Caddy; не отключать проверку сертификата.
|
||||
|
||||
Reference in New Issue
Block a user