Skip to main content

MonaaS Kuma

Первый запуск

Обратите внимание: в этой инструкции описан один из возможных способов настройки proxy и SSL. Вы можете использовать другие инструменты и подходы, если они лучше соответствуют вашей инфраструктуре.

Мы подготовили образ для реализации собственного мониторинга, которым можно воспользоваться при создании инстанса в console.a2-cloud.ru:

image.png

Необходимые критерии создания инстанса:

  • Минимум - 10 ГБ системного диска;
  • Минимум - 1 vCPU и 2 ГБ vRAM;
  • Если ваш инстанс создаётся с локальным (приватным) IP-адресом, для внешнего доступа используйте маршрутизатор (Router) и назначьте ему плавающий (floating) IP.

После создания инстанса вам сразу будет доступна web-панель мониторинга по адресу: http://<ваш_ip>:3001. При переходе по адресу отобразится стартовая страница с первыми вводными данными.

Директория с самим сервисом на виртуальной машине: /opt/kuma/

Название сервиса в системе: uptime-kuma.service

Настройка SSL

Настройка SSL без зарезервированного DNS-имени хоста

Если у вас нет зарезервированного DNS-имени для хоста, вы можете использовать самоподписанный SSL-сертификат, указав только IP-адрес. При этом можно назначить локальное DNS-имя, добавить его в файл hosts на рабочих станциях и подключаться к хосту по этому имени:

openssl req -x509 -nodes -days 2555 -sha256 -newkey rsa:2048 -keyout keyfile.key -out cert.crt -subj "/CN=<domain>" -addext "subjectAltName=IP:<IP>"

Где:

  • <domain> - ваше DNS-имя
  • <IP> - адрес виртуальной машины или floating IP

Настройка SSL с зарезервированным DNS-именем хоста

Если у вас уже есть зарегистрированное доменное имя (например, yourdomain.com), вы можете получить для него SSL-сертификат от Let's Encrypt с помощью утилиты certbot:

  1. Установите certbot, если утилита ещё не установлена. Это можно сделать через консоль с помощью пакетного менеджера вашей операционной системы. Например, для Ubuntu:

    apt install certbot
  2. После установки выполните команду для получения сертификата:

    certbot certonly --standalone -d <domain>

    Где: <domain> - ваше DNS-имя, например: yourdomain.com

Настройка nginx

Чтобы при переходе по вашему DNS-имени сразу открывалась панель через HTTPS, можно настроить переадресацию с помощью веб-сервера nginx.

  1. Установите nginx, если он ещё не установлен:

    apt install nginx
  2. Затем отредактируйте конфигурационный файл nginx: /etc/nginx/nginx.conf:

server {
    listen 443 default_server ssl http2;
    listen [::]:443 ssl http2;
    #    listen 443 ssl http2;
    server_name <domain>;

    ssl_certificate /etc/letsencrypt/live/<domain>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<domain>/privkey.pem;
    #    include /etc/letsencrypt/options-ssl-nginx.conf;
    #    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header 'Access-Control-Allow-Origin' '*';
        }
}

Где:

  • <domain> - ваше DNS имя

  • ssl_certificate и ssl_certificate_key - пример пути до файлов сертификата.


    Если нет DNS имени локального и нужно входить только по IP, в nginx можно указать в server_name - ваш IP.

  1. После внесения изменений перезапустите nginx, чтобы применить новую конфигурацию:

    systemctl restart nginx

Добавление и настройка мониторов в Uptime Kuma

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

Добавление нового монитора

  1. На главной странице вашего мониторинга Kuma нажмите на Go to Dashboard.

  2. В левой части экрана нажмите + Add New Monitor.
    kuma_main.png

  3. В поле Monitor Type выберите нужный тип из выпадающего списка. Подробнее о типах мониторов ниже.

  4. Настройте параметры выбранного типа:

    • Friendly Name — название монитора.
    • URL — адрес ресурса (например, https://example.com).
    • Hostname — IP-адрес или доменное имя.
    • Port — номер TCP-порта (например, 22 для SSH или 443 для HTTPS).
    • DNS Server — сервер, который будет использоваться для запроса (например, 8.8.8.8).
    • Port — порт gRPC сервиса.
    • Interval — частота проверки ресурса.
    • Max Retries — количество попыток проверки на доступность перед тем, как ресурс будет отмечен как «недоступный».
    • Docker Host — выберите зарегистрированный Docker-хост.
    • Container Name — выберите контейнер из списка.
    • (Опционально) Advanced Settings: проверка ключевого слова, метод запроса, заголовки.
  5. Нажмите Save для сохранения монитора.

Монитор появится в списке. Нажмите на монитор, чтобы открыть Details и проверить логи, задержку и последние события.

Типы мониторов

Тип монитора определяет, каким образом будет выполняться проверка ресурса.

kuma-monitor-settings.png

Основные типы мониторов:

Monitor Type Описание
HTTP / HTTPS Проверяет доступность по HTTP(S) и статус-коды ответа (2xx, 3xx, 4xx, 5xx).
Ping Периодически выполняет `ping` на указанный хост.
TCP Port Проверяет доступность указанного TCP-порта на хосте.
gRPC Отслеживает работу сервисов, использующих протокол gRPC.
DNS Проверяет доступность и корректность ответа DNS-сервера или записи.
Docker Container Мониторит состояние Docker-контейнеров.
Group Объединяет несколько мониторов для отслеживания общего статуса группы.

Прочие типы мониторов являются специфичными для определённых приложений и сервисов, обычно используются в специализированных сценариях.