Главная

Monday, 1 June 2020

Grafana и Zabbix.

Всем привет.

Сегодня расскажу вам про Grafana - веб-инструмента для представления данных, связанных со временем, в виде очень красивых графиков и диаграмм. Grafana упоминается чуть ли не с каждой системой мониторинга. В качестве источника данных для Grafana можно использовать как множество различных сложных движков баз данных, включая Graphite, ElasticSearch, InfluxDB, Prometeus, так и более простых, например MySQL. 

Исходя из моего полигона где был развернут Zabbix Appliance, то я расскажу как установить Grafana в Centos 8, а также как настроить её для работы с Zabbix.

Основное назначение Grafana при подключении к Zabbix – строить красивые графики, и при необходимости быстро создавать, компоновать, и масштабировать различные тренды и значения на одном графике, а так же собирать информативные Dashboard из этих графиков.

Итак начнем. Качаем пакет Grafana и устанавливаем его:
wget https://dl.grafana.com/oss/release/grafana-7.0.1-1.x86_64.rpm
sudo yum install grafana-7.0.1-1.x86_64.rpm

Grafana может взаимодействовать с большим количеством различных систем и СУБД через соотвествующие плагины. Чтобы посмотреть, какие плагины существуют для Grafana, надо выполнить команду:
#grafana-cli plugins list-remote

Нам повезло, для Zabbix существует плагин, созданный Александром Зобниным. Ставим и его:
#grafana-cli plugins install alexanderzobnin-zabbix-app

Добавим сервис(сервер) Grafana в автозагрузку:
#sudo systemctl enable grafana-server

И после этого перезапустим сервис Grafana:
#service grafana-server restart



Проверим его статус:
#sudo systemctl status grafana-server
Нас интересует строка вида:
Active: active (running)...

Чтобы войти в сам интерфейс Grafana, нужно ввести в адресной стройке адрес http://zabbix-server-IP:3000. Если программа установлена на другой компьютер или сервер, то нужно ввести именно его IP-адрес. При первом входе система спросит ваш логин и пароль. По умолчанию это admin/admin.

Вход может и не состоятся. Тогда надо в фаерволле Centos разрешить обмен по порту 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

Если хотите то можете перекинуть весь трафик на более знакомый порт 8080:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 3000

Если же вам правила фаерволла не важны то можете обнулить их командой:
iptables -F

Надеюсь у вас получилось. Вы вошли в Grafana и теперь вам нужно настроить источник данных, с которого Grafana будет извлекать сами данные. Grafana взаимодействует с Zabbix через Zabbix API. Разумеетя Zabbix имеет свой API – набор готовых процедур и функций, предоставляемых приложением для использования во внешних программных продуктах. Обратите внимание, Grafana не подключается напрямую к MySQL, потому что Zabbix индексирует свои данные определенным образом, а нам нужно, чтобы Grafana видела эти данные именно с точки зрения Zabbix. 


Для этого у нас есть плагин Зобнина. Включаем его в работу:
Configuration/Plugins/Zabbix/Config/Enable

Подключаем плагин к данным Zabbix:
Configuration/Data Sources/Zabbix/Settings

Поле URL заполняется следующим образом:
http://127.0.0.1/api_jsonrpc.php

Ранее эта строка выглядела как http://127.0.0.1/zabbix/api_jsonrpc.php

Также нужно заполнить поля Username и Password. Речь идет об учётных данных Zabbix–администратора, которые Вы используете для входа в Zabbix фронтенд. Обратите внимание на эту учетку если вы вдруг решите поменять ей пароль в самом Zabbix. При сохранении настроек источника данных "Save & Test", в случае успешного подключения Grafana к Zabbix API, будет выведено сообщение "Zabbix API Version: 4.x.x" в зеленом поле. Или ошибка на красном где будет указано что ему не так.


На этом все.

6 comments:

  1. Строка http://127.0.0.1/zabbix/api_jsonrpc.php подходит для версии АРІ 4.4.6

    ReplyDelete
  2. Cохранить правила для grafana:
    iptables-save > /etc/iptables.rules
    iptables-save | sudo tee /etc/sysconfig/iptables

    ReplyDelete
  3. Первый экран можно указать здесь: Admin/Preferences/Home Dashboard
    или /etc/grafana/grafana.ini

    ReplyDelete
  4. Для того выставить панель в качестве "по умолчанию" ее надо
    поместить в список популярных, т.е.
    "Dashboard mark as favorite"
    Например в самой панельке отметить звездочку справа от ее имени.

    Тогда ее можно будет выбрать
    в Admin/Preferences/Preferences/Home Dashboard

    ReplyDelete
  5. grafana.ini
    [plugins]
    allow_loading_unsigned_plugins = alexanderzobnin-zabbix-datasource

    ReplyDelete
  6. sudo -s
    # iptables-save > /etc/iptables/rules.v4

    ReplyDelete

А что вы думаете по этому поводу?