Мониторинг систем — узнаю о проблеме раньше клиента
battle-testedпроцессприменён: vision-club-bizmanager, elseops-dashboard
Плейбук: Мониторинг систем — узнаю о проблеме раньше клиента
Зачем я это сделал
Когда система работает у клиента, главный кошмар — узнать о поломке от самого клиента: «у нас всё упало, почему?» в 6 утра. Это удар по репутации. Нужно было узнавать о проблемах первым, до того как их заметят люди.
Что это даёт
Единый «пульт», на котором видно состояние всех систем сразу: что работает, что упало, какие были ошибки. Если что-то ломается — мне сразу прилетает сообщение в Telegram. Я узнаю о проблеме за минуты и чиню её до того, как клиент вообще что-то заметил. Это и есть основа платной поддержки (Care Plan) — клиент платит за спокойствие.
Как это работает (простыми словами)
Это как сигнализация и видеонаблюдение для системы. Три «камеры»:
- - одна следит за ошибками внутри программы (что-то сломалось в коде),
- - вторая проверяет, что сайт вообще открывается (жив ли он),
- - третья собирает всё это на одну страницу-табло, где видно всё разом.
Плюс «тревожная кнопка» — любой сбой шлёт уведомление мне в Telegram.
Шаги
- 1. Ставлю ловушку ошибок — она ловит сбои внутри программы и складывает их в одно место, по каждой системе отдельно.
- 2. Ставлю проверку доступности — каждые несколько минут стучится в систему: «ты жива?». Не ответила — тревога.
- 3. Собираю табло — одна страница, где зелёным/красным видно состояние всех систем. Защищена паролем.
- 4. Подключаю уведомления в Telegram — сбой = сообщение мне. Важное правило: уведомлять только о реальных проблемах, иначе канал замьютят и смысл пропадёт.
- 5. Каждый новый клиент добавляется в эту систему за полчаса — становится ещё одной «лампочкой» на табло.
На чём сэкономило / что оптимизировало
Время «случилась проблема → я о ней знаю» сократилось с «когда напишет клиент» до меньше 5 минут. Стоит это копейки — около $10 в месяц на все системы сразу (не на каждую). А продаётся клиенту как поддержка за $300–500/мес. Видна маржа: дёшево в обслуживании, ценно для клиента.
Грабли
- - Проверка «жива ли система» должна реально проверять начинку (база, кэш), а не просто отвечать «ок» всегда — иначе мониторинг врёт, что всё хорошо.
- - Следить нужно за обеими сторонами: и за тем, что видит пользователь, и за внутренней частью. Только за одной — половина проблем невидима.
- - Табло без пароля = показываешь чужие ошибки всему интернету. Защита обязательна.
- - Слать уведомление на каждый чих → канал замьютят → мониторинга нет. Только важное.
🔧 Техническая часть (можно пропустить — для исполнителя)
- - Ловушка ошибок: GlitchTip (self-hosted, Sentry-совместимый, бесплатный) — Docker Compose, проект на каждую систему, DSN в приложения.
- - Доступность: Uptime Kuma — мониторы на каждый прод-URL и
/healthz, публичные статус-страницы опционально.
- - Табло: ~200 строк FastAPI, тянет статусы из Kuma API + ошибки из GlitchTip API, basic-auth.
- - Алерты: вебхуки Kuma + GlitchTip → Telegram-бот, с порогами/группировкой.
- - Стоимость: VPS $5–10/мес на весь стек, софт open-source. Себестоимость Care Plan.