Как настроить инструмент мониторинга доступности в Linux с помощью Uptime Kuma

Uptime Kuma — это простой, но мощный инструмент мониторинга доступности. Он позволяет отслеживать каждую службу, которую вы размещаете как в локальной сети, так и в более широком интернете.
Эта статья покажет вам, как установить и развернуть Uptime Kuma в локальной сети с использованием Ubuntu и Docker. Мы также покажем вам, как настроить экземпляр Uptime Kuma для отправки уведомлений о статусе в Telegram.
Содержание
- Почему стоит использовать Uptime Kuma?
- Установка Uptime Kuma
- Создание обратного прокси для Uptime Kuma с использованием Nginx
- Настройка Uptime Kuma и добавление мониторов
- Настройка внешних уведомлений для Uptime Kuma
Почему стоит использовать Uptime Kuma?
Uptime Kuma может отслеживать и пинговать веб-серверы, а также проверять состояние ваших контейнеров Docker. Это делает Uptime Kuma идеальным универсальным веб-порталом для всех ваших сетевых служб.
Одним из главных преимуществ Uptime Kuma является то, что он по умолчанию поставляется с надежной системой уведомлений. Это означает, что вы можете настроить свой монитор доступности на автоматическую отправку сообщения через различные каналы, когда он обнаруживает аномалию.

Установка Uptime Kuma
Получение Docker и Docker Compose
Сначала получите GPG-ключ для репозиториев Docker и Docker Compose:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg
sudochmod a+r /etc/apt/keyrings/docker.gpgСоздайте новый файл репозитория для Docker в “ /etc/apt/sources.list.d/ “
sudonano/etc/apt/sources.list.d/docker.listВставьте следующую строку кода в ваш новый файл репозитория:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stableОбновите и обновите репозиторий пакетов для вашей системы Ubuntu:
sudo apt update &&sudo apt upgradeУстановите пакет Docker и Docker Compose вместе с их зависимостями:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx gitУбедитесь, что ваш текущий пользователь имеет необходимые права для запуска Docker и Docker Compose:
sudo usermod -aGdocker ramcesПолучение и сборка Uptime Kuma
Создайте новую директорию для вашего контейнера Docker Uptime Kuma. Это будет содержать файл рецепта для вашего экземпляра:
mkdir uptime-kuma &&cd ./uptime-kumaНаходясь внутри, создайте новый “docker-compose.yml” с помощью вашего любимого текстового редактора:
nano ./docker-compose.ymlВставьте следующий блок кода в ваш новый файл Compose:
---
version: "3.8"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- uptime-kuma:/app/data
ports:
- 3001:3001
restart: always
volumes:
uptime-kuma: nullСоберите контейнеры Docker для вашего нового экземпляра Uptime Kuma:
sudodocker compose up -dСоздание обратного прокси для Uptime Kuma с использованием Nginx
Мы создадим обратный прокси в Nginx, чтобы вы могли получить доступ к Uptime Kuma по общедоступному URL.
Создайте новый файл конфигурации сайта Nginx с помощью вашего любимого текстового редактора:
sudonano/etc/nginx/sites-available/uptimekumaНапишите следующий блок кода в вашем новом файле конфигурации сайта:
server {
server_name uptime.myvpsserver.top;
location /{
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}Свяжите ваш файл конфигурации сайта из папки “sites-available” Nginx с его директорией “sites-enabled”:
sudoln-s/etc/nginx/sites-available/uptimekuma /etc/nginx/sites-enabledПерезапустите демон сервера Nginx, чтобы применить ваши новые настройки:
sudo systemctl restart nginxУстановка SSL-сертификата
Сначала убедитесь, что ваша система имеет установленный основной пакет snap:
sudo snap install coreУстановите snap для certbot от Electronic Frontier Foundation. Это небольшой инструмент, который может автоматически запрашивать и поддерживать SSL-сертификат вашего обратного прокси:
sudo snap install certbot --classicПроверьте, работает ли certbot правильно, зарегистрировав вашу новую установку certbot в EFF:
sudo certbot register --agree-tos-m [email protected]Запросите новый SSL-сертификат для вашего нового обратного прокси:
sudo certbot --nginx-d uptime.myvpsserver.topНастройка Uptime Kuma и добавление мониторов
Проверьте, работает ли ваша установка Uptime Kuma правильно на ее обратном прокси, перейдя по ее адресу в веб-браузере.

Заполните форму данными, которые вы хотите для вашей новой учетной записи администратора, затем нажмите “Создать”, чтобы продолжить к вашему экземпляру.

Нажмите кнопку “Добавить новый монитор“ в верхнем левом углу страницы.

Это откроет новое подокно на текущей странице, где вы можете указать тип службы, которую хотите мониторить. Например, изменение значения “Тип монитора” с “HTTP(S)” на “TCP Port” создаст монитор, который будет проверять, открыт ли определенный порт на машине.

Заполните данные о машине, которую вы хотите мониторить.
Прокрутите вниз до конца страницы, затем нажмите “Сохранить”, чтобы начать ваш новый монитор.

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

Нажмите на опцию “Настройки” в выпадающем меню страницы.
Выберите категорию “Уведомления” в новом подокне страницы.

Создание службы уведомлений Telegram
Нажмите кнопку “Настроить уведомление”. По умолчанию это откроет небольшое окно, где вы можете связать и создать уведомляющего бота, используя вашу учетную запись Telegram.
Укажите имя для вашего нового уведомления, затем нажмите на ссылку BotFather под текстовым полем “Токен бота”.

Нажмите кнопку “Отправить сообщение” на странице Telegram BotFather.

Примечание: Кнопка “Отправить сообщение” — это ссылка, специфичная для Telegram, которая будет работать только если Telegram запущен на вашем компьютере. Узнайте, как установить Telegram на вашем Linux-компьютере.
Это откроет новое окно чата, где вы можете использовать BotFather для создания вашего уведомляющего бота. Напишите “ /newbot “ в запросе, затем нажмите Enter.
Укажите имя для бота, который вы связываете с вашим экземпляром Uptime Kuma.
Напишите подходящее имя пользователя для вашего нового уведомляющего бота. Обратите внимание, что для этого BotFather не примет никаких специальных символов, кроме подчеркивания (_).
Нажмите на текст, который BotFather выделил, чтобы скопировать его в буфер обмена.

Проверьте, работает ли ваш новый бот, найдя его имя пользователя и начав с ним разговор.

Вернитесь к вашему экземпляру Uptime Kuma, затем вставьте токен бота в текстовое поле “Токен бота”.
Нажмите кнопку “Авто получить” под текстовым полем “ID чата”.

Прокрутите вниз до конца окна Uptime Kuma, затем нажмите “Тест”, чтобы проверить, может ли Uptime Kuma связаться с вашим новым ботом.

Нажмите “Сохранить”, чтобы сохранить ваши изменения в Uptime Kuma.
Хостинг простого демона статуса службы через Docker — это только верхушка айсберга, когда речь идет о развертывании контейнеризованных веб-служб. Узнайте, как вы можете разместить свой собственный облачный офис с помощью ownCloud, а также запустить свой собственный Pastebin с помощью Stikked.
Кредит изображения: Boitulmelo через Unsplash (Фон) Github (Логотип). Все изменения и скриншоты сделаны Ramces Red.