1. Логи приложения
Лог должен отвечать на вопрос: что сломалось, у какого пользователя, на каком endpoint и с каким request id.
level=error request_id=abc123 user_id=42 endpoint=/api/order
message="payment provider timeout"2. Uptime checks
Минимум — внешний сервис или cron, который проверяет главную страницу и health endpoint.
- Проверять каждые 1-5 минут.
- Alert в Telegram при падении.
- Отдельно проверять SSL срок действия.
3. Метрики сервера
- CPU стабильно не выше 80%.
- RAM не уходит в swap.
- Disk не заполняется логами.
- Количество 5xx ошибок не растёт.
- Очереди задач не накапливаются бесконечно.
4. Backups
Backup без restore test — это надежда, не защита. Проверяй восстановление на отдельной базе или staging сервере.
pg_dump app_db > backup.sql
createdb restore_test
psql restore_test < backup.sql5. Alerts в Telegram
Alert должен приходить туда, где его увидят быстро. Для маленькой команды достаточно Telegram-уведомления при падении health endpoint, росте 5xx, заполнении диска и ошибках фоновых задач.
alert: site_down
target: https://example.com/health
notify: Telegram chat
repeat: every 5 minutes until resolved6. Что проверять каждый день
- Есть ли новые 500 ошибки.
- Не растёт ли очередь задач.
- Не закончится ли диск из-за логов.
- Прошёл ли ночной backup.
- Нет ли резкого падения заявок после deploy.
7. Шаблон postmortem
После серьёзной ошибки запиши короткий разбор. Это важнее, чем просто “починили”.
Когда началось:
Что сломалось:
Кого задело:
Причина:
Что исправили:
Как предотвратить повтор:Incident checklist
- Проверить health endpoint.
- Проверить последние deploy изменения.
- Посмотреть error logs.
- Проверить диск, RAM, DB connection.
- Откатить deploy, если причина в релизе.
- Записать короткий postmortem.