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. Готово.