Uptime Kuma — это модный инструмент для мониторинга, который вы можете использовать для мониторинга веб-сайтов и приложений в режиме реального времени.
Возможности Uptime Kuma
- Отслеживает время безотказной работы веб-сайтов HTTP, портов TCP и контейнеров Docker и извлекает информацию, например записи DNS.
- Отправляет уведомления по электронной почте (SMTP), Telegram, Discord, Microsoft Teams, Slack, Promo SMS, Gotify и более 90 службам уведомлений.
- Поддерживает несколько языков.
- Предоставляет несколько страниц состояния.
- Обеспечивает поддержку прокси.
- Отображает информацию о сертификате SSL.
- Сопоставляет страницу состояния с доменом.
В этом руководстве вы узнаете, как установить самостоятельный инструмент мониторинга Uptime Kuma и как вы можете отслеживать веб-сайты с помощью этого инструмента.
Для демонстрации мы установим инструмент Uptime Kuma Monitoring на Ubuntu 20.04. Те же инструкции также работают с дистрибутивами на основе RHEL и производными от Debian.
Шаг 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 - [On Debian systems] $ curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash - [On RHEL systems]
Команда загружает сценарий установки, который обновляет списки пакетов, добавляет ключ подписи Nodesource и создает файл списка apt и dnf для репозитория Nodesource 16.x.
После добавления репозитория Nodesource установите Node.JS с помощью диспетчера пакетов, как показано ниже.
$ sudo apt install nodejs -y [On Debian systems] $ sudo dnf install nodejs -y [On RHEL systems]
После установки подтвердите установленную версию 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 [On Debian systems] $ sudo dnf install httpd -y [On RHEL systems]
После установки включите следующие модули, которые потребуются инструменту мониторинга в системах на базе 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 [On Debian systems] $ sudo vi /etc/httpd/conf.d/uptime-kuma.conf [On RHEL systems]
Вставьте следующие строки кода. Для директивы 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 [On Debian systems] $ sudo systemctl restart httpd [On RHEL systems]
Шаг 5. Получите доступ к Uptime Kuma из веб-интерфейса
После установки и полной настройки Uptime Kuma запустите браузер и перейдите на доменное имя или общедоступный IP-адрес вашего сервера.
http://server-ip OR http://domain-name
Веб-интерфейс будет выглядеть, как показано, и вам потребуется создать учетную запись администратора. Поэтому укажите имя пользователя и пароль и нажмите «Создать», чтобы создать учетную запись администратора.
Это позволит вам войти в панель управления Uptime Kuma. Чтобы начать мониторинг веб-сайта, нажмите кнопку «Добавить новый монитор». Заполните информацию о сайте, который вы хотите отслеживать.
Вскоре после этого Uptime Kuma начнет отслеживать ваш сайт и предоставлять различные показатели времени безотказной работы, как показано на рисунке.
Вот и все! Мы успешно установили и настроили Uptime Kuma и смогли отслеживать веб-сайт.