Icinga2 + Influx + Grafana

Main

Оценка: 97.05% - 22 Голосов

Общая

В данном материале будет рассмотрена установка и настройка систем InfluxDB и Grafana в Icinga2.

В материале используется ОС Debian 9.5, Icinga2 версии 2.9.1-1 и Iicngaweb2 версии 2.6.1

Содержание

Установка Influx

Установка Grafana

Настройка Icinga2 для работы с InfluxDB

Установка модуля Grafana в Icinga2

Настройка Grafana

Настройка модуля 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 login

Укажем источник данных:

В левом верхнем углу нажмём на эмблему Grafana и выберем пункт Data Sources и внесём следующее:


Name: icinga2
Type: InfluxDB
URL: http://IP-адрес сервера:8086
Access: Server (Default)
В пункте InfluxDB Details укажем логин, пароль и имя базы, указанные на этапе создания БД и пользователя в InfluxDB

3 1

Следующим шагом нам необходим настроить нашу первую панель графиков:

Готовую панель в формате json можно скачать тут

Далее нажимаем эмблему Grafana, выбираем Dashboards — Manage, нажимаем Import — Upload .json File и импортируем загруженный файл, указывая:


Name: icinga2-influxdb-host
icinga2-influxdb: Icinga2

5 1

 

Настройка модуля Grafana в Icinga2

Входим в Icinga2, Выбираем Настройки — Расширения — grafana и в открывшемся столбце нажимаем Configuration. Заполняем параметры подключения:


Узел: IP\DNS ИМЯ СЕРВЕРА GRAFANA:3000
Protocol: http (если настроено HTTPS то HTTPS)
Default Dashboard: icinga2-influxdb-host

6 1

 

После входим в любую службу и наблюдаем графики:

Icinga2 graphs

 

Решение проблемы с отображением HOSTALIVE

Так как график HOSTALIVE не является службой то система не знает какой график показать и отображает NO DATA POINTS.

Создаем график для Hostalive.

Сначала нам надо определиться какой график мы хотим отображать в данном пункте и узнать его PannelID. Простым способом узнать будет вход в Grafana, открытие наших графиков в разделе Dashboards далее кликнуть по заголовку интересующего графика и нажать View. График откроется на новой странице и в адресной строке браузера, в адресе мы увидим PannelID графика.

PannelID

Далее входим в Icinga, нажимаем  Настройки — Grafana Graphs и добавляем новый график где указываем:


Название: hostalive
Dashboard name: icinga2-influxdb-host
PanelId(s): номер нужного графика

Hostalive graph

Нажимаем добавить график и открывает наше устройство

Icinga hostalive

  • Просмотров: 18818
Комментарии   
0 #1 Сергей 08.02.2018 14:09
Замечательное описание!
Все работает как надо.
Спасибо за подобности.
Цитировать
0 #2 admin 08.02.2018 14:12
Цитирую Сергей:
Замечательное описание!

Не забудьте проголосовать за статью в голосовании, в самом начале материала)
Цитировать
0 #3 oleg 14.12.2018 18:00
почему то после всех настроек вместо странички graphana показывает заглушку apache
Цитировать
0 #4 oleg 17.12.2018 13:08
работает)) была проблема. каким то образом апач залез на 3000 порт и не давал стартануть графана серверу. проблема решилась отключением апача и последующим включением его же
Цитировать
0 #5 Рамиль 18.07.2019 16:54
Добрый день, получается, icinga пишет в 2 базы сразу одинаковые значения?
Цитировать
0 #6 admin 18.07.2019 17:10
Цитирую Рамиль:
Добрый день, получается, icinga пишет в 2 базы сразу одинаковые значения?

Добрый день. Если вы имеете ввиду MySQL и influxdb то данные производительности узлов не пишутся в MySQL.
Цитировать
0 #7 Gumar 06.03.2020 16:49
Как можно сделать что бы показывало переключение на резервный канал.
Цитировать
0 #8 admin 08.03.2020 20:47
Цитирую Gumar:
Как можно сделать что бы показывало переключение на резервный канал.

Все зависит от того, какое оборудование вы используете.
Цитировать
0 #9 Oleg 31.03.2021 09:34
На последних версиях Icinga2Web и Grafana необходимо компилировать плагин grafana-image-renderer. Иначе графиков вы не увидите.
Цитировать
0 #10 admin 01.04.2021 15:34
Цитирую Oleg:
На последних версиях Icinga2Web и Grafana необходимо компилировать плагин grafana-image-renderer. Иначе графиков вы не увидите.

Да, начиная с Grafana 7.0 требуется. И об этом писалось тут https://itcrowd.top/grafana-v7-icingaweb2
Статья писалась значительно раньше, но замечание справедливо и пункт будет добавлен.
Цитировать
Добавить комментарий