Table of Contents

Grafana + Zabbix data source plugin

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

Работать с графиками и комплексными экранами будем в 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” и вбиваем настройки. Настройки:

Заведем в 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”, то дашборд сразу будет работать.

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