Гайд №12.
Логи, мониторинг и диагностика
Как видеть, что происходит внутри твоего проекта, замечать проблемы раньше пользователей и давать ИИ реальные данные для диагностики. Без необходимости становиться программистом.
1. Зачем вообще нужны логи и мониторинг
Когда бот или сайт перестал работать, без данных ты видишь только результат: «не работает». Но не понимаешь, когда началась проблема, что произошло перед ней и какая часть системы виновата.
Без логов
Ты спрашиваешь ИИ: «Почему бот не отвечает?» И он вынужден гадать.
С логами
ИИ видит: в 20:14 внешний API вернул ошибку 429, после чего ответы перестали отправляться.
2. Что такое логи
Лог — это запись о событии внутри проекта. Представь обычный дневник или историю операций в банковском приложении.
21:14:02 INFO Бот запущен
21:14:08 INFO Получено сообщение пользователя
21:14:09 INFO Запрос к ИИ выполнен
21:14:10 INFO Ответ отправлен
21:17:31 WARNING Внешний сервис отвечает медленно
21:19:04 ERROR Не удалось сохранить данные
3. Логи — это не только ошибки
Одна из самых частых ошибок новичка: записывать в лог только то, что сломалось. Тогда невозможно понять, что происходило до сбоя.
Нормальные события
- пользователь вошёл;
- запрос выполнен;
- платёж подтверждён;
- файл сохранён;
- бот успешно отправил сообщение.
Проблемы
- ошибка внешнего API;
- таймаут;
- база недоступна;
- не хватает памяти;
- сервис неожиданно остановился.
4. Два режима логирования
Обычный режим
Работает постоянно. Записывает важные события, предупреждения и ошибки без лишнего шума.
Расширенный режим
Временно записывает намного больше технических деталей, чтобы поймать сложную проблему. После отладки его выключаем.
Что нельзя писать в лог
- пароли;
- API-ключи и Telegram-токены;
- приватные SSH-ключи;
- полные данные банковских карт;
- лишние персональные данные пользователей;
- секретные строки из файла
.env.
5. Что такое мониторинг
Если лог — это история событий, то мониторинг — автоматический наблюдатель, который постоянно спрашивает: «Сервис ещё жив? Всё в норме?»
6. Какие показатели смотреть новичку
| Что смотрим | Что это значит | Когда беспокоиться |
|---|---|---|
| Доступность | Можно ли открыть сайт или получить ответ от бота | Несколько проверок подряд не проходят |
| Время ответа | Как быстро сервис отвечает пользователю | Ответы стали заметно медленнее обычного |
| Процессор | Насколько загружен сервер вычислениями | Долго держится возле максимума |
| Оперативная память | Хватает ли серверу рабочей памяти | Память почти закончилась |
| Место на диске | Есть ли куда писать файлы, базу и логи | Осталось мало свободного места |
| Ошибки | Сколько операций завершилось проблемой | Количество резко выросло |
7. Проверка здоровья сервиса (health check)
Health check — специальная простая проверка состояния. Вместо сотен технических строк она даёт короткий ответ.
HEALTHY
Всё основное работает.
DEGRADED
Есть проблема, но сервис пока выполняет главную функцию.
UNHEALTHY
Критичная часть проекта недоступна.
{
"status": "healthy",
"app": "ok",
"database": "ok",
"disk": "ok"
}
8. Уведомления: чтобы проблема сама пришла к тебе
Хорошее уведомление
🔴 Сервис недоступен 6 минут.
Начало: 20:14.
Не отвечает: серверная часть.
База данных: доступна.
Последняя ошибка: соединение с внешним API.
Следующее действие: проверить последние ERROR-логи.
9. Дашборд: вся картина на одном экране
Дашборд — экран, где собраны главные показатели. Он не обязателен для первого маленького бота, но становится полезным, когда сервис растёт.
10. ИИ как диагност
- Получить конкретную ошибку.
- Посмотреть события до и после неё.
- Проверить связанные метрики.
- Сопоставить проблему с последними изменениями.
- Сформулировать вероятную причину.
- Проверить гипотезу.
- Только потом исправлять.
- Повторно протестировать.
11. Где и сколько хранить логи
Маленький проект
Для старта логи могут храниться обычными файлами на VPS. Главное — автоматическое удаление старых файлов и ограничение размера.
Проект растёт
Позже можно отправлять логи в специализированное хранилище и строить по ним поиск, графики и автоматические отчёты.
Для учебных и небольших проектов хорошее базовое правило — хранить подробные логи примерно 30 дней, если бизнес или закон не требуют другого срока.
12. Готовые промпты для ИИ
Копируй их в ChatGPT, Codex или Claude Code. Они специально написаны так, чтобы ИИ сначала разобрался, а потом действовал.
Промпт 2. Добавить расширенный режим для отладки
Если копирование заблокировано браузером, выдели текст вручную.Промпт 3. Настроить мониторинг состояния проекта
Если копирование заблокировано браузером, выдели текст вручную.Промпт 4. Настроить проверку здоровья сервиса
Если копирование заблокировано браузером, выдели текст вручную.Промпт 5. Настроить уведомления о проблемах
Если копирование заблокировано браузером, выдели текст вручную.Промпт 6. Провести диагностику по логам
Если копирование заблокировано браузером, выдели текст вручную.13. Финальный чек-лист проекта
Отмечай только то, что реально проверено. Галочки сохраняются в браузере.
Сначала добей базовое логирование, потом мониторинг и уведомления.
14. Практическое задание
Возьми один свой реальный проект. Не учебный пример.
- Попроси ИИ провести аудит текущих логов.
- Добавь обычное логирование, если его нет.
- Убедись, что секреты не попадают в записи.
- Настрой базовый health check.
- Добавь контроль памяти, процессора и диска.
- Настрой одно Telegram-уведомление для критичной проблемы.
- Создай безопасную тестовую ошибку.
- Убедись, что она появилась в логе.
- Убедись, что мониторинг её заметил.
- Попроси ИИ провести диагностику и назвать причину.
Что дальше
Следующий логичный шаг — Гайд №13: тестирование проекта. Там разберём быструю проверку, сквозные сценарии, регрессию и то, как доказать, что новая функция не сломала старые.