Мониторинг сайтов или One Tool to Monitor Them All

 Публичный пост
16 февраля 2022  134

У меня много сайтов. И часто я сталкиваюсь с тем, что что-то где-то упало, где-то отвалилась база, где-то просрочился сертификат и т.д.

Ситуацию усложняет и то, что все мои сайты сделаны на python, а значит нужно более детально контролировать вопрос инфраструктуры (бд, redis, контейнеры и прочее). Это вам не просто сайтики на WP.

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

UptimeRobot

Мысль настроить себе мониторинг, естественно, приходила ко мне не раз.

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

Но в какой-то момент UptimeRobot стал меня немного подбешивать (там долгая история, не суть).

Требования к мониторингу

Короче я собрался с силами и пошел искать.

Чтобы что-то решить, надо понять что решаем. От мониторинга я ожидаю:

  • наличие уведомлений в Telegram
  • возможность добавить много сайтов/мониторов и группировать их
  • проверка ssl (сколько дней осталось, послать уведомление если сертификат протух)
  • гибкая настройка (что-то мне нужно проверять чаще, что-то реже)
  • чтобы все это выглядело красиво

Uptime Kuma

Я не буду проводить сравнение разных сервисов. Их реально дофига. Есть платные, есть бесплатные, есть self-hosted, есть в виде сервисов.

Что касается меня, то я пробовал парочку и остановился на Uptime Kuma.


Это open source self-hosted продукт, который умеет все то что мне нужно и даже больше и выглядит при этом бомбезно.

Демо можно потыкать тут: https://demo.uptime.kuma.pet:27000/
Неплохой обзор и примеры тут:

Цена

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

Тут лайфхак: можно арендовать vps от Amazon целый год бесплатно. Гуглим amazon free tier. Если у вас еще нет там аккаунта, то для мониторинга это самое то. Прогрессивно и не будет стоить вам ничего.

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

Соответственно из расходов у нас только отдельный vps. Я взял самый дешевый дроплет на DigitalOcean (5$/месяц).

Процесс установки описывать не буду. Ставим докер и 2мя командами запускаем Uptime Kuma. Детали описаны тут https://github.com/louislam/uptime-kuma#-how-to-install

Как это выглядит у меня.

Бонус. Мониторим купленные ссылки

В процессе использования Uptime Kuma я открыл для себя еще один кейс использования. И это мониторинг купленных ссылок.

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

Благо в Uptime Kuma можно мониторить не только работоспособность сайта, но и наличие текста на странице.

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

Итог.

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

Если вам не подходит self-hosted решение попробуйте UptimeRobot.

Если у вас все еще нет мониторинга, пожалуйста, уделите час времени и сделайте его, это сэкономит вам драгоценные минуты в будущем.

3 комментария 👇
Drkwng Dck , Chief Executive Duck Команда Клуба 17 февраля в 10:01

Uptimerobot, кстати, иногда сходит с ума и адово дрочит сайт head запросами, когда тот ложится особенно. По логам смотрел. Спасибо за сервис🤙

  Развернуть 1 комментарий
Андрей , фулл-стек веб-разраб 17 февраля в 09:23

Вы пишите про инфраструктуру, но я чот не понял как сервис чекает что допустим пул sql запросов переполнился или redis упал?
Он же не zabbix-лайк.
Нужно писать какой-то закрытый эндпойнт где отображаются сообщения об ошибках, и парсить ответ?

  Развернуть 1 комментарий

@andreyenkin, верно, это немного другой уровень мониторинга. Максимум что можно сделать с kuma в этом случае - мониторить tcp порт.
Если уже спускаться на еще более низкий уровень, то zabbix и пр.

Т.е. это больше про мониторинг конкретного сайта, чем инфраструктуры поддерживающей его.

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб