Skip to main content

MonaaS Kuma

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

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

image.png

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

  • Минимум 10 гб системного диска;
  • Минимум 1 ядро и 2 гб озу;
  • Если инстанс создаётся с локальным адресом сети, использовать router и floating IP для доступа снаружи.

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

Директория с самим сервисом на машине/opt/kuma/, имя сервиса uptime-kuma

Настройка 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:

apt install 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.

После чего можно сделать рестарт сервиса и проверить:

systemctl restart nginx

Важно! В этой в инструкции представлен определённый подход, однако вы можете использовать другие средства для proxy и ssl, не указанные в этой инструкции.