Статьи → Сервера → Часть 4. Установка Grafana сервера
Сервера Актуальная

Часть 4. Установка Grafana сервера

Andrew ⚡ Администратор
(обновлено 11.09.2026)
140 v1.0

Установка Grafana

В этой статье мы разберем, как устанавливать Grafana на Astra Linux, а так же настроим ldap аутентификацию на ней. Создал я новый сервер с версией Astra Linux 1.8.6.39. В репозиториях Astra Linux есть установочный пакет grafana-server, но правда старой версии. Для работы из коробки подойдет, но в конце статьи 6-ой части цикла, я покажу как можно быстро и культурно обновить grafana до самой последней версии.

поиск пакета графаны

Как можно заметить, пакет просто называется grafana. Перейдем к его установке.

sudo apt install -y grafana

установка графаны

Включаем и добавляем службу grafana-server в автозагрузку:

sudo systemctl enable --now grafana-server

Теперь проверяем статус службы:

sudo systemctl status grafana-server

проверяем статус службы

На этом все, как это смешно щас не звучало, но это правда. Установка завершена :D Далее пойдут настройки ldap аутентификации, установка базы данных, настройки графаны итд.

Давайте попробуем открыть графану (переходим по ссылке ниже):

http://127.0.0.1:3000

открываем графану

Нас встречает приветствие от графаны и просит авторизоваться. Какой логин и пароль для авторизации? Да, тут конечно нужно глянуть документацию (ну кто ее конечно читает перед сборкой/установкой? Правда же?). Для нетерпеливых, я разместил логин и пароль тут:

Спойлер Логин - admin, Пароль - admin

 

А для всех остальных, мы продолжаем. Пойдем в документацию, поищем ответы там.

На главной странице под формой входа, видим как раз ссылку на нее.

документацияКликаем на нее и попадаем на официальный сайт графаны.

Далее, слева выбираем продукт «Grafana Enterprise».

выбираем продукт

Ищем раздел установки, а в нем вход в графану.

ищем в документации про вход в графану

Тут мы видим вторым пунктом, что на странице входа графаны, логин и пароль admin

логин и пароль

Воспользуемся полученными данными и попробуем авторизоваться администратором.

ввод логина и пароля

Тут же графана просит придумать новый пароль для локального администратора admin.

новый пароль

После смены пароля, мы попадаем на главную страницу.

главная страница

Посмотрим на настройки языка.

настройки языка

Как видим, Русского нет. Но у нас старая версия, в 13-ой уже появился Русский язык, а так же есть docker образ старой версии, в которой есть тоже Русский язык. Я пробовал стянуть от туда json конфиг и подкинуть в свою графану (давно это было, не сейчас), он появлялся в меню, но при его выборе становились квадратики вместо букв. Где-то нужно было поиграться с кодировкой, я забросил это дело и работал в English версии. Для изучения может показаться непонятным, но когда уже нарисуешь ни один дашборд, на язык уже не смотришь.

Следующим шагом, мы установим базу данных. Сразу хочу сказать, что устанавливаю базу данных для примера и для сбора и хранения каких то данных или метрик. Пример, для чего нужна отдельная база: у графаны есть своя, локальная (sqlite) база, которая хранит в себе алерты, настройки и пользователей, но она не рассчитана на большие объемы и постоянные обращения к ней. В документации к графане, даже не рекомендуют оставлять sqlite в продакшене, а пеерезжать на postgresql или mariadb. Но я считаю, что ее можно оставить под учетные записи и настройки графаны, а уже все данные и метрики на отдельной. На моей личной практики с большим количеством данных, никаких абсолютно проблем я не заметил с sqlite. Отдельную базу я разворачивал на отдельном сервере, ставил туда postgresql, отдельно сервер под grafana, настраивал связь. Все данные писались в postgresql, а графана уже красиво их рисовала на дашборде.

Если у Вас будет только связка Grafana+Zabbix, вы не собираетесь хранить данные, то можно пропустить шаг установки базы данных и перейти к следующему шагу.

Установка базы данных Postgresql

Установить базу можно на том же сервере где и графана или на отдельном. Если нагрузка небольшая, то можно на одном сервере.

Запускаем установку базы данных:

sudo apt install postgresql postgresql-contrib -y

установка базы данных

После установки postgresq создадим роль и базу. Тут я показываю пример, вы же не пренебрегайте безопасностью, создавайте учетные записи и делайте разграничение прав.

sudo -u postgres psql

Этой командой мы переходим в учетную запись postgres, а потом и в сам postgresql.

P.s: если у вас используется Astra Linux 1.8 с релизом Смоленск или Воронеж, то незабывайте сделать учетной записи postgres 63 уровень контроля целостности, иначе не сможете в нее перейти из под своей админской учетки с 63-ем уровнем прав. Повысить права sudo -i а потом pdpl-user -i 63 postgres и потом exit.

Теперь создаем базу данных:

CREATE DATABASE grafana;

Подключаемся к ней:

\c grafana;

Создаем пользователя (меняем на свой пароль):

CREATE USER grafana_user WITH PASSWORD 'Qwerty12';

Даем полные права на созданную базу для созданной учетной записи:

GRANT ALL ON SCHEMA public TO grafana_user;

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO grafana_user;

GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO grafana_user;

Выходим.

\q

Теперь нужно сообщить графане, что мы будем использовать базу данных postgres.

Заходим в файл конфиг и пропишем данные:

sudo vim /etc/grafana/grafana.ini

находим секцию [database] и прописываем по образцу

[database]
type = postgres
host = 127.0.0.1:5432
name = grafana
user = grafana_user
password = ВАШ_ПАРОЛЬ

Соответственно, если у вас база данных на другом сервере, то указываем все реквизиты ее по другому.

конфиг графаны

заполнение данных базы данных

Далее, настроим ldap авторизацию. Не покидая конфиг /etc/grafana/grafana.ini ищем секцию [auth.ldap]

конфиг с ldap авторизацией

Как мы видим из example, нам нужно прописать отдельно ldap.toml файл.

Приводим в соотвествие секцию как указано ниже.

[auth.ldap]
enabled = true
config_file = /etc/grafana/ldap.toml
allow_sign_up = true

Данными настройками включили авторизацию ldap и указали где лежат настройки для нее.

настройки включения ldap

Сохраняем и выходим. Далее перезапускаем grafana-server:

sudo systemctl restart grafana-server

Теперь нам нужно настроить ldap.toml.

sudo vim /etc/grafana/ldap.toml

настройки ldap.toml

Тут представлены описания всех настроек с примерами. Удалим все комментарии, чтобы не мазолили глаза и после удаления комментариев, настройки получились вот такими:

настройки ldap

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

создали в ad пользователя grafana-ldap

В ActiveDirectory я создал пользователя grafana-ldap, накинул ей группу, в которую входят мои пользователи домена.

группа пользователя

Ниже, представлен измененный ldap.toml конфиг под настройки моего домена с учетной записью и группой.

настройки ldap.toml с контроллером

Сохраняем перезапускаем службу:

sudo systemctl restart grafana-server

Итак, пройдемся по настройкам.

В секции [[servers]], не трудно догадаться, мы прописываем контроллер домена. Указываем используется ли ssl, в моем случае - нет. Потом самое важное, указываем полный путь по лесу домена до учетной записи grafana-ldap и ее пароль. Указываем фильтр поиска по sAMAccountName=%s, и search_base_dns. Все остальное по умолчанию. Далее в секции [servers.attibutes] поменял значение у username тоже на sAMAccountName и email со значения email на mail.

Далее идут секции с группами. В графане присутствует три локальных группы: Admin, Editor, View. Думаю тут не сложно догадаться кто есть кто и для чего. Мы можем сразу указать, что если пользователь входит в условно созданную группу grafana-admin, то добавлять такого пользователя локальную группу Admin и так далее. Что я и сделал, но я не стал создавать группу, а решил использовать уже созданную ранее dhome. Указать полный путь до нее в секции [[servers.group_mappings]] и определил ей роль Admin. Все доменные пользователи, входящие в группу dhome домена, при автории будут в группе администраторов графаны. Очень удобно на самом деле, когда у вас очень много пользователей, не нужно заходить в настройки графаны, открывать список пользователей, а потом заходить в конкретного пользователя и настраивать ему роль вручную. Я показал на примере одной группы, как это можно сделать. Давайте проверим.

Попробую залогиниться пользователем dorohoven, который входит в группу dhome.

учетная запись

пытаемся залогиниться доменной учетной записью

успешно залогинились

учетные записи

админский доступ

Как можно заметить, мы успешно авторизовались доменной учетной записью dorohoven, а так же видим, что у нас полный администраторский доступ к графане и видем плашку LDAP.

На этом подключение авторизации ldap завершена, переходим к подключении базы данных и вывода с нее данных на дашборд.


Подключение базы и вывод с нее данных

Закадром, я состряпал простенький скрипт на python, который подключается к LDAP, высасывает всех пользователей AD и отправляет собранные данные в базу данных grafana в postgresql. Далее мы настроем коннект с postgresql и нарисуем простенький дашборд, который будет выводить собранные нами данные в информативные блоки, а не сухие цифры.

Открваем графану, слева находим «Connections → Add new connection» и ищем в поиске postgres

создаем новое подключение

Нажимаем на «Add new data source»

создаем подключение

Задаем произвольное имя подключению.

задаем имя подключению

Задаем параметры подключения.

Обратите внимание. Ранее я указывал что название базы данных grafana, а на скриншоте использую grafana_db. Честно сказать, я уже не помню почему я использовал другое, наверное потому что имя grafana уже было занято самой графаной.

данные для подключения

Выключаем ssl если у вас база лежит там же, где и графана.

выключаем ssl

Указываем версию postgresql, в моем случае это 15.

версия postgresql

Теперь нажимаем «Save & Test».

сохраняем и тестируем

Если все сделали правильно, то увидим уведомление об успешном подключении.

успешное подключение

 

Попробуем что-нибудь нарисовать. Слева находим «Dashboards»

ищем дашборды

Нажимаем на «+ Create Dashboard»

создаем дашборд

Далее нажимаем «+ Add visualization»

Добавляем визуализацию

Указываем в качестве источника данных нашу базу данных.

указываем источник данных

настройки визуализации

База подключена, настройки визуализации открыты. Тут теперь, как у пилота в самолете, куча кнопок и настроек. На самом деле, все просто, нужно лишь разобраться и понять, что где и куда. Там где надпись No data, это показывается, как будут отображаться наши данные после кручения вертушка с настройками снизу и справа. Соответственно снизу, мы указываем источник данных, можем в графике выбирать какие поля выводить и какие фильтры применять, а можем написать чистый SQL запрос и вывести данные. Справа, колонка отвечает за стиль отображения данных. Это будет таблица или блоки, а может бублики или графики. Соответственно куча настроек для кастомизации. Это минимальная база, дальше вы сами все поймете по ходу действий.

Сейчас я покажу как сделать вывод через графику данных из базы данных и через SQL.

Выбираем таблицу ad_users данных.

выбираем таблицу

Теперь выбираем, что выводить с этой таблицы. Я выбрал * - вывести все столбцы.

вывести все столбцы

вывести все столбцы

А после выполняем SQL через кнопку «Run query».

результат sql

Получилось непонятно что. Вверху давайте переведем ползунок в Table view. Посмотрим, как данные будут выглядеть в форме таблицы.

вывод в таблице

Вот, в таблице выглядит неплохо. Но это лишь демонстрация, для отображения в таблице, нужно будет выбрать стиль таблицы. Об этом чуть позже. Теперь давайте выведем лишь одного пользователя с ActiveDirectory.

Перейдем в режим Code и изменим SQL запрос.

переключаем а режим code

Появился SQL код

Отредактируем его так, чтобы вывести одного пользователя dorohoven и выполним SQL код кнопкой Run query.

Вывод запроса

В целом, получилось неплохо. Давайте зададим имя визуализации и сохраним наш дашборд.

задаем имяСохраняем дашборд

сохраняем дашборд

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

меняем стиль отображенияМеняем на Table.

Вот такая визуализация таблицы из базы данных по ActiveDirectory у нас получилась.

Итоговая таблица

Ну что это такое? Что за название столбцов? Щас исправим. Есть несколько способов: можно переопределить через панель настроек визуализации справа, его я покажу в 5-ой части цикла либо же здесь и сейчас, по быстрому изменим это через SQL запрос.

изменяем поля столбцов

Вот таким кустарным методом мы помененяли названия столбцов.

итог после правки столбцов

Теперь создадим еще одну визуализацию, где сделаем счетчик количества пользователей в контроллере домена ActiveDirectory.

счетчик количества пользователей

Итог получился вот таким:

итог

На этом данная статья подошла к концу, надеюсь Вам понравилось и увидимся в следующих частях цикла!

0
Andrew

DevOps Engineer

1 50 статей
Комментарии (0)
Войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!