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 та змогли відстежувати веб-сайт.