Установка и настройка сервера Grafana

Thank you for reading this post, don't forget to subscribe!

Grafana - веб-интер­фейс для рабо­ты с гра­фи­ка­ми. Поз­во­ля­ет визу­а­ли­зи­ро­вать дан­ные с систем мони­то­рин­га и мет­рик. Раз­ра­бо­тан швед­ским про­грам­ми­стом Тор­ке­лем Одегардом.

Для постро­е­ния гра­фи­ков Grafana может брать дан­ные с таких систем, как Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB. Для неко­то­рых систем уже суще­ству­ют пла­ги­ны для объ­еди­не­ния с гра­фа­ной, напри­мер, для Zabbix.

Воз­мож­но­сти:

  • Мас­шта­би­ро­ва­ние графиков
  • Сор­ти­ров­ка зна­че­ний таблиц
  • Сме­на вида графиков
  • Выде­ле­ния, подсвечивания
  • Несколь­ко гра­фи­ков в одном дашборде

Установка

Созда­ем файл кон­фи­гу­ра­ции репо­зи­то­рия для графаны:

vi /etc/yum.repos.d/grafana.repo

[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

Теперь мож­но устанавливать:

yum install grafana

… и отве­ча­ем Y на все запросы.

Настройка брандмауэра

По умол­ча­нию, Grafana рабо­та­ет на пор­ту 3000. Для воз­мож­но­сти под­клю­чить­ся к сер­ве­ру откры­ва­ем дан­ный порт в фаерволе:

firewall-cmd --permanent --add-port=3000/tcp
firewall-cmd --reload

iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
netfilter-persistent save

Запуск сервиса

Раз­ре­ша­ем автозапуск:

systemctl enable grafana-server

Запус­ка­ем:

systemctl start grafana-server

 

Откры­ва­ем и настра­и­ва­ем портал

Проверяем работу портала

После уста­нов­ки гра­фа­ны откры­ва­ем бра­у­зер и пере­хо­дим по адре­су http://<IP-адрес сервера>:3000.

Для авто­ри­за­ции исполь­зу­ем логин и пароль: admin / admin.
Систе­ма может потре­бо­вать задать новый пароль — вво­дим его дважды.

Добавляем плагин для работы с Zabbix

Уста­нов­ка пла­ги­на для под­клю­че­ния к Zabbix выпол­ня­ет­ся командой:

grafana-cli plugins install alexanderzobnin-zabbix-app

После окон­ча­ния уста­нов­ки мы долж­ны увидеть:

Installed alexanderzobnin-zabbix-app successfully

Пере­за­гру­жа­ем сер­вер графаны:

systemctl restart grafana-server

Пере­хо­дим к веб-интер­фей­су и откры­ва­ем управ­ле­ние пла­ги­на­ми: Configuration - Plugins:

В открыв­шем­ся спис­ке нахо­дим Zabbix и пере­хо­дим к нему:

Акти­ви­ру­ем его, клик­нув по Enable:

Добавляем источник данных

Пере­хо­дим в раз­дел Configuration - Data Sources:

Кли­ка­ем по Add data source:

Выби­ра­ем Zabbix в каче­стве источ­ни­ка данных:

На открыв­шей­ся стра­ни­це в раз­де­ле «HTTP», поле URL вво­дим http://<путь до zabbix>/api_jsonrpc.php, например:

Ниже, в раз­де­ле «Zabbix API details», вво­дим логин и пароль для учет­ной запи­си с пра­ва­ми выпол­не­ния запро­сов API, а так­же выби­ра­ем вер­сию наше­го сер­ве­ра Zabbix:

* по умол­ча­нию, в Zabbix созда­ет­ся учет­ная запись с пра­ва­ми адми­ни­стра­то­ра Admin с паро­лем zabbix. Одна­ко, эту запись луч­ше исполь­зо­вать для про­вер­ки, а для целей инте­гра­ции луч­ше создать ново­го пользователя.

Нажи­ма­ем на Save & Test. Гото­во.

Создаем график на основе метрики в Zabbix

Пере­хо­дим в раз­дел Create - Dashboard:

Выби­ра­ем Add Query:

Запол­ня­ем поля для полу­че­ния дан­ных с Zabbix:

* где:

  • Query — источ­ник дан­ных. Выби­ра­ем Zabbix.
  • Query Mode — тип дан­ных. Остав­ля­ем Metrics.
  • Group — груп­па сер­ве­ров в Zabbix. Выби­ра­ем нуж­ную нам группу.
  • Host — имя сер­ве­ра, для кото­ро­го будем вытас­ки­вать данные.
  • Application — дан­ные для како­го ком­по­нен­та будем соби­рать. В дан­ном при­ме­ре, процессора.
  • Item — какой имен­но тип инфор­ма­ции нас инте­ре­су­ет. На скрин­шо­те выше выбра­но вре­мя про­стоя процессора.

При жела­нии, мож­но настро­ить гра­фи­ки в раз­де­ле Visualization:

После сохра­ня­ем данные:

В открыв­шем­ся всплы­ва­ю­щем окне зада­ем имя даш­бор­ду и нажи­ма­ем Save. Гото­во.