DEBUG LOOP

Не чини наугад. Сначала найди причину

  1. Опиши, что конкретно сломано.
  2. Воспроизведи проблему.
  3. Зафиксируй expected и actual result.
  4. Найди границу: до какого шага всё ещё работает.
  5. Прочитай релевантные logs.
  6. Сформулируй 2-3 гипотезы.
  7. Проверяй по одной гипотезе.
  8. Сделай минимальный fix.
  9. Повтори исходный сценарий.
  10. Запусти regression.
  11. Собери evidence и root cause.

Закон Уровень 1: если причина ошибки неизвестна, не разрешай AI одновременно менять пять независимых вещей.

● ХАРДКОДИНГ PRO

Гайд №12.
Логи, мониторинг и диагностика

Как видеть, что происходит внутри твоего проекта, замечать проблемы раньше пользователей и давать ИИ реальные данные для диагностики. Без необходимости становиться программистом.

Логи простыми словамиМониторинг 24/7УведомленияИИ-диагностика6 промптов25 проверок
Обложка: Гайд №13. Логи, мониторинг и диагностика
Обложка: Гайд №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;
  • таймаут;
  • база недоступна;
  • не хватает памяти;
  • сервис неожиданно остановился.
INFOОбычное важное событие. Всё идёт по плану.
WARNINGЧто-то необычно, но сервис пока работает.
ERRORКонкретная операция не выполнилась как нужно.
CRITICALСерьёзная проблема: сервис или ключевая функция недоступны.

4. Два режима логирования

Обычный режим

Работает постоянно. Записывает важные события, предупреждения и ошибки без лишнего шума.

Расширенный режим

Временно записывает намного больше технических деталей, чтобы поймать сложную проблему. После отладки его выключаем.

Аналогия: обычный режим — приборная панель автомобиля. Расширенный — компьютерная диагностика на сервисе.

Что нельзя писать в лог

5. Что такое мониторинг

Если лог — это история событий, то мониторинг — автоматический наблюдатель, который постоянно спрашивает: «Сервис ещё жив? Всё в норме?»

Как работает мониторинг проекта
Как работает мониторинг проекта
По-человечески: тебе не нужно каждые 10 минут открывать сайт и проверять его вручную. Система делает это сама.

6. Какие показатели смотреть новичку

Что смотримЧто это значитКогда беспокоиться
ДоступностьМожно ли открыть сайт или получить ответ от ботаНесколько проверок подряд не проходят
Время ответаКак быстро сервис отвечает пользователюОтветы стали заметно медленнее обычного
ПроцессорНасколько загружен сервер вычислениямиДолго держится возле максимума
Оперативная памятьХватает ли серверу рабочей памятиПамять почти закончилась
Место на дискеЕсть ли куда писать файлы, базу и логиОсталось мало свободного места
ОшибкиСколько операций завершилось проблемойКоличество резко выросло

7. Проверка здоровья сервиса (health check)

Health check — специальная простая проверка состояния. Вместо сотен технических строк она даёт короткий ответ.

HEALTHY

Всё основное работает.

DEGRADED

Есть проблема, но сервис пока выполняет главную функцию.

UNHEALTHY

Критичная часть проекта недоступна.

{
  "status": "healthy",
  "app": "ok",
  "database": "ok",
  "disk": "ok"
}

8. Уведомления: чтобы проблема сама пришла к тебе

Уведомления о проблемах
Уведомления о проблемах

Хорошее уведомление

🔴 Сервис недоступен 6 минут.
Начало: 20:14.
Не отвечает: серверная часть.
База данных: доступна.
Последняя ошибка: соединение с внешним API.
Следующее действие: проверить последние ERROR-логи.

Не превращай мониторинг в спам. Если одна проблема длится час, не нужно присылать 60 одинаковых сообщений.

9. Дашборд: вся картина на одном экране

Дашборд — экран, где собраны главные показатели. Он не обязателен для первого маленького бота, но становится полезным, когда сервис растёт.

Дашборд: вся картина проекта на одном экране
Дашборд: вся картина проекта на одном экране
Твоя цель: за 10 секунд понять «всё зелёное» или увидеть, где нужна проверка.

10. ИИ как диагност

Логи→Метрики→ИИ анализирует→Гипотеза→Проверка→Исправление
  1. Получить конкретную ошибку.
  2. Посмотреть события до и после неё.
  3. Проверить связанные метрики.
  4. Сопоставить проблему с последними изменениями.
  5. Сформулировать вероятную причину.
  6. Проверить гипотезу.
  7. Только потом исправлять.
  8. Повторно протестировать.
Не давай ИИ чинить по одной случайной строке. Пусть сначала докажет причину фактами.

11. Где и сколько хранить логи

Маленький проект

Для старта логи могут храниться обычными файлами на VPS. Главное — автоматическое удаление старых файлов и ограничение размера.

Проект растёт

Позже можно отправлять логи в специализированное хранилище и строить по ним поиск, графики и автоматические отчёты.

Для учебных и небольших проектов хорошее базовое правило — хранить подробные логи примерно 30 дней, если бизнес или закон не требуют другого срока.

Почему нужна очистка: бесконечные логи однажды заполнят диск сервера.

12. Готовые промпты для ИИ

Копируй их в ChatGPT, Codex или Claude Code. Они специально написаны так, чтобы ИИ сначала разобрался, а потом действовал.

Готовые промпты для ИИ
Готовые промпты для ИИ

Промпт 1. Настроить базовое логирование

Если копирование заблокировано браузером, выдели текст вручную.

Промпт 2. Добавить расширенный режим для отладки

Если копирование заблокировано браузером, выдели текст вручную.

Промпт 3. Настроить мониторинг состояния проекта

Если копирование заблокировано браузером, выдели текст вручную.

Промпт 4. Настроить проверку здоровья сервиса

Если копирование заблокировано браузером, выдели текст вручную.

Промпт 5. Настроить уведомления о проблемах

Если копирование заблокировано браузером, выдели текст вручную.

Промпт 6. Провести диагностику по логам

Если копирование заблокировано браузером, выдели текст вручную.

13. Финальный чек-лист проекта

Отмечай только то, что реально проверено. Галочки сохраняются в браузере.

Твой прогресс0 / 25

Сначала добей базовое логирование, потом мониторинг и уведомления.

14. Практическое задание

Возьми один свой реальный проект. Не учебный пример.

  1. Попроси ИИ провести аудит текущих логов.
  2. Добавь обычное логирование, если его нет.
  3. Убедись, что секреты не попадают в записи.
  4. Настрой базовый health check.
  5. Добавь контроль памяти, процессора и диска.
  6. Настрой одно Telegram-уведомление для критичной проблемы.
  7. Создай безопасную тестовую ошибку.
  8. Убедись, что она появилась в логе.
  9. Убедись, что мониторинг её заметил.
  10. Попроси ИИ провести диагностику и назвать причину.
Финальный результат: стабильный проект
Финальный результат: стабильный проект
Артефакт победы: у тебя есть проект, про который можно в любой момент спросить: «Что с тобой происходит?» — и получить ответ не по ощущениям, а по фактам.

Что дальше

Следующий логичный шаг — Гайд №13: тестирование проекта. Там разберём быструю проверку, сквозные сценарии, регрессию и то, как доказать, что новая функция не сломала старые.

Перед переходом дальше: Переходи дальше, когда сделал минимальную практику этого урока и можешь показать результат. Кнопка «Дальше» означает следующий учебный урок, а не обязанность внедрить каждую технологию.
Пройти финальный чек-лист →
ЕСЛИ PRODUCTION РЕАЛЬНО СЛОМАЛСЯ

Не геройствуй. Сначала останови ущерб, потом ищи причину

Production - это рабочая версия, которой пользуются люди. Если она сломалась, не надо разрешать ИИ переписывать полпроекта. Действуй по одному понятному порядку.

  1. Зафиксируй факт. Что именно не работает, когда началось и кого это затрагивает.
  2. Останови ущерб. Если опасное действие можно временно выключить, выключи только его.
  3. Проверь последнее изменение. Если проблема появилась сразу после релиза и безопасный откат понятен, откат часто лучше срочного ремонта.
  4. Собери доказательства. Текущая Git-версия, статус сервиса, health check, нужные логи и один воспроизводимый пример ошибки.
  5. Найди root cause. Это настоящая причина, а не первое сообщение об ошибке.
  6. Сделай минимальный fix. Меняй только то, что связано с подтверждённой причиной.
  7. Повтори исходный сценарий и regression. Проверь, что проблема исчезла и старое не сломалось.
  8. Запиши вывод. Что произошло и что изменим, чтобы похожая проблема не повторилась.
Новичку достаточно одного правила: если не знаешь причину, не разрешай ИИ одновременно менять несколько независимых частей проекта.

Артефакт после серьёзного сбоя

Если у тебя был реальный production-сбой, создай INCIDENT_REPORT.md. Если серьёзного сбоя ещё не было, специально ломать проект ради файла не нужно.

INCIDENT PROMPT

Разобрать сбой без хаотичных правок

Если автокопирование заблокировано, текст можно выделить и скопировать вручную.
🧠 WIKI ЭТОГО ГАЙДА

Непонятные слова простыми словами

Не зубри определения. Вернись сюда, если встретил термин и забыл, что он означает.

IncidentРеальный сбой или проблема в рабочей версии, которая повлияла на пользователей или бизнес.
PostmortemСпокойный разбор после сбоя: что произошло, почему и как не повторить это снова.
LogЗапись о том, что произошло внутри приложения.
MetricЧисло, которое помогает понять состояние системы: ошибки, скорость, очередь, стоимость.
Health checkПростой запрос: сервис жив и способен отвечать или нет.
DebuggingПоследовательный поиск причины проблемы, а не случайное изменение кода.
Root causeНастоящая первопричина ошибки.
AlertАвтоматическое оповещение, когда важный показатель вышел за безопасную границу.