Netdata. Установка и настройка авторизации.

Netdata — инструмент для мониторинга и сбора статистики о состоянии системы в режиме реального времени. Умеет собирать большое количество метрик, уведомлять о проблемах, имеет неплохой внешний вид и возможность экспорта данных.

В рамках этой заметки, поставим Netdata и прикроем его авторизацией от лишних глаз.

netdata

Условимся, что у нас уже имеется рабочий сервер на котором крутится Nginx, несколько других сервисов и сайт domain.com. Мониторинг мы будем размещать на поддомене netdata.domain.com.

Установка Netdata.

Ставится очень просто, одной командой:

# bash <(curl -Ss https://my-netdata.io/kickstart.sh) all

netdata

В процессе, система предложит доустановить недостающие пакеты и развернёт сам мониторинг. По умолчанию, после установки, страница с данными будет доступна при обращении к IP сервера и порту 19999 (http://1.2.3.4:19999).

Настройка авторизации.

Мы совсем не хотим что бы дашбоард был доступен всем, так что спрячем его за Nginx и добавим ему авторизацию. Создаём поддомен netdata.domain.com на DNS, направляем его на наш сервер, выписываем сертификат, что бы всё работало по https. Далее…

1. Открываем конфиг /etc/netdata/netdata.conf и прописываем там следующее (в секции web):

bind to = unix:/tmp/netdata.sock

Сохраняем файл, перезапускаем netdata.

# systemctl restart netdata

2. Открываем конфиг Nginx для нашего виртуального хоста, и прописываем там:

upstream backend {
server unix:/tmp/netdata.sock;
keepalive 64;
}

И в секции server:

location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_set_header Connection "keep-alive";
proxy_store off;
}

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

auth_basic "Protected";
auth_basic_user_file httpasswd;

Сохраняем конфиг, и далее создаём файл с паролем:

# printf "netdata:$(openssl passwd -apr1)" > /etc/nginx/httpasswd

Убеждаемся что ошибок в конфиге нет (nginx -t), и перезапускаем веб-сервер.

# systemctl restart nginx

Далее, нам остаётся открыть заранее созданный домен netdata.domain.com ввести логин netdata, созданный ранее пароль, и получить доступ к панели мониторинга.

netdata

По умолчанию здесь уже доступно большое количество собираемых данных — система, процессы, сеть, диски и много чего ещё. Кроме того, имеется возможность поставить на мониторинг свои приложения и сервисы — к этому обязательно вернёмся в следующих заметках…

2 thoughts on “Netdata. Установка и настройка авторизации.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *