Netdata — инструмент для мониторинга и сбора статистики о состоянии системы в режиме реального времени. Умеет собирать большое количество метрик, уведомлять о проблемах, имеет неплохой внешний вид и возможность экспорта данных.
В рамках этой заметки, поставим Netdata и прикроем его авторизацией от лишних глаз.
Условимся, что у нас уже имеется рабочий сервер на котором крутится Nginx, несколько других сервисов и сайт domain.com. Мониторинг мы будем размещать на поддомене netdata.domain.com.
Установка Netdata.
Ставится очень просто, одной командой:
# bash <(curl -Ss https://my-netdata.io/kickstart.sh) all
В процессе, система предложит доустановить недостающие пакеты и развернёт сам мониторинг. По умолчанию, после установки, страница с данными будет доступна при обращении к 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, созданный ранее пароль, и получить доступ к панели мониторинга.
По умолчанию здесь уже доступно большое количество собираемых данных — система, процессы, сеть, диски и много чего ещё. Кроме того, имеется возможность поставить на мониторинг свои приложения и сервисы — к этому обязательно вернёмся в следующих заметках…
3 thoughts on “Netdata. Установка и настройка авторизации.”