Назад к блогу2026-10-01

Шестнадцать продуктов и одна панель: как уследить за всем, когда ты один

У меня в проде шестнадцать собственных продуктов. Ассистенты, платформы с оплатой, витрины, инструменты. Команды сопровождения нет — всё держу сам.

И вот какая штука выяснилась довольно быстро: главная угроза такому хозяйству — не конкурент и не нагрузка. Главная угроза — тишина.

Что-то тихо перестало работать. Оплата не проходит. Сертификат истёк. База не отвечает. Внешне всё как обычно, а внутри уже сломано. И ты узнаёшь об этом не сам — тебе пишет клиент. Вот это самое дорогое, что может случиться: ты теряешь доверие в тот момент, когда мог бы просто починить.

Я не хотел жить в режиме «а вдруг что-то сломалось». Поэтому написал себе диспетчер — панель, которая следит за всем хозяйством вместо меня.

Что должна уметь такая панель

Задача звучит просто: покажи, что живо, а что нет. Но чтобы это реально работало, нужно несколько вещей.

Один список — источник правды. Все проекты живут в одном реестре: адрес проверки, описание, где хостится, на чём собрано, публичный он или приватный. Не в голове, не в заметках — в файле, который видят и панель, и я.

Автоматическая проверка по расписанию. Каждые тридцать секунд система сама стучится в каждый проект и смотрит на ответ. Не я раз в неделю вспоминаю проверить — а она проверяет постоянно.

Три честных состояния. Не «работает / не работает», а: онлайн, предупреждение, офлайн. Предупреждение важно отдельно — это когда сервис отвечает, но медленно или со странностями. Такое нельзя показывать красным, но и зелёным тоже нельзя.

История, а не только снимок. Мало знать, что сейчас всё хорошо. Нужно видеть, что сервис держит аптайм 99,8% за неделю — или что он падал трижды за сутки. Без истории любой сбой выглядит как случайность.

Почему я не взял готовое

Резонный вопрос — зачем писать своё, когда есть готовые мониторинги. Отвечу честно: для чужого продукта я бы взял готовое. Здесь мешали две вещи.

Первая: моё хозяйство разнородное. Часть проектов — публичные сайты, часть — приватные сервисы для семьи, часть — внутренние инструменты, которые вообще не должны светиться наружу. Готовые сервисы плохо дружат с «половину не показывать никому».

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

Своя панель вышла меньше, чем я потратил бы на подгонку чужой.

Что это даёт на практике

Самая заметная перемена — я перестал быть датчиком. Раньше любое «что-то не так» я ловил либо случайно, либо от клиента. Теперь ловит система, а я узнаю раньше, чем кто-либо пострадает.

Второе — разгрузка головы. Шестнадцать проектов — это шестнадцать поводов для беспокойства, если держать их в памяти. Когда состояние видно на одной панели, память освобождается под работу, а не под тревогу.

Третье, неочевидное — честность перед собой. Панель не даёт самообману: если сервис неделю держит 97%, это уже сигнал, даже если формально он «работает». Показывает не «всё ли хорошо», а «где тонко».

Почему это касается не только меня

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

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

Что я могу собрать вам

Такую панель я собираю как отдельную задачу. Обычно это:

  • реестр сервисов — что, где, как проверять;
  • автопроверка по расписанию с историей аптайма;
  • понятный статус каждого сервиса: онлайн, предупреждение, офлайн;
  • уведомления, когда что-то выходит из строя, — раньше, чем об этом узнает клиент;
  • разделение публичного и приватного, если у вас есть закрытые сервисы.

Это не «мониторинг ради мониторинга». Это способ снять с себя роль датчика и передать её системе.

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