Мониторинг сайта с уведомлением в Telegram
Сервис проверяет сайт с интервалом от 1 минуты, а бот @linkodium_monitor_bot пишет в Telegram, когда сайт не отвечает дольше заданного порога и когда снова заработал.
Почему Telegram, а не только почта
Письмо о том, что сайт упал, может пролежать во входящих до вечера: почту проверяют пачками, а уведомления почтового приложения многие отключают. Сообщение в Telegram приходит на телефон с тем же звуком, что и сообщения от людей, и его видно на экране блокировки. Для сбоя, который стоит денег каждую минуту, это разница между «узнал сразу» и «узнал от клиента».
При этом Telegram здесь дополняет почту, а не заменяет её. Каналы включаются независимо: можно получать о падении и туда, и туда, а о восстановлении только в Telegram.
Что присылает бот
| Событие | Что в сообщении | Когда |
|---|---|---|
| Сайт недоступен | Название, адрес и причина: таймаут, код ответа, ошибка соединения, не найдена строка на странице | Когда сайт не отвечает дольше порога уведомления |
| Сайт восстановлен | Название, адрес и длительность простоя в минутах | При первой успешной проверке после сбоя, о котором пришло сообщение |
| Медленный отклик | Время ответа и заданный порог в миллисекундах | Если задан порог отклика; не чаще раза в час для сайта |
| SSL-сертификат истекает | Сколько дней осталось или сколько прошло после окончания | За выбранное число дней, затем раз в неделю |
| Срок домена истекает | Сколько дней осталось до окончания регистрации | За выбранное число дней, затем раз в неделю |
Сообщения о падении и восстановлении управляются двумя галками для каждого сайта: «О падениях» и «О восстановлении». Предупреждения о медленном отклике, сертификате и домене идут по галке «О падениях»: если сайт молчит о сбоях, он молчит и о них.
Команда /status
В любой момент можно отправить боту /status и получить список всех своих сайтов с текущим состоянием: работает, недоступен или на паузе, и время последней проверки по московскому времени. Удобно, когда нужно быстро ответить коллеге «всё ли в порядке» без входа в кабинет.
Как бот проверяет доступность
Сам бот сайт не проверяет: этим занимается сервис мониторинга, а бот только доставляет результат. Проверка устроена так:
- Интервал задаётся для каждого сайта от 1 до 60 минут. По умолчанию 5 минут, и умолчание меняется в настройках аккаунта.
- Что считается сбоем. Сервер не ответил за 30 секунд, не удалось соединиться, вернулся не тот код ответа, который вы ожидаете (по умолчанию 200), или на странице не нашлась заданная строка. Последний режим ловит ситуации, когда сервер отвечает «200», но вместо страницы показывает ошибку базы данных.
- Метод запроса GET, HEAD или POST, можно передать свои HTTP-заголовки, например для закрытого паролем стенда. Редиректы по умолчанию проходятся до конечной страницы.
- Ошибки DNS перепроверяются повторной попыткой, прежде чем проверка будет засчитана как неудачная: так меньше ложных тревог из-за разового сбоя резолвера.
- Порог уведомления от 1 до 60 минут: сообщение уходит, только если сайт недоступен дольше. Если сбой закончился раньше порога, не будет ни сообщения о падении, ни сообщения о восстановлении.
На время плановых работ проверки сайта можно поставить на паузу, в том числе до заданной даты, чтобы бот не присылал ложных тревог.
Как подключить Telegram-бот
- Войдите в кабинет по Email: на почту придёт код, пароль не нужен.
- Откройте «Настройки» и в блоке Telegram нажмите «Получить токен».
- Откройте бота @linkodium_monitor_bot и отправьте ему команду, которую покажет кабинет:
/startи токен через пробел. - Бот ответит, что Telegram привязан к вашему аккаунту. Теперь у сайтов работают галки уведомлений для Telegram; умолчания для новых сайтов задаются там же, в настройках.
Токен одноразовый: после привязки он гаснет. Если он попал в чужие руки до использования, создайте новый, и старый перестанет работать. Отвязать чат можно кнопкой «Отвязать» в настройках.
Групповой чат для команды
Если о сбоях должны знать несколько человек, добавьте бота в группу и отправьте команду привязки прямо в ней. К аккаунту привязывается один чат, поэтому групповой заменит личный. Для более сложной маршрутизации, например разных чатов для разных проектов, есть Webhook: сервис отправит событие на ваш адрес, а дальше его можно направить куда угодно.
Другие каналы
Кроме Telegram, уведомления приходят на Email: письмо о сбое и восстановлении, а также еженедельный или ежемесячный дайджест по всем сайтам. Для интеграций есть Webhook с событиями о падении, восстановлении, медленном отклике и сроках SSL и домена; запросы можно подписать секретом (HMAC SHA-256 в заголовке X-Webhook-Signature). Если вы хотите показать состояние сайта клиентам, включите публичную страницу статуса.
Вопросы и ответы
Сколько стоит бот?
Почему не пришло сообщение о коротком сбое?
Сколько сообщений придёт, если сайт лежит несколько часов?
Можно ли получать уведомления в групповой чат?
/start с токеном из настроек. К аккаунту привязывается один чат: личный или групповой.Можно ли получать только сообщения о падении?
Ещё по теме
Подключите мониторинг за минуту
Вход по коду из письма, без пароля и банковской карты. До 10 сайтов бесплатно.
Начать мониторинг