Установка и настройка мониторинга/алертинга Uptime Kuma
В данной статье разберем как буквально за 5 минут установить и настроить средство мониторинга и алертинга uptime Kuma.
Введение
Почему так важен мониторинг и алертинг серверов?
Мониторинг и алертинг серверов являются важными инструментами для обеспечения непрерывной работы веб-сайтов и служб. Вот несколько причин, почему это так важно:
1. Раннее обнаружение проблем: Мониторинг позволяет выявлять проблемы и сбои на серверах или веб-сайтах на ранней стадии, до того как они начнут серьезно влиять на работоспособность и доступность ресурса.
2. Минимизация потерь: Благодаря алертингу вы можете оперативно реагировать на проблемы и устранять их до того, как они приведут к значительным потерям прибыли или репутации.
3. Улучшение производительности: Мониторинг помогает отслеживать производительность серверов и веб-сайтов, что позволяет оптимизировать работу ресурсов и повысить качество обслуживания для пользователей.
4. Обеспечение безопасности: Мониторинг позволяет выявлять аномальную активность, атаки или уязвимости на серверах, что помогает предотвращать утечку данных или другие серьезные проблемы безопасности.
5. Соблюдение SLA: Мониторинг и алертинг помогают соблюдать уровни сервиса (SLA), обеспечивая надежную доступность и производительность веб-сайта для пользователей.
В целом, мониторинг и алертинг серверов играют ключевую роль в обеспечении надежности, безопасности и производительности веб-сайтов, что делает их необходимыми инструментами для любого владельца онлайн-бизнеса.
Что такое Uptime Kuma?
Uptime Kuma - это инструмент для мониторинга доступности веб-сайтов,служб и серверов. Он помогает отслеживать время доступности вашего сервера, уведомляет вас о любых сбоях и проблемах, а также предоставляет отчеты о производительности и надежности. В целом, Uptime Kuma помогает владельцам серверов и сайтов следить за работоспособностью своих ресурсов и оперативно реагировать на любые проблемы, чтобы минимизировать потери из-за недоступности сайта.
Установка Uptime Kuma
1) Арендуем сервер под нашу службу мониторинга. Можно брать самые минимальные конфигурации по процессору и оперативной памяти, но размер диска должен быть как моно больше, т.к утилита засоряет потихоньку память.
Для удобство пользователей был сделан автоматический скрипт, который установит на ваш сервер данную службу и поставит ее в docker контейнер
. <(wget -qO- https://raw.githubusercontent.com/g7AzaZLO/UptimeKuma-autoinstaller/main/UptimeKuma-auto-install.sh)
Так же данный скрипт можно найти в нашем гитхабе.
3) После ввода команды она сама все скачает, установит и т.д. На выходе в последних строчках мы должны видеть следующее
4) Переходим по адресу http://<ip-address>:3001
Вместо <ip-address> соответственно вписываем ip адрес сервера на который установили утилиту
Настройка Uptime Kuma
Регистрация
1) После перехода по адресу мы увидим окно входа в профиль
Создание монитора
Выбираем язык, придумываем логин и пароль, нажимаем кнопку create
1) После создания профиля мы войдем в наш дашборд, который пока что пустой
2) Нажимаем на кнопку "Новый монитор"
У нас откроется поле создания нового монитора
3) Поменяем тип монитора на "Ping", т.к мы хотим отслеживать аптайм нашего сервера
Далее разберем все поля - за что они отвечают
Имя - отображаемое имя сервера в дашборде
Имя хотса - ip адрес сервера который будем отслеживать
Частота опроса - утилита будет проверять ваш сервер каждые n секунд
Попыток - если утилита не может достучаться до сервера, то после этого количества попыток она пришлет уведомление о сбое(если настроен алертинг)
Интервал повтора опроса - как только утилита понимает что от сервера нет ответа, то интервал опроса сервера меняется с частоты опроса(на скрине 60 секунд) на интервал повтора опроса(на скрине 30 секунд)
Реверс статуса - это и означает. Если сервер доступен, то в дашборде будет показывать что недоступен, если недоступен, то будет показывать что доступен
Размер пакета - размер пакета, который будет отсылаться на сервер. Нужно настраивать в том случае, если у вас стоят какие-то фильтры по размеру пакета на который будет отвечать сервер
Группа мониторов - отображаемая в дашборде группа
Описание - пометка для нашего мониторинга
Теги - теги которые отображаются около каждого мониторинга в дашборде
Алгоритм с настройками с скрина следующий: утилита опрашивает сервер каждые 60 секунд, если она не может достучаться до сервера, то она сокращает время опроса до интервала в 30 сек, делает 4 попытки, если после 4 попыток сервер так и не дал ответа, то, при настроенном алертинге, вам присылается уведомление о сбое. Дальше станет понятнее, я покажу на практике
4) Создадим тег test. В случае реального использования можно использовать теги "Mainnet","Testnet" для более наглядной сортировки в дашборде
Настройка алертинга
1) Нажмем на кнопку "Создать уведомление"
У нас откроется окно создания службы алертинга. По умолчанию стоит телеграм, на его примере и разберем. Самих приложений куда будет прилетать алерт огромное множество, включая дискорд
2) Заходим в телеграме в https://t.me/BotFather
3) Создаем бота и копируем его API
4) Заходим в самого бота, прописываем /start и пишем пару любых сообщений, чтобы бот нас увидел
5) Вставляем токен бота и нажимаем кнопку "Авто-получение" в поле ID-чата
6) Снизу, опционально нажимаем "Использовать по умолчанию", нажимаем кнопку "сохранить"
У нас добавится наш монитор в дашборд
Тут мы можем увидеть всю информацию по аптайму и пингу нашего сервера
7) Нажмем кнопку "Изменить" (левее кнопки Удалить), потом справа найдем наш алерт, около него так же нажмем кнопку "Изменить" и нажмем кнопку "Проверка"
После нажатия этой кнопки - наш телеграм бот должен прислать нам уведомление
Что будет если сервер упадет?
Теперь я вам наглядно покажу что происходит если сервер падает. Я намеренно выключаю сервер и мы видим следующее(были изменены настройки на частоту опроса 20 сек и интервал повтора 20 сек, чтобы я не ждал долго)
Статус сервера поменялся на "Ожидание". Далее сервер отошлет еще 3 запроса, после чего будет сообщение о падении сервера
Как мы можем увидеть статус поменялся на "Недоступен" и бот в телеграмме прислал сообщение
Далее я включу сервер и мы увидим что статус поменяется обратно на "Доступен" и бот пришлет нам уведомление о том что все хорошо
Настройка страницы статуса
Страница статуса нужна для публичного просмотра ваших серверов, которые вы выставите в данную кладку
1) Сверху справа нажимаем кнопку "Страницы статуса"
У нас появляется поле создания страницы статуса
Придумываем имя(заголовок) нашей странички и в Slug прописываем путь до нашей публичной страницы(любое) и нажимаем далее
1) Нажимаем добавить монитор и нажимаем на наш монитор
2) По желанию заполняем описание и пользовательский footer
3) Нажимаем слева снизу сохранить
Так выглядит наш публичный дашборд, в который может зайти любой человек
Наш телеграмм канал по нодам — https://t.me/g7monitor
Наш чат по нодам — https://t.me/g7team_chat