Мониторинг — это важный процесс, позволяющий непрерывно отслеживать состояние IT-инфраструктуры, своевременно реагировать на проблемы и инциденты, а также вести историю изменений. Объектами мониторинга может являться практически все что угодно, будь то аппаратная составляющая оборудования или средства виртуализации, отдельно взятые сервера, виртуальные машины и контейнеры, отдельные сервисы и приложения, сетевое оборудование и т.д.

Однако не всегда задача мониторинга состоит в полноценном сборе, анализе и хранении многочисленных метрик, а сводится к мониторингу доступности отдельных активов. Тогда продвинутые системы мониторинга (такие как Zabbix) становятся избыточны и тяжеловесны. В таких случаях оптиммальным решением может стать такой сервис как Uptime Kuma.

Внешний вид Uptime Kuma

Как следует из описания проекта, Uptime Kuma — это простой в использовании self-hosted инструмент для мониторинга (в первую очередь, мониторинга доступности).

Из основных преимуществ Uptime Kuma, которые я отметил для себя, можно выделить:

  • Большое количество поддерживаемых приложений и протоколов (TCP порты, HTTP/HTTPS, DNS, ICMP ping, SNMP, SMTP, MQTT, Docker и многие другие);
  • Большое количество способов оповещения из коробки, а также возможность настройки собственных Webhook'ов;
  • Возможность включения дополнительных проверок: проверка истечения срока действия сертификата, проверка истечения срока действия доменного имени;
  • Простая установка и настройка: Uptime Kuma можно развернуть в виде Docker-контейнера;
  • Открытый исходный код (в частности, пригодилась возможность небольшой доработки под себя);
  • Возможность использования прокси.

Установка

Развернуть сервис в Docker-контейнере можно буквально одной командой:

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2

Далее потребуется перейти в веб-интерфейс приложения и выполнить первичную настройку: выбрать СУБД (встроенная SQLite или внешние MariaDB/MySQL) и настроить учетной записи администратора.

На этом все — система мониторинга готова к работе! Далее останется только добавить мониторы и настроить способы оповещения.

P.S. В моем случае приоритетным способом оповещения были уведомления в Битрикс-24. Из коробки Kuma отправляет системные уведомления, о которых, к сожалению, не приходят пуши в мобильное приложение. Данная проблема была решена изменением типа уведомления на пользовательское. Для этого перед сборкой контейнера в исходный код были внесены небольшие изменения: в файле /app/server/notification-providers/bitrix24.js в теле запроса end-point im.notify.system.add.json был заменен на im.notify.personal.add.json.

Предыдущая запись Следующая запись