Введение
Grafana — это инструмент визуализации и мониторинга данных с открытым исходным кодом, который интегрируется с данными из таких источников, как Prometheus, InfluxDB, Graphite и ElasticSearch. Grafana позволяет создавать специальные оповещения, уведомления и фильтры для ваших данных, облегчая совместную работу с вашей командой благодаря встроенным функциям обмена.
В этом руководстве вы установите Grafana и защитите ее с помощью SSL-сертификата и обратного прокси-сервера Nginx.
Если вы намерены установить Grafana на удаленный сервер, продолжайте чтение, в противном случае, если вы хотите установить Grafana на локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Предпосылки
Чтобы следовать этому руководству, вам понадобятся:
- Сервер Ubuntu 18.04, настроенный в соответствии с Руководством по начальной настройке сервера для Ubuntu 18.04, включая пользователя без полномочий root с привилегиями sudo и брандмауэр, настроенный с помощью ufw.
- Полностью зарегистрированное доменное имя.
- Установка и настройка Nginx в соответствии с руководством Как установить Nginx на Ubuntu 18.04, включая виртуальный хост для вашего домена.
- Let’s Encrypt настроен для вашего виртуального хоста Nginx, который вы можете настроить, следуя статье Как защитить Nginx с помощью Let’s Encrypt в Ubuntu 18.04.
Установить Графану
На этом первом шаге вы установите Grafana на свой сервер Ubuntu 18.04. Вы можете установить Grafana , загрузив ее прямо с официального сайта или через репозиторий APT. Поскольку репозиторий APT упрощает установку обновлений Grafana и управление ими, в этом руководстве вы будете использовать этот метод.
Хотя Grafana доступна в официальном репозитории пакетов Ubuntu 18.04, версия Grafana может быть не последней, поэтому используйте официальный репозиторий Grafana.
Загрузите ключ GPG Grafana с помощью wget. Ключ будет добавлен в список доверенных ключей установки APT, что позволит вам загрузить и проверить пакет Grafana, подписанный GPG.
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
В этой команде параметр -q отключает сообщение об обновлении статуса для wget, а -O показывает загруженный файл на терминале.
Затем добавьте репозиторий Grafana в ваши источники APT:
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
Обновите кэш APT, чтобы обновить списки пакетов:
sudo apt update
Итак, убедитесь, что Grafana будет установлена из репозитория Grafana:
apt-cache policy grafana
Вывод приведенной выше команды указывает версию Grafana, которую вы собираетесь установить, и откуда вы получите пакет. Убедитесь, что кандидат на установку в верхней части списка находится в официальном репозитории Grafana по адресу https://packages.grafana.com/oss/deb.
Installed: (none)
Candidate: 6.3.5
Version table:
6.3.5 500
500 https://packages.grafana.com/oss/deb stable/main amd64 Packages...
Теперь можно приступать к установке:
sudo apt install grafana
После установки Grafana используйте systemctl для запуска сервера Grafana:
sudo systemctl start grafana-server
Затем убедитесь, что Grafana запущена, проверив статус службы:
sudo systemctl status grafana-server
Вы получите вывод, аналогичный следующему:
grafana-server.service - Grafana instance
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-09-11 20:18:47 CEST; 18min ago
Docs: http://docs.grafana.org
Main PID: 7856 (grafana-server)
Tasks: 9 (limit: 2299)
CGroup: /system.slice/grafana-server.service
└─7856 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --p...
Этот вывод содержит информацию о процессе Grafana, включая статус, идентификатор основного процесса (PID) и многое другое. active (running) показывает, что процесс работает корректно.
Наконец, включите службу для автоматического запуска Grafana при запуске сервера:
sudo systemctl enable grafana-server
Вы получите выходное сообщение, подобное следующему:
Output of systemctl enable grafana-serverSynchronizing state of grafana-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.
Это подтверждает, что systemd создала необходимые символические ссылки для автоматического запуска Grafana при запуске сервера/рабочего стола.
Теперь Grafana установлена и готова к использованию.
Настроить обратный прокси
Использование SSL-сертификата гарантирует безопасность ваших данных за счет шифрования соединения с Grafana и обратно. Но чтобы использовать это соединение, вам сначала нужно перенастроить Nginx в качестве обратного прокси для Grafana.
Откройте файл конфигурации Nginx, который вы создали при настройке блокировки сервера Nginx с помощью Let's Encrypt в предварительных условиях. Вы можете использовать любой текстовый редактор, но для этого урока мы будем использовать nano:
sudo nano /etc/nginx/sites-available/tuo_dominio.it
Найдите следующий блок:
…
location /{
try_files $uri $uri/=404;
}
…
Поскольку вы уже настроили Nginx для связи через SSL и поскольку весь веб-трафик на ваш сервер уже проходит через Nginx, вам просто нужно указать Nginx перенаправлять все запросы в Grafana, которая по умолчанию работает на порту 3000.
Удалите строку try_files и замените ее следующей опцией proxy_pass.
…
location /{
proxy_pass http://localhost:3000;
}
…
Это сопоставит прокси с соответствующим портом. Когда закончите, сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.
Теперь проверьте новые настройки, чтобы убедиться, что все настроено правильно:
sudo nginx -t
Вы должны получить следующий результат:
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Наконец, активируйте изменения, перезагрузив Nginx:
sudo systemctl reload nginx
Теперь вы можете получить доступ к экрану входа в Grafana по умолчанию с помощью веб-браузера.Если вы не можете получить доступ к Grafana, убедитесь, что ваш брандмауэр настроен на разрешение трафика через порт.
https://tuo_dominio.it
Благодаря зашифрованному соединению с Grafana теперь можно реализовать дополнительные меры безопасности, начиная с изменения стандартных учетных данных администратора Grafana.
Обновление учетных данных
Поскольку при каждой установке Grafana по умолчанию используются одни и те же учетные данные администратора, рекомендуется как можно скорее изменить данные для входа.
Откройте веб-браузер и подключитесь к своему домену. Появится экран входа по умолчанию, где вы увидите логотип Grafana. Войдите в систему, введя admin в полях « Пользователь » и « Пароль », затем нажмите кнопку « Войти ».
На следующем экране вам будет предложено сделать вашу учетную запись более безопасной, изменив пароль по умолчанию.
Введите желаемый пароль в поля Новый пароль и Подтвердите новый пароль.
Нажмите « Сохранить», чтобы сохранить новую информацию, или « Пропустить», чтобы пропустить этот шаг. Если вы пропустите, вам будет предложено изменить пароль при следующем входе в систему.
Чтобы повысить безопасность конфигурации Grafana, нажмите « Сохранить ».
Отключить регистрацию Grafana и анонимный доступ
Grafana предлагает опции, которые позволяют посетителям создавать для себя учетные записи пользователей и предварительно просматривать информационные панели без регистрации. При использовании Grafana в Интернете для работы с конфиденциальными данными анонимный доступ может быть проблемой безопасности. Чтобы решить эту проблему, внесите некоторые изменения в конфигурацию Grafana.
Откройте основной файл конфигурации Grafana для редактирования:
sudo nano /etc/grafana/grafana.ini
Найдите следующий параметр allow_sign_up в заголовке [users]:
…
[users]
# disable user signup /registration
;allow_sign_up = true
…
Если для этого параметра установлено значение true, на экран входа в систему будет добавлена кнопка « Зарегистрироваться», позволяющая пользователям регистрироваться и входить в Grafana.
Чтобы отключить эту функцию, затем, чтобы скрыть ключ подписки, установите для параметра значение false.
Раскомментируйте эту директиву, удалив " ; " в начале строки и установив для параметра значение false:
…
[users]
# disable user signup /registration
allow_sign_up = false
…
Затем найдите следующий включенный параметр в заголовке [auth.anonymous]:
…
[auth.anonymous]
# enable anonymous access
;enabled = false
…
Включенный параметр, установленный со значением true, разрешает незарегистрированным пользователям доступ к информационным панелям; установка для этого параметра значения false ограничивает доступ к информационной панели только для зарегистрированных пользователей.
Раскомментируйте эту директиву, удалив " ; " в начале строки и установив для параметра значение false.
…
[auth.anonymous]
enabled = false
…
Это сопоставит прокси с соответствующим портом. Когда закончите, сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.
Чтобы активировать изменения, перезапустите Grafana:
sudo systemctl restart grafana-server
Убедитесь, что все работает, проверив статус службы Grafana:
sudo systemctl status grafana-server
Как и прежде, вывод сообщит, что Grafana активна (работает).
Подключитесь с помощью браузера к вашему домену. Чтобы вернуться к экрану регистрации, наведите курсор на свой аватар в левом нижнем углу экрана и щелкните пункт Выйти.
После выхода из системы убедитесь, что нет кнопки «Зарегистрироваться» и что вы не можете войти в систему, не введя свои учетные данные.
На данный момент Grafana полностью настроена и готова к использованию.
Вывод
В этом руководстве вы установили, настроили и защитили Grafana. Для получения дополнительной информации об использовании Grafana обратитесь к официальной документации Grafana.