Настройка связки Grafana + Zabbix
На графане можно красиво рисовать, но для рисования нужны данные. Графана поддерживает несколько способов получения метрик один из которых - это напрямую с zabbix через API. Этим мы и займемся.
Откроем графану из предыдущей статьи.

Далее переходим слева «Administration» → «Plugins and data» → «Plugins»

Открылась страница с доступными плагинами. Вводим в поиске Zabbix.


Нажимаем на данный плагин и справа «Install».


Теперь его нужно включить «Enable».


Далее нам нужно настроить плагин. Слева ищем «Connections» → «Data sources».
Нажимаем на «+ Add new data source»

Находим zabbix

Открылись настройки соединения

Пока с настройками в графане поставим на паузу и перейдем в Zabbix. Нам нужно создать API ключ и учетную запись.
В заббиксе открываем слева панель, далее «Пользователи» → «Пользователи» → «Создать пользователя»
Создадим пользователя grafana-user с правами только на чтение. Он будет выступать в роли прокси, который будет смотреть данные и отправлять их на графану для отрисовки бубликов и прочего.

Задаем пароль и выбираем группу Guests.

Переходим на вкладку «Права доступа» и выбираем роль: User role



Теперь создадим API токен для подключения с графаны к заббиксу.

Указываем учетную запись от которой будет работать API ключ, убираем галку где «Задать дату и время срока действия».

Получаем API ключ для grafana.

Возвращаемся в графану и выбираем тип аутентификации «API token» и вставляем токен с zabbix.

Теперь правим URL в секции Connection:
В моем случае я пишу:
http://192.168.31.81/api_jsonrpc.php

Почему api_jsonrpc.php?
Потому что так сказано в документации:

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

Успешно подключились к zabbix.

Возвращаемся на созданный ранее дашборд и попробуем добавить сюда информацию с Zabbix сервера.

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

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

И видим, что никаких метрик нету, хотя они есть. Тут я забыл добавить для учетной записи grafana-user права на хосты. Давайте это поправим.

Возвращаемся в zabbix.
Открываем «Пользователи» → «Группы пользователей» → «Guests»

Далее переходим на вкладку «Права доступа к узлам сети».

Далее добавляем права доступа.

У нас хосты добавлены в группу узлов сети Linux servers, у вас они могут лежать в других и по этому накидываем необходимые группы.

Нажимаем «Обновить».


Теперь возвращаемся в графану и проверяем доступ.


Как видим, доступ теперь к группе узлов сети у нас есть и мы можем рисовать дашборды напрямую с данных из zabbix.
Давайте попробуем отрисовать дашборд из заббикса. Выбрал я машину astra-client-01 и выбрал элемент даных FS [/]: Space Total - тобишь общее количество места в разделе / (Root).

Пока тут непонятно, где тут общее количество занятого места, но для этого у нас есть правый столбец с настройками. Выберем тип визуализации другой. У нас сейчас стоит Time series, давайте поменяем его на Gauge.


Но что-то некрасиво отображается. Давайте наведем красоту. Но попутно, почему 87 гб красным? Потому что стоит условие в Thresholds, что если больше 80 значение, то красить его в красный цвет.
Приступим. Поменяем цвет на зеленый (при таком варианте, условия в 80, будут игнорироваться. Это стандартные условия).

Уберем график с данных (зеленая справа полоса под GiB на картинке выше).

Теперь добавим в Text mode параметр Value and name. То есть мы делаем отображение не только значения, но и имени. В zabbix есть имя и значение элемента. По-умолчанию отображается сразу значение, исправим это.

У нас появилась строка FS [/]: Space: Total, конечно понятно что тут, но это для нас, а должно быть понятно всем. По этому переопределим эту надпись на нашу.
Справа находим + Add field override.

Находим Fields with name и выбираем его.

После выбираем FS [/]: Space: Total

Мы выбрали поле с именем, а теперь выбираем что мы хотим с ним сделать. Теперь добавляем действие с выбранным полем, а именно выбираем действие Standart options > Display Name.
В выбранном действиии, прописываем переопределение: Место [ ВСЕГО ] ->

Вот, уже лучше. Что мы сделали? Мы выбрали поле значения 87, а именно FS [/]: Space: Total и переписали его на Место [ ВСЕГО ] ->
Теперь добавим второй запрос + Add query

По аналогии с первым, но только уже выбираем FS [/]: Space: Used. То есть там было всего места, а сейчас занято место.

Так же добавляем третий запрос, только выбираем уже FS [/]: Space: Available. Сколько места осталось в / (Root). По аналогии с первым запросом, переопределяем под два новых запроса и должно получиться, как на картинке ниже.

Финальный варианта:

Вот так у нас получилось. Мы вывели с zabbix информацию по объему корневого раздела на диске и красиво его оформили. Как вы поняли это не предел к оформлению. Можно оформить еще красивее и информативней.
Теперь вы научились делать связку Grafana + Zabbix. Увидимся в следующих частях! Удачи)