Icinga2 + Influx + Grafana
Общая
В данном материале будет рассмотрена установка и настройка систем InfluxDB и Grafana в Icinga2.
В материале используется ОС Debian 9.5, Icinga2 версии 2.9.1-1 и Iicngaweb2 версии 2.6.1
Содержание
Настройка Icinga2 для работы с InfluxDB
Установка модуля Grafana в Icinga2
Настройка модуля Grafana в Icinga2
Решение проблемы с отображением HOSTALIVE
Установим утилиты, используемые в материале
apt install git curl
Установка Influx
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.6.3_amd64.deb
dpkg -i influxdb_1.6.3_amd64.deb
Создаем автозапускаемую службу и запускаем ее:
systemctl enable influxdb.service
systemctl start influxdb.service
Создаем для Icinga2 базу и пользователя в InfluxDB
influx
create database icinga2influx
create user icinga2influx with password 'ПАРОЛЬ'
grant all on icinga2influx to icinga2influx
exit
Установка Grafana
curl -s https://packagecloud.io/install/repositories/grafana/stable/script.deb.sh | bash
apt install grafana
Создаем автозапускаемую службу и запускаем ее:
systemctl daemon-reload
systemctl enable grafana-server
systemctl start grafana-server
Настройка Icinga2 для работы с InfluxDB
icinga2 feature enable influxdb
Укажем параметры подключения к БД:
Для этого отредактируем файл influxdb.conf
:
nano /etc/icinga2/features-enabled/influxdb.conf
Очистим его содержимое и внесём следующее:
В конфигурации укажем логин и пароль, указанные на этапе создания БД и пользователя в InfluxDB
library "perfdata"
object InfluxdbWriter "influxdb" {
host = "127.0.0.1"
port = 8086
database = "icinga2influx"
username = "icinga2influx"
password = "ПАРОЛЬ"
host_template = {
measurement = "$host.check_command$"
tags = {
hostname = "$host.name$"
}
}
service_template = {
measurement = "$service.check_command$"
tags = {
hostname = "$host.name$"
service = "$service.name$"
}
}
enable_send_thresholds = true
enable_send_metadata = true
}
Установим модуль отображения графиков в Icinga2
cd /usr/share/icingaweb2/modules
git clone https://github.com/Mikesch-mp/icingaweb2-module-grafana.git grafana
icingacli module enable grafana
service icinga2 restart
Настройка Grafana
Разрешим анонимный доступ к серверу Grafana:
Откроем файл defaults.ini
:
nano /usr/share/grafana/conf/defaults.ini
Найдём и исправим строку enable anonymous access
:
# enable anonymous access
enabled = true
Перезапустим сервер Grafana:
service grafana-server restart
Переходим к настройке сервера Grafana
Обратимся на сервер Grafana по адресу http://IP-адрес сервера:3000
и увидим страницу входа в систему:
Логин и пароль по умолчанию admin
Укажем источник данных:
В левом верхнем углу нажмём на эмблему Grafana и выберем пункт Data Sources и внесём следующее:
Name: icinga2
Type: InfluxDB
URL: http://IP-адрес сервера:8086
Access: Server (Default)
В пункте InfluxDB Details укажем логин, пароль и имя базы, указанные на этапе создания БД и пользователя в InfluxDB
Следующим шагом нам необходим настроить нашу первую панель графиков:
Готовую панель в формате json
можно скачать тут
Далее нажимаем эмблему Grafana, выбираем Dashboards
— Manage, нажимаем
и импортируем загруженный файл, указывая: Import
— Upload .json File
Name: icinga2-influxdb-host
icinga2-influxdb: Icinga2
Настройка модуля Grafana в Icinga2
Входим в Icinga2, Выбираем Настройки — Расширения — grafana
и в открывшемся столбце нажимаем Configuration
. Заполняем параметры подключения:
Узел: IP\DNS ИМЯ СЕРВЕРА GRAFANA:3000
Protocol: http (если настроено HTTPS то HTTPS)
Default Dashboard: icinga2-influxdb-host
После входим в любую службу и наблюдаем графики:
Решение проблемы с отображением HOSTALIVE
Так как график HOSTALIVE не является службой то система не знает какой график показать и отображает NO DATA POINTS.
Создаем график для Hostalive.
Сначала нам надо определиться какой график мы хотим отображать в данном пункте и узнать его PannelID
. Простым способом узнать будет вход в Grafana, открытие наших графиков в разделе Dashboards далее кликнуть по заголовку интересующего графика и нажать View. График откроется на новой странице и в адресной строке браузера, в адресе мы увидим PannelID графика.
Далее входим в Icinga, нажимаем Настройки
— Grafana Graphs
и добавляем новый график где указываем:
Название: hostalive
Dashboard name: icinga2-influxdb-host
PanelId(s): номер нужного графика
Нажимаем добавить график и открывает наше устройство
- Просмотров: 18818
Все работает как надо.
Спасибо за подобности.
Не забудьте проголосовать за статью в голосовании, в самом начале материала)
Добрый день. Если вы имеете ввиду MySQL и influxdb то данные производительности узлов не пишутся в MySQL.
Все зависит от того, какое оборудование вы используете.
Да, начиная с Grafana 7.0 требуется. И об этом писалось тут https://itcrowd.top/grafana-v7-icingaweb2
Статья писалась значительно раньше, но замечание справедливо и пункт будет добавлен.
RSS лента комментариев этой записи