User Tools

Site Tools


topic:zbx_grafana

Grafana + Zabbix data source plugin

Нативные средства zabbix для отображения графиков и построения комплексных экранов лично мне не очень нравятся, т.к.:

  • Нельзя очевидными способом (например как в Cacti) посмотреть номер того или иного графика, что бы его быстро вставить в свой собственный комплексный экран. Сначала надо найти этот график в самом zabbix и потом искать номер в адресе этого графика.
  • Не удобный механизм работы со Screen, когда на скрине порядка 20-30 графиков это все начинает тормозить и что бы добавить новый график на скрин надо много проматывать, кликать и ждать.
  • Нельзя вывести пачку однотивных графиков, например бродкаст трафик всех портов нескольких коммутаторов.

Работать с графиками и комплексными экранами будем в Grafana
Для связи с zabbix для grafana написан специальный плагин.
В настоящий момент разработкой плагина занимается Александр Зобнин который работает в Grafana Lab, скорее всего плангин будет долго и счастливо жить.

Установка Grafana

У нас есть 64битный Centos7 на котором стоит Zabbix 3.2.7, grafana будем ставить на этот сервер.

Подключаем репозиторий Grafana в файл “/etc/yum.repos.d/grafana.repo” пишем:

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

Ставим Grafana.

# yum install grafana

Процесс установки.

[root@leela ~]# yum install grafana
Loaded plugins: fastestmirror
...
Dependencies Resolved

====================================================================================================
 Package                       Arch             Version                     Repository         Size
====================================================================================================
Installing:
 grafana                       x86_64           4.4.1-1                     grafana            45 M
Installing for dependencies:
 fontconfig                    x86_64           2.10.95-10.el7              base              229 k
 libXfont                      x86_64           1.5.1-2.el7                 base              150 k
 libfontenc                    x86_64           1.1.2-3.el7                 base               30 k
 urw-fonts                     noarch           2.4-16.el7                  base              3.0 M
 xorg-x11-font-utils           x86_64           1:7.5-20.el7                base               87 k

Transaction Summary
====================================================================================================
Install  1 Package (+5 Dependent packages)

Total download size: 49 M
Installed size: 139 M
...
Installing : grafana-4.4.1-1.x86_64                                                             6/6 
### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd
 sudo /bin/systemctl daemon-reload
 sudo /bin/systemctl enable grafana-server.service
### You can start grafana-server by executing
 sudo /bin/systemctl start grafana-server.service
...

Запускаем Grafana.

# systemctl daemon-reload
# systemctl start grafana-server

Проверяем, что Grafana запустилась.

[root@leela ~]# systemctl status grafana-server
● grafana-server.service - Grafana instance
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Сб 2017-07-22 13:34:55 MSK; 30s ago
     Docs: http://docs.grafana.org
 Main PID: 813 (grafana-server)
   CGroup: /system.slice/grafana-server.service
           └─813 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile= cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.pat...

Включаем автозагрузку.

[root@leela ~]# systemctl enable grafana-server
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.

Установка плагина Grafana-Zabbix

Плагин ставим из grafana-cli командой:

# grafana-cli plugins install alexanderzobnin-zabbix-app

Процесс установки.

[root@leela ~]# grafana-cli plugins install alexanderzobnin-zabbix-app
installing alexanderzobnin-zabbix-app @ 3.5.1
from url: https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/3.5.1/download
into: /var/lib/grafana/plugins

✔ Installed alexanderzobnin-zabbix-app successfully 

Restart grafana after installing plugins . <service grafana-server restart>

Перезапускаем Grafana.

# systemctl restart grafana-server

Настройка плагина Grafana-Zabbix

Заходим в web интерфейс по адресу “http://server-with-gragana-ip:3000”.
Включаем только что установленный плагин - кликаем на ссылку “Enable now” и в открывщемся окне жмем на кнопку “Enable”.

Добавляем новый источник данных, жмем на кнопку “Add data source” и вбиваем настройки. Настройки:

  • Name - задаем имя источника и говорим, что это источник по умолчанию.
  • Type - в выпадающем меню выбираем тип Zabbix.
  • Url - адрес для доступ к zabbix api.
    https://127.0.0.1/zabbix/api_jsonrpc.php
    В моем случаем zabbix и grafana работают на одном сервере и доступ открыть по https.
  • Access - выбираем тип запросов к zabbix api, ставим Proxy.
    • Direct - запрос выполняется напрямую из браузера с которого конфигурим и просматриваем графикии.
    • Proxy - запрос выполнчется от имени сервера Grafana.
  • Http Auth - настройки дополнительной аутентификации, не использую.
  • Username/Password - используем отдельного пользователя которому в Zabbix, для определенной группы хостов, выставлены права только на чтение.
  • Trends - включаем поддержку трендов, полезно при запросе данных за болльшое количество дней.
    Значения After, Range и Cache оставляем дефолтными.

Заведем в Zabbix нового пользователя “grafana”.
Идем в AdministrationUsers и нажимаем “Create user”.
Во вкладке “User” в поле “Alias” вбиваем “grafana” и указываем пароль в соответствующих полях, остальное можно оставить по дефолту.
Во вкладке “Permissions” в выпадающем меню выбираем “Zabbix User” и жмем кнопку “Add”.

Заведем в Zabbix новую группу пользователей “Grafana_group” и дадим права на чтение только для определенных групп хостов. Идем в AdministrationUser groups и нажимаем “Create user group”.
Во вкладке “User group” в поле “Group name” вбиваем “Grafana_group” и в полях “Users”, “In group” указываем ранее созданного пользователя “grafana”. Во вкладке “Permissions” жмем кномпу “Select” и выбираем группу хостов к которым мы хотим дать доступ только на чтение серверу Grafana.
После выбора групп жмем ссылку “Add” и кнопку “Add”.

После добавления в zabbix группы и пользователя, grafana по API сможет обращаться к данным.
Проверить работоспособность можно открыв дашборд “Zabbix Server Dashboard” который поставляется вместе с плагином. Если в настройках самого zabbix не меняли имя zabbix сервера, и оно осталось “Zabbix server”, то дашборд сразу будет работать.

Полезные ссылки

topic/zbx_grafana.txt · Last modified: 2021/08/12 08:35 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki