29

What does the Checker check, или как организовать удобный мониторинг через веб-интерфейс =)

Продолжаем серию публикаций о нашем веб-интерфейс для HAProxy. Сегодня мы поговорим о специализированном сервис под названием Checker, предназначенном для мониторинга сервисов HAProxy и Nginx, а также бэкендов HAProxy. Если один из сервисов падает, то Checker рассылает уведомления через Telegram или Slack.

Это очень удобно: не нужно "прикручивать" сторонний инструмент мониторинга, да и умеет Checker (причём из коробки) гораздо больше. Впрочем, обо всём по порядку.

What does the Checker check, или как организовать удобный мониторинг через веб-интерфейс =) Nginx, Gui, Длиннопост, Интерфейс

Структура и функции


Сервис Cheсker состоит из управляющего компонента (Master Checker в терминологии Roxy-WI) и рабочих компонентов (Worker Checkers в терминологии Roxy-WI)

Рабочие компоненты на текущий момент имеются для HAProxy и Nginx.C функциями управляющего компонента всё понятно - он отвечает за функционирование рабочих компонентов.


Рассмотрим их функции более подробно. Рабочий компонент для HAProxy умеет проверять статус сервиса HAProxy, а также статус бэкендов, а также рассылать уведомления в Теlegram, Slack или в оба мессенджера одновременно. Важный момент: ещё он умеет проверять, приближается ли число установленных соединений к заданному лимиту, и отправлять соответствующие уведомления. При использовании сторонних инструментов мониторинга это возможно, но всё сложнее: для того же Prometheus надо прописывать отдельные правила. У нас же никаких дополнительных настроек не нужно.Рабочий компонент для Nginx умеет проверять статус сервиса Nginx, и рассылать уведомления, если статус изменился. В планах — создание рабочего компонента для Keepalived. Он будет проверять состояние сервиса, а также отправлять уведомления при каждом переключении между мастером и бэкапом.


Установка


Дисклеймер: для выполнения всех описанных ниже действий у вас уже должен быть установлен Roxy-WI. Если вы его ещё не установили, читайте здесь, как это сделать.


Установить Checker можно с помощью стандартного менеджера пакетов:


#yum
$ sudo yum install roxy-wi-checker
#apt
$ sudo apt-get install roxy-wi-checker

После установки нужно запустить Checker. Для этого в главном меню выбираем пункт Admin Area => Services, находим в списке roxy-wi-checker (он там идёт первым) и нажимаем на значок "Play"


Затем потребуется включить Checker для серверов, для которых мы планируем получать уведомоления. Выбираем в главном меню пункт HAProxy => Overview или Nginx => Overview. На экране мы увидим список серверов, в котором каждый сервер будет представлен в виде отдельной карточки, например:

What does the Checker check, или как организовать удобный мониторинг через веб-интерфейс =) Nginx, Gui, Длиннопост, Интерфейс

Здесь всё просто: выбираем соответствующий чекбокс — и Checker включен. Уведомления обо всех событиях будут приходить прямо в браузере и сопровождаться звуковым сигналом —’это удобно, например, для дежурных системных администраторов и сотрудников служб технической поддержки.


Информация обо всех событиях, которые регистрирует Checker, сохраняется в истории (Monitoring => Checker history в главном меню):

What does the Checker check, или как организовать удобный мониторинг через веб-интерфейс =) Nginx, Gui, Длиннопост, Интерфейс

Она может оказаться полезной при диагностике и устранении неисправностей.Состояние как управляющего (Master), так и рабочих (Worker) компонентов Checker можно отследить на главной странице Roxy-WI в разделе Services status:

What does the Checker check, или как организовать удобный мониторинг через веб-интерфейс =) Nginx, Gui, Длиннопост, Интерфейс

Практический кейс: настраиваем уведомления через Telegram


Рассмотрим возможности Checker более подробно. Попробуем сделать так, чтобы сервис рассылал сообщения об изменения состояния сервисов через Telegram.


Для этого потребуется:


1. создать Telegram-бота;

2. создать Telegram-канал;

3. предоставить боту права администратора канала;

4. активировать Checker для серверов, информацию о которых вы планируете получать


Краткая инструкция по созданию бота опубликована на сайте Roxy-WI. По завершению всей процедуры BotFather (служебный бот, который управляет всеми ботами в Telegram) выдаст токен. Скопируем токен и выберем в главном меню Admin Area => Services.


Интерфейс для управления Telegram-уведомлениями выглядит так:

What does the Checker check, или как организовать удобный мониторинг через веб-интерфейс =) Nginx, Gui, Длиннопост, Интерфейс

Вставляем Token в соответствующее поле, в поле Channel name вводим имя канала (обязательно со знаком @). Далее нужно будет выбрать группу, для которой будут рассылаться тестовые уведомления. В нашем случае это группа dev.


Вообще серверы на группы можно делить на любых основаниях, и создавать неограниченное количество групп (пункт Admin Area => Groups в главном меню).Заполнив все поля, нажимаем на кнопку test — в канал будет отправлено тестовое уведомление.


Заключение


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


Наш репозиторий — https://github.com/hap-wi/roxy-wi

Наш Telegram-канал — https://t.me/haproxy-wi

GNU/Linux

720 постов13.3K подписчика

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Подробнее
Лучшие посты за сегодня
5591

Эффективный способ открытия консервы

4961

«Белые привилегии»

4600

Истинная любовь

Истинная любовь Любовь, Виза, Картинка с текстом, Перевод
4451

Про аккуратное мытьё вульвы

Про аккуратное мытьё вульвы Комментарии, Комментарии на Пикабу, Мат, Скриншот, Юмор
3894

Логично

Логично
3758

За чей счёт банкет?)

За чей счёт банкет?) Скриншот, Вино, Рафаэлло, Идеальный мужчина, Мужчины и женщины
Показать полностью 1
3572

В Самаре дети мигрантов толпой избили второклассницу

3492

Победа

3392

Многие не видели этого видео просто потому, что тогда ещё не родились...

3208

Не пойму, в каком месте меня обманули?

3142

Традиция

Традиция
3131

Шевелить плотву

Шевелить плотву Комментарии, Юмор, Порноактеры и порноактрисы, Косплей, Purple bitch
Показать полностью 1
3030

Не мамонты

Не мамонты
2982

Когда сделал правильный выбор:-))

Когда сделал правильный выбор:-)) Авто, Квартира, Цены, Скриншот, Комментарии, Комментарии на Пикабу, Недвижимость, Пикабу, Автосалон
2913

Ставки сделаны господа, ставок больше нет

Ставки сделаны господа, ставок больше нет Политика, Скриншот, Украина, Посольство
2780

Шляпа

Показать полностью
2769

Ответ на пост «Госдума разрешила приватизировать участки возле рек и водохранилищ. Теперь к воде вообще не подойдешь» 

2742

Сила маркетинга

Сила маркетинга
2604

Всегда важно оставаться человеком

Всегда важно оставаться человеком Картинка с текстом, Скриншот, Переписка, Перепутали, СМС, Мошенничество
Показать полностью 1
2593

Сон

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