🔍 Как мониторить веб-сайта и приложение с помощью Uptime Kuma |

🔍 Как мониторить веб-сайта и приложение с помощью Uptime Kuma

Мануал

Uptime Kuma – это модный инструмент для самостоятельного мониторинга, который вы можете использовать для мониторинга веб-сайтов и приложений в режиме реального времени.

Особенности Uptime Kuma

  • Мониторинг времени работы веб-сайтов HTTP(s), TCP-портов и контейнеров Docker, а также получение информации, например, записей DNS.
  • Отправляет уведомления по электронной почте (SMTP), Telegram, Discord, Microsoft Teams, Slack, Promo SMS, Gotify и 90+ сервисов уведомлений.
  • Поддерживает несколько языков.
  • Предоставляет несколько страниц статуса.
  • Обеспечивает поддержку прокси.
  • Отображает информацию о сертификате SSL.
  • Сопоставляет страницу состояния домена.

В этом руководстве вы узнаете, как установить инструмент мониторинга Uptime Kuma на собственном хостинге и как с его помощью осуществлять мониторинг веб-сайтов.

Для демонстрации мы установим инструмент мониторинга Uptime Kuma на Ubuntu.

🐧 20 команд мониторинга Linux, которые вы должны знать

Эти же инструкции также работают на дистрибутивах на базе RHEL и производных Debian.

🔎 11 лучших инструментов мониторинга с открытым исходным кодом для Linux

Шаг 1: Установка Node.JS на Linux

Чтобы начать, войдите на свой сервер и обновите индекс локальных пакетов.

sudo apt update
sudo dnf update

Поскольку Uptime Kuma написан на Node.JS, вам необходимо установить Node.JS, прежде чем продолжить работу.

Мы установим последний выпуск LTS, которым на момент написания данного руководства является Node.JS 16.x.

Сначала добавьте репозиторий Nodesource в свою систему.

Для этого переключитесь на пользователя root.

sudo su

Затем добавьте репозиторий Nodesource 16.x в свою систему с помощью следующей команды curl.

curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -   [На Debian системах]
curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash -   [На RHEL системах]

Команда скачает скрипт установки, который обновляет списки пакетов, добавлит ключ подписи Nodesource и создает файл списка apt и dnf для репозитория Nodesource 16.x.

После добавления репозитория Nodesource установите Node.JS с помощью менеджера пакетов, как показано далее:

sudo apt install nodejs -y   [На Debian системах]
sudo dnf install nodejs -y   [На RHEL системах]

После установки проверьте версию установленного NodeJS, как показано ниже:

node --version
V16.17.0

Шаг 2: Установка Uptime Kuma в Linux

После установки Node.JS можно приступать к установке инструмента мониторинга Uptime Kuma.

Сначала клонируйте репозиторий Uptime Kuma с GitHub.

git clone https://github.com/louislam/uptime-kuma.git

Затем перейдите в каталог Uptime Kuma.

cd uptime-kuma/

Затем настройте инструмент мониторинга с помощью следующей команды:

npm run setup

Шаг 3: Запустите Uptime Kuma с помощью pm2

PM2 – это менеджер производственных процессов для приложений NodeJS, который обеспечивает балансировку нагрузки и помогает поддерживать жизнь приложений неограниченное время и перезагружать их без каких-либо перерывов или простоев в работе.

Чтобы установить демон PM2, выполните следующую команду, находясь в каталоге uptime-kuma.

npm install pm2@latest -g

Затем запустите демон pm2, как показано далее:

pm2 start npm --name uptime-kuma -- run start-server -- --port=3001 --hostname=127.0.0.1

Команда генерирует следующий вывод:

Вы можете просмотреть логи PM2, как показано далее:

pm2 logs

Далее включите запуск приложения Node.js после перезагрузки.

pm2 startup

Затем сохраните состояние приложения:

pm2 save

Шаг 4: Настройка Apache в качестве обратного прокси для Uptime-Kuma

Далее вам необходимо установить веб-сервер Apache, а затем настроить его для работы в качестве обратного прокси для Uptime Kuma.

sudo apt install apache2 -y   [На Debian системах]
sudo dnf install httpd -y     [На RHEL системах]

После установки включите следующие модули, которые потребуются инструменту мониторинга на системах на базе Debian.

a2enmod ssl proxy proxy_ajp proxy_wstunnel proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html

Затем создайте файл виртуального хоста для Uptime Kuma.

sudo nano /etc/apache2/sites-available/uptime-kuma.conf   [На Debian системах]
sudo vi /etc/httpd/conf.d/uptime-kuma.conf                [На RHEL системах]

Вставьте следующие строки кода.

Для директивы ServerName укажите полное доменное имя вашего сервера или публичный IP-адрес.

<VirtualHost *:80>
  ServerName kuma.example.com

  ProxyPass / http://localhost:3001/
  RewriteEngine on
  RewriteCond %{HTTP:Upgrade} websocket [NC]
  RewriteCond %{HTTP:Connection} upgrade [NC]
  RewriteRule ^/?(.*) "ws://localhost:3001/$1" [P,L]
</VirtualHost>

Сохраните файл и выйдите.

Затем активируйте виртуальный хост Apache для Uptime Kuma, как показано на системах на базе Debian.

sudo a2ensite uptime-kuma

Затем перезапустите веб-службу Apache, чтобы изменения вступили в силу.

sudo systemctl restart apache2   [На Debian системах]
sudo systemctl restart httpd     [На RHEL системах]

Шаг 5: Доступ к Uptime Kuma через WebUI

Когда Uptime Kuma установлен и полностью настроен, запустите браузер и зайдите на доменное имя или публичный IP-адрес вашего сервера.

http://server-ip
или
http://domain-name

Появится WebUI, как показано на рисунке, и вам потребуется создать учетную запись администратора.

Поэтому введите имя пользователя и пароль и нажмите ‘Создать‘, чтобы создать учетную запись администратора.

Это позволит вам войти в дашборд Uptime Kuma.

Чтобы начать мониторинг сайта, нажмите кнопку ‘Новый монитор’.

Заполните данные сайта, который вы хотите контролировать.

Мы успешно установили и настроили Uptime Kuma и смогли провести мониторинг веб-сайта.

Ваши отзывы о данном руководстве приветствуются.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. Геннадий

    Возможно ли поднять 2 сервиса параллельно на одном сервере? К примеру, чтобы было доступно 2 разных сервиса Кумы по 2 разным доменам одного VPS/

    Ответить