Установка и настройка сервера Grafana на Linux

Обновлено Обновлено: Опубликовано Опубликовано:

Используемые термины: GrafanaLinux, CentOS, Ubuntu.

Мы рассмотрим процесс установки графаны на 2 типа дистрибутивов Linux — RPM и DEB на примере, соответственно, CentOS и Ubuntu. В репозиториях этих систем, по умолчанию, нет пакета для установки Grafana. Первым делом будет установлен сам репозиторий, а после — нужный нам пакет. Также, в качестве примера, мы подключим Grafana к системе мониторинга Zabbix и построим график для метрики утилизации процессора.

Метод установки, описанный ниже позволит поставить последнюю версию графаны, которая доступна в репозитории. Как правило, это то, что нужно в большинстве случаев.

Но если нам необходимо установить конкретный релиз программы, переходим на официальную страницу загрузки Grafana, выбираем желаемую версию и следуем инструкции для соответствующей операционной системы.

Установка и запуск на CentOS / Red Hat

Установка

Создаем файл конфигурации репозитория для графаны:

vi /etc/yum.repos.d/grafana.repo

[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

Теперь можно устанавливать:

yum install grafana

... и отвечаем Y на все запросы.

Настройка брандмауэра

По умолчанию, Grafana работает на порту 3000. Для возможности подключиться к серверу открываем данный порт в фаерволе:

firewall-cmd --permanent --add-port=3000/tcp

firewall-cmd --reload

Запуск сервиса

Разрешаем автозапуск:

systemctl enable grafana-server

Запускаем:

systemctl start grafana-server

Установка и запуск на Ubuntu / Debian

Установка

Добавляем репозиторий командой:

add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

Устанавливаем ключ для проверки подлинности репозитория графаны:

wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -

Обновляем список портов:

apt update

Выполняем установку:

apt install grafana

... и отвечаем Y на запрос.

Настройка брандмауэра

По умолчанию, в Ubuntu брандмауэр не блокирует соединения. Но если в нашей системе он используется, необходимо добавить порт одной из команд:

а) при использовании iptables:

iptables -A INPUT -p tcp --dport 3000 -j ACCEPT

netfilter-persistent save

* если при вводе второй команды система выдаст ошибку, устанавливаем необходимый пакет командой apt install iptables-persistent.

б) при использовании ufw:

ufw allow 3000/tcp

ufw reload

Запуск сервиса

Разрешаем автозапуск:

systemctl enable grafana-server

Запускаем:

systemctl start grafana-server

Установка без настройки репозитория

Для некоторых стран, установка grafana из репозитория заблокирована и может закончиться ошибкой:

[Errno 14] HTTPS Error 403 - Forbidden

Проблема решается легко. Переходим на официальную страницу загрузки Grafana. Выбираем версию и редакцию:

Выбираем версию и редакцию графаны

Ниже двигаемся по инструкции и выполняем необходимые действия, например:

а) для Deb-систем:

apt install adduser libfontconfig1 musl

wget https://dl.grafana.com/oss/release/grafana_10.2.3_amd64.deb

dpkg -i grafana_*_amd64.deb

б) для RPM-систем:

yum install https://dl.grafana.com/oss/release/grafana-10.2.3-1.x86_64.rpm

После необходимо настроить брандмауэр и запустить сервис, как описаны выше для Ubuntu и Centos.

Открываем и настраиваем портал

Рассмотрим пример связки Grafana с Zabbix.

Проверяем работу портала

После установки графаны открываем браузер и переходим по адресу http://<IP-адрес сервера>:3000

Для авторизации используем логин и пароль: admin / admin.

Система может потребовать задать новый пароль — вводим его дважды.

Добавляем плагин для работы с Zabbix

Установка плагина для подключения к Zabbix выполняется командой:

grafana-cli plugins install alexanderzobnin-zabbix-app

После окончания установки мы должны увидеть:

Installed alexanderzobnin-zabbix-app successfully

Перезагружаем сервер графаны:

systemctl restart grafana-server

Переходим к веб-интерфейсу и открываем управление плагинами:

Переходим к списку плагинов в Grafana

В открывшемся списке находим Zabbix и переходим к нему:

Открываем управление плагином Zabbix

Активируем его, кликнув по Enable:

Активируем плагин Zabbix

Добавляем источник данных

Переходим в раздел Configuration - Data Sources:

Переходим в настройки для подключения источника данных

Кликаем по Add data source:

Кнопка перехода к добавлению источника данных

Выбираем Zabbix в качестве источника данных:

Подключение Zabbix в качестве источника данных для Grafana

На открывшейся странице в разделе «HTTP», поле URL вводим http://<путь до zabbix>/api_jsonrpc.php, например:

Настройка подключения к Zabbix API

Ниже, в разделе «Zabbix API details», вводим логин и пароль для учетной записи с правами выполнения запросов API, а также выбираем версию нашего сервера Zabbix:

Настройка подключения к Zabbix API details

* по умолчанию, в Zabbix создается учетная запись с правами администратора Admin с паролем zabbix. Однако, эту запись лучше использовать для проверки, а для целей интеграции лучше создать нового пользователя.

Нажимаем на Save & Test. Готово.

Создаем график на основе метрики в Zabbix

Переходим в раздел Create - Dashboard:

Создание Dashboard

Выбираем Add Query:

Создание Dashboard - Add Query

Заполняем поля для получения данных с Zabbix:

Настройки запроса для получения загрузки процессора

* где:

  • Query — источник данных. Выбираем Zabbix.
  • Query Mode — тип данных. Оставляем Metrics.
  • Group — группа серверов в Zabbix. Выбираем нужную нам группу.
  • Host — имя сервера, для которого будем вытаскивать данные.
  • Application — данные для какого компонента будем собирать. В данном примере, процессора.
  • Item — какой именно тип информации нас интересует. На скриншоте выше выбрано время простоя процессора.

При желании, можно настроить графики в разделе Visualization:

Настройка графиков в Grafana

После сохраняем данные:

Сохраняем наш Dashboard

В открывшемся всплывающем окне задаем имя дашборду и нажимаем Save. Готово.

Настройка https

После установки Grafana работает по протоколу http. Для настройки https необходимо выполнить 2 задачи:

  1. Получение сертификата.
  2. Настройка графаны.

Получаем сертификат

Для получение сертификата можно его купить или запросить бесплатно у Let's Encrypt

Предположим, что мы получили сертификат от Let's Encrypt для узла grafana.dmosk.ru и поместили его в каталог /etc/letsencrypt/live/grafana.dmosk.ru.

Настройка сервера Grafana

Открываем на редактирование конфигурационный файл:

vi /usr/share/grafana/conf/defaults.ini

Редактируем следующие опции:

...
protocol = https
...
cert_file = /etc/letsencrypt/live/grafana.dmosk.ru/fullchain.pem
cert_key = /etc/letsencrypt/live/grafana.dmosk.ru/privkey.pem
...

* где protocol определяет протокол, по которому будет работать веб-интерфейс grafana; cert_file — путь до открытого ключа безопасности; cert_key — до закрытого.

Перезапускаем сервис:

systemctl restart grafana-server

Пробуем перейти на веб-интерфейс графаны по доменному имени. В нашем примере, https://grafana.dmosk.ru:3000.

Анонимный доступ

При необходимости, мы можем дать беспарольный доступ к системе.

Для этого открываем конфигурационный файл:

vi /etc/grafana/grafana.ini

Находим раздел auth.anonymous и редактируем его:

[auth.anonymous]
# enable anonymous access
enabled = true

# specify organization name that should be used for unauthenticated users
org_name = Main Org.

# specify role for unauthenticated users
org_role = Viewer

* в данном примере:

  • enabled — разрешает или запрещает анонимный доступ.
  • org_name — название организации, к которой разрешен анонимный доступ. Организации настраиваются в веб-интерфейсе графаны (раздел Server Admin - Orgs). По умолчанию создается имя Main Org.
  • org_role — уровень доступа для анонимных пользователей.

Перезапускаем сервис:

systemctl restart grafana-server

Готово.

Читайте также

Также может быть полезно:

1. Настройка Grafana для аутентификации через Active Directory.

2. Создание графиков в Grafana на основе данных из Prometheus.

3. Обновление Grafana на Linux.

4. Установка и использование Grafana Loki на Linux.

# CentOS # DevOps # Linux # Ubuntu # Мониторинг # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет