Сегодня расскажу вам про 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" в зеленом поле. Или ошибка на красном где будет указано что ему не так.
На этом все.
Строка http://127.0.0.1/zabbix/api_jsonrpc.php подходит для версии АРІ 4.4.6
ReplyDeleteCохранить правила для grafana:
ReplyDeleteiptables-save > /etc/iptables.rules
iptables-save | sudo tee /etc/sysconfig/iptables
Первый экран можно указать здесь: Admin/Preferences/Home Dashboard
ReplyDeleteили /etc/grafana/grafana.ini
Для того выставить панель в качестве "по умолчанию" ее надо
ReplyDeleteпоместить в список популярных, т.е.
"Dashboard mark as favorite"
Например в самой панельке отметить звездочку справа от ее имени.
Тогда ее можно будет выбрать
в Admin/Preferences/Preferences/Home Dashboard
grafana.ini
ReplyDelete[plugins]
allow_loading_unsigned_plugins = alexanderzobnin-zabbix-datasource
sudo -s
ReplyDelete# iptables-save > /etc/iptables/rules.v4