Как настроить инструмент мониторинга доступности в 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.

Установка 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 правильно на ее обратном прокси, перейдя по ее адресу в веб-браузере.

Скриншот, показывающий страницу по умолчанию для Uptime Kuma.

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

Скриншот, показывающий данные администратора для нового экземпляра.

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

Скриншот, подчеркивающий кнопку

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

Скриншот, показывающий различные доступные типы мониторов.

Заполните данные о машине, которую вы хотите мониторить.

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

Скриншот, показывающий полные данные простого монитора проверки порта.

Настройка внешних уведомлений для Uptime Kuma

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

Скриншот, подчеркивающий значок пользователя в верхнем правом углу экрана.

Нажмите на опцию “Настройки” в выпадающем меню страницы.

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

Скриншот, подчеркивающий категорию Уведомления.

Создание службы уведомлений Telegram

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

Укажите имя для вашего нового уведомления, затем нажмите на ссылку BotFather под текстовым полем “Токен бота”.

Скриншот, подчеркивающий ссылку Telegram BotFather.

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

Скриншот, показывающий начальный запрос для BotFather.

Примечание: Кнопка “Отправить сообщение” — это ссылка, специфичная для Telegram, которая будет работать только если Telegram запущен на вашем компьютере. Узнайте, как установить Telegram на вашем Linux-компьютере.

Это откроет новое окно чата, где вы можете использовать BotFather для создания вашего уведомляющего бота. Напишите “ /newbot “ в запросе, затем нажмите Enter.

Укажите имя для бота, который вы связываете с вашим экземпляром Uptime Kuma.

Напишите подходящее имя пользователя для вашего нового уведомляющего бота. Обратите внимание, что для этого BotFather не примет никаких специальных символов, кроме подчеркивания (_).

Нажмите на текст, который BotFather выделил, чтобы скопировать его в буфер обмена.

Скриншот, подчеркивающий уникальный токен для вашего нового уведомляющего бота.

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

Скриншот, показывающий начальную историю разговора с новым ботом.

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

Нажмите кнопку “Авто получить” под текстовым полем “ID чата”.

Скриншот, подчеркивающий кнопку Авто получить.

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

Скриншот, показывающий работающего бота Telegram Uptime Kuma.

Нажмите “Сохранить”, чтобы сохранить ваши изменения в Uptime Kuma.

Хостинг простого демона статуса службы через Docker — это только верхушка айсберга, когда речь идет о развертывании контейнеризованных веб-служб. Узнайте, как вы можете разместить свой собственный облачный офис с помощью ownCloud, а также запустить свой собственный Pastebin с помощью Stikked.

Кредит изображения: Boitulmelo через Unsplash (Фон) Github (Логотип). Все изменения и скриншоты сделаны Ramces Red.