Автор выбрал COVID-19 Relief Fund для получения пожертвования в рамках программы Write for DOnations.
Grafana — это инструмент визуализации и мониторинга данных с открытым исходным кодом, который интегрируется со сложными данными из таких источников, как Prometheus, InfluxDB, Graphite, ElasticSearch. Grafana позволяет создавать предупреждения, уведомления и специальные фильтры для данных, а также проще взаимодействовать с коллегами посредством встроенных функций обмена данными.
В этом обучающем руководстве вы установите Grafana и защитите его сертификатом SSL и обратным прокси-сервером Nginx. После настройки Grafana у вас будет возможность настроить аутентификацию пользователя через GitHub, что позволит лучше организовать разрешения для вашей команды.
Для данного обучающего модуля вам потребуется следующее:
sudo
и настроенный брандмауэр ufw
.your_domain
. Вы можете купить доменное имя на Namecheap, получить его бесплатно на Freenom или воспользоваться услугами любого предпочитаемого регистратора доменных имен.your_domain
указывает на публичный IP-адрес вашего сервера.www.``your_domain
указывает на публичный IP-адрес вашего сервера.На этом первом шаге вы установите Grafana на сервер Ubuntu 20.04. Вы можете установить Grafana либо путем загрузки непосредственно с официального веб-сайта, либо через репозиторий APT. Поскольку репозиторий APT упрощает установку обновлений Grafana и управление ими, в этом обучающем руководстве мы будем использовать этот метод.
Скачайте ключ GPG Grafana с помощью [wget](https://www.gnu.org/software/wget/)
, а затем выведите результат на apt-key
. Это добавит ключ в список надежных ключей установки APT, что позволит загрузить и проверить пакет Grafana с подписью GPG:
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
В этой команде опция -q
выключает сообщение об обновлении статуса для wget
, а -O
выводит файл, который вы загрузили в терминал. Эти два варианта гарантируют, что в apt-key
выводится только содержимое загруженных файлов.
Затем добавьте репозиторий Grafana в свои источники APT:
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
Обновите свой кэш APT для обновления списка пакетов:
sudo apt update
Теперь вы можете перейти к установке:
sudo apt install grafana
После установки Grafana используйте systemctl
для запуска сервера Grafana:
sudo systemctl start grafana-server
Затем убедитесь в работе Grafana, проверив состояние службы:
sudo systemctl status grafana-server
Вывод должен выглядеть примерно так:
Output
● grafana-server.service - Grafana instance
Loaded: loaded (/lib/systemd/system/grafana-server.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2020-05-21 08:08:10 UTC; 4s ago
Docs: http://docs.grafana.org
Main PID: 15982 (grafana-server)
Tasks: 7 (limit: 1137)
...
В этом выводе содержится информация о процессе Grafana, включая его статус, главный идентификатор процесса (PID) и многое другое. active (running)
указывает, что процесс выполняется корректно.
Наконец, активируйте службу для автоматического запуска Grafana при загрузке:
sudo systemctl enable grafana-server
Результат будет выглядеть следующим образом:
Output
Synchronizing 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 теперь установлен и готов к использованию. Затем вы защитите подключение к Grafana с помощью обратного прокси-сервера и сертификата SSL.
Использование сертификата SSL гарантирует безопасность ваших данных путем шифрования подключения к Grafana и от него. Однако для использования этого подключения сначала необходимо перенастроить Nginx в обратный прокси-сервер для Grafana.
Откройте файл конфигурации Nginx, который вы создали при настройке блока сервера Nginx с помощью Let’s Encrypt в предварительных требованиях. Вы можете использовать любой текстовый редактор, но для этого обучающего руководства мы будем использовать nano
:
sudo nano /etc/nginx/sites-available/your_domain
Найдите следующий блок:
/etc/nginx/sites-available/your_domain
...
location / {
try_files $uri $uri/ =404;
}
...
Copy
Поскольку вы уже настроили Nginx для связи через SSL и поскольку весь веб-трафик на ваш сервер уже проходит через Nginx, вам просто нужно сообщить Nginx, чтобы он пересылал все запросы в Grafana, который работает в порту 3000
по умолчанию.
Удалите существующую строку try_files
в этом location block
и замените ее на proxy_pass
:
/etc/nginx/sites-available/your_domain
...
location / {
proxy_pass http://localhost:3000;
}
...
Copy
Это будет направлять прокси-сервер в соответствующий порт. После завершения сохраните и закройте файл, нажав CTRL+X
, Y
, а затем ENTER
, если вы используете nano
.
Теперь протестируйте новые настройки, чтобы убедиться, что все настроено правильно:
sudo nginx -t
Результат будет выглядеть следующим образом:
Output
nginx: 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, указав в адресной строке браузера https://``your_domain
. Если вы не можете получить доступ к Grafana, убедитесь, что брандмауэр установлен на разрешение приема трафика в порту 443
, и затем отследите предыдущие инструкции.
После шифрования подключения к Grafana вы можете предпринять дополнительные меры защиты, начиная с изменения административных учетных данных Grafana по умолчанию.
#ubuntu