Устанавливаем и подключаем grafana к zabbix

Print Friendly, PDF & Email

Задача:

Установить grafana на операционной системе centos и настроить подключение к zabbix

---------------------------------------------------------------

Grafana – практически самая популярная панелей (Dashboard) для отображения метрик. Также графану можно подключить к забиксу и получать с него необходимые нам метрики и выводить в удобном для нас виде.

Система CentOS, которая была развернута вместе с zabbix при помощи готового решения. Проверяем версию ядра и операционную систему:

[root@appliance ~]# uname -a
Linux appliance 4.18.0-240.1.1.el8_3.x86_64 #1 SMP Thu Nov 19 17:20:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@appliance ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011
[root@appliance ~]#

На официальном сайте графаны, можно найти ссылки на пакеты установки grafana. Скачиваем:

[root@appliance zabbix]# wget https://dl.grafana.com/oss/release/grafana-7.5.2-1.x86_64.rpm
--2021-04-03 23:32:00--  https://dl.grafana.com/oss/release/grafana-7.5.2-1.x86_64.rpm
Resolving dl.grafana.com (dl.grafana.com)... 151.101.114.217, 2a04:4e42:1b::729
Connecting to dl.grafana.com (dl.grafana.com)|151.101.114.217|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 51902154 (49M) [application/x-redhat-package-manager]
Saving to: ‘grafana-7.5.2-1.x86_64.rpm’

grafana-7.5.2-1.x86_64.rpm                           100%[====================================================================================================================>]  49.50M  7.52MB/s    in 7.4s

2021-04-03 23:32:08 (6.66 MB/s) - ‘grafana-7.5.2-1.x86_64.rpm’ saved [51902154/51902154]

[root@appliance zabbix]#

Устанавливаем

[root@appliance zabbix]# sudo yum install grafana-7.5.2-1.x86_64.rpm
Last metadata expiration check: 2:05:17 ago on Sat 03 Apr 2021 09:32:33 PM UTC.
Dependencies resolved.
==================================================================================================================================================================================================================
 Package                                                              Architecture                           Version                                           Repository                                    Size
==================================================================================================================================================================================================================
Installing:
 grafana                                                              x86_64                                 7.5.2-1                                           @commandline                                  49 M
Installing dependencies:
 libICE                                                               x86_64                                 1.0.9-15.el8                                      appstream                                     74 k
 libSM                                                                x86_64                                 1.2.3-1.el8                                       appstream                                     48 k
 libXcursor                                                           x86_64                                 1.1.15-3.el8                                      appstream                                     36 k
 libXext                                                              x86_64                                 1.3.4-1.el8                                       appstream                                     45 k
 libXfixes                                                            x86_64                                 5.0.3-7.el8                                       appstream                                     25 k
 libXi                                                                x86_64                                 1.7.10-1.el8                                      appstream                                     49 k
 libXinerama                                                          x86_64                                 1.1.4-1.el8                                       appstream                                     16 k
 libXmu                                                               x86_64                                 1.1.3-1.el8                                       appstream                                     75 k
 libXrandr                                                            x86_64                                 1.5.2-1.el8                                       appstream                                     34 k
 libXrender                                                           x86_64                                 0.9.10-7.el8                                      appstream                                     33 k
 libXt                                                                x86_64                                 1.1.5-12.el8                                      appstream                                    186 k
 libXxf86misc                                                         x86_64                                 1.0.4-1.el8                                       appstream                                     23 k
 libXxf86vm                                                           x86_64                                 1.1.4-9.el8                                       appstream                                     19 k
 libfontenc                                                           x86_64                                 1.1.3-8.el8                                       appstream                                     37 k
 libmcpp                                                              x86_64                                 2.7.2-20.el8                                      appstream                                     81 k
 libpkgconf                                                           x86_64                                 1.4.2-1.el8                                       baseos                                        35 k
 mcpp                                                                 x86_64                                 2.7.2-20.el8                                      appstream                                     31 k
 pkgconf                                                              x86_64                                 1.4.2-1.el8                                       baseos                                        38 k
 pkgconf-m4                                                           noarch                                 1.4.2-1.el8                                       baseos                                        17 k
 pkgconf-pkg-config                                                   x86_64                                 1.4.2-1.el8                                       baseos                                        15 k
 urw-base35-bookman-fonts                                             noarch                                 20170801-10.el8                                   appstream                                    857 k
 urw-base35-c059-fonts                                                noarch                                 20170801-10.el8                                   appstream                                    884 k
 urw-base35-d050000l-fonts                                            noarch                                 20170801-10.el8                                   appstream                                     79 k
 urw-base35-fonts                                                     noarch                                 20170801-10.el8                                   appstream                                     12 k
 urw-base35-fonts-common                                              noarch                                 20170801-10.el8                                   appstream                                     23 k
 urw-base35-gothic-fonts                                              noarch                                 20170801-10.el8                                   appstream                                    654 k
 urw-base35-nimbus-mono-ps-fonts                                      noarch                                 20170801-10.el8                                   appstream                                    801 k
 urw-base35-nimbus-roman-fonts                                        noarch                                 20170801-10.el8                                   appstream                                    865 k
 urw-base35-nimbus-sans-fonts                                         noarch                                 20170801-10.el8                                   appstream                                    1.3 M
 urw-base35-p052-fonts                                                noarch                                 20170801-10.el8                                   appstream                                    982 k
 urw-base35-standard-symbols-ps-fonts                                 noarch                                 20170801-10.el8                                   appstream                                     44 k
 urw-base35-z003-fonts                                                noarch                                 20170801-10.el8                                   appstream                                    279 k
 xorg-x11-font-utils                                                  x86_64                                 1:7.5-40.el8                                      appstream                                    103 k
 xorg-x11-server-utils                                                x86_64                                 7.7-27.el8                                        appstream                                    198 k

Transaction Summary
==================================================================================================================================================================================================================
Install  35 Packages

Total size: 57 M
Total download size: 7.8 M
Installed size: 183 M
Is this ok [y/N]:

Запускаем сервер Графаны и добавляем его автозагрузку

[root@appliance zabbix]# systemctl start grafana-server
[root@appliance zabbix]# systemctl enable grafana-server
Synchronizing state of grafana-server.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.
[root@appliance zabbix]#

При помощи grafana-cli устанавливаем плагин который позволит соединить Zabbix и Grafana

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

✔ Installed alexanderzobnin-zabbix-app successfully

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

[root@appliance zabbix]#

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

[root@appliance zabbix]# service grafana-server restart
Restarting grafana-server (via systemctl):                 [  OK  ]
[root@appliance zabbix]#

проверим, что перезапуск прошел успешно.

[root@appliance ~]# 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 Sat 2021-04-03 23:40:56 UTC; 1 day 17h ago
     Docs: http://docs.grafana.org
 Main PID: 10580 (grafana-server)
    Tasks: 22 (limit: 24923)
   Memory: 56.6M
   CGroup: /system.slice/grafana-server.service
           ├─10580 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=rpm cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafan>
           └─10591 /var/lib/grafana/plugins/alexanderzobnin-zabbix-app/zabbix-plugin_linux_amd64

Apr 03 23:51:24 appliance grafana-server[10580]: t=2021-04-03T23:51:24+0000 lvl=eror msg="Zabbix API request error" logger=plugins.backend pluginId=alexanderzobnin-zabbix-datasource error="Post \"\": unsupported protoc>
Apr 03 23:51:24 appliance grafana-server[10580]: t=2021-04-03T23:51:24+0000 lvl=eror msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=POST path=/api/datasources/1/resources/zabbix-api status=5>
Apr 03 23:52:20 appliance grafana-server[10580]: t=2021-04-03T23:52:20+0000 lvl=eror msg="Zabbix API request error" logger=plugins.backend pluginId=alexanderzobnin-zabbix-datasource error="request failed, status: 404 N>
Apr 03 23:52:20 appliance grafana-server[10580]: t=2021-04-03T23:52:20+0000 lvl=eror msg="Zabbix API request error" logger=plugins.backend pluginId=alexanderzobnin-zabbix-datasource error="request failed, status: 404 N>
Apr 03 23:52:20 appliance grafana-server[10580]: t=2021-04-03T23:52:20+0000 lvl=eror msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=POST path=/api/datasources/1/resources/zabbix-api status=5>
Apr 03 23:52:20 appliance grafana-server[10580]: t=2021-04-03T23:52:20+0000 lvl=eror msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=POST path=/api/datasources/1/resources/zabbix-api status=5>
Apr 04 21:15:36 appliance grafana-server[10580]: t=2021-04-04T21:15:36+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=POST path=/api/dashboards/db/ status=412 remote_addr=192.1>
Apr 04 21:48:56 appliance grafana-server[10580]: t=2021-04-04T21:48:56+0000 lvl=eror msg="Zabbix API request error" logger=plugins.backend pluginId=alexanderzobnin-zabbix-datasource error="Post \"127.0.0.1/api_jsonrpc.>
Apr 04 21:48:56 appliance grafana-server[10580]: t=2021-04-04T21:48:56+0000 lvl=eror msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=POST path=/api/datasources/1/resources/zabbix-api status=5>
Apr 04 21:48:56 appliance grafana-server[10580]: t=2021-04-04T21:48:56+0000 lvl=eror msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=POST path=/api/datasources/1/resources/zabbix-api status=5>
lines 1-21/21 (END)

Возможно понадобится открыть порт TCP 3000. У меня в готовом решении от забикса пришлось открывать порт.

iptables -I INPUT -p tcp --dport 3000 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I OUTPUT -p tcp --sport 3000 -m state --state ESTABLISHED -j ACCEPT

Изменив правила файрвола, сохраняем их

[root@appliance zabbix]# iptables-save
# Generated by iptables-save v1.8.4 on Sun Apr 11 22:08:45 2021
*raw
:PREROUTING ACCEPT [1722613:1817051417]
:OUTPUT ACCEPT [1161542:383111164]
-A PREROUTING -p udp -m udp --sport 53 -j NOTRACK
-A OUTPUT -p udp -m udp --dport 53 -j NOTRACK
COMMIT
# Completed on Sun Apr 11 22:08:45 2021
# Generated by iptables-save v1.8.4 on Sun Apr 11 22:08:45 2021
*filter
:INPUT ACCEPT [23710:7624018]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1159880:382912093]
:ICMP - [0:0]
:NTP - [0:0]
:SSH - [0:0]
:ZBX - [0:0]
:WEB - [0:0]
:SNMPTRAP - [0:0]
:SQL - [0:0]
-A INPUT -p tcp -m tcp --dport 3000 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 8.8.8.8/32 -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -s 8.8.4.4/32 -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p icmp -j ICMP
-A INPUT -p udp -m udp --dport 123 -j NTP
-A INPUT -p tcp -m tcp --dport 20:22 -j SSH
-A INPUT -p tcp -m multiport --dports 10050,10051 -j ZBX
-A INPUT -p tcp -m multiport --dports 80,443 -j WEB
-A INPUT -p udp -m udp --dport 162 -j SNMPTRAP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 3000 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A ICMP -p icmp -m limit --limit 5/sec -j ACCEPT
-A SSH -p tcp -m tcp --dport 22 -j ACCEPT
-A ZBX -p tcp -m tcp --dport 10050 -j ACCEPT
-A ZBX -p tcp -m tcp --dport 10051 -j ACCEPT
-A WEB -p tcp -m multiport --dports 80,443 -j ACCEPT
-A WEB -p udp -m udp --dport 162 -j ACCEPT
COMMIT
# Completed on Sun Apr 11 22:08:45 2021
[root@appliance zabbix]#

Авторизуемся в Grafana

http://zabbix_ip_address:3000

По умолчанию логин и пароль Grafana admin-admin. Сразу же будет предложено изменить пароль.

в боковом меню перейдем в configuraion->plugins, найдем в списке плагинов Zabbix и откроем.

Для включения плагина нажмем кнопку Enable.

Если запуск прошел успешно, то кнопка Enable заменится кнопками Update и Disable.

Далее перейдем в меню “Configuration->Data Source” и подключаем Zabbix Сервер как новый ресурс. Нажимаем кнопку “Add data source”. и в самом низу и нажимаем на плагин Zabbix.

Далее на открывшейся вкладке указываем URL Zabbix сервера, имя пользователя и пароля для авторизации в Zabbix.

Конечно в идеале необходимо добавить в забиксе нового пользователя с правами только на чтение метрик. В рамках тестирования я буду использовать пользователя по умолчанию.

Нажмем кнопку “Save & Test” и если мы все указали верно, то появится сообщение о том, что источник данных успешно подключен.

На этом интеграция сервисов Zabbix сервер и Grafana завершена

Помогла статья? Есть возможность отблагодарить автора

QR Link:

QR Code

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

Добавить комментарий

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