Выбирая систему мониторинга для домашней сети на замену давно и успешно работающему потоку NodeRED, сперва решил попробовать Icinga 2, т.к. на скриншотах оно выглядело, как то, что нужно…
Но реальность в этот раз оказалась ко мне жестока! – мало того, что провозился с ней трое суток, так еще это и оказалось решением, которое «из коробки» не работает от слова совсем! Выругавшись, подружился с LibreNMS.
Эта статья, как дань уважению потраченному мной времени – путевые заметки, которые предоставляются частично, как сформированный текст, и частично, в совершенно сыром виде. Возможно, это кому-то чем-то сможет помочь.
Вот таким многообещающим сообщением нас встречает установка icinga2…
nikolay@servos:~ $ sudo apt install icinga2 Чтение списков пакетов… Готово Построение дерева зависимостей… Готово Чтение информации о состоянии… Готово Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите, неосуществимо, или же вы используете нестабильную версию дистрибутива, где запрошенные вами пакеты ещё не созданы или были удалены из Incoming. Следующая информация, возможно, вам поможет: Следующие пакеты имеют неудовлетворённые зависимости: icinga2 : Зависит: icinga2-bin (= 2.12.3-1) но он не будет установлен Зависит: icinga2-common (= 2.12.3-1) но 2.13.7-1+raspbian11 должен быть установлен Рекомендует: icinga2-doc (= 2.12.3-1) но он не будет установлен Рекомендует: monitoring-plugins-basic но он не будет установлен или nagios-plugins-basic Рекомендует: libreadline7 но он не может быть установлен E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
В процессе борьбы выяснилось1), что Icinga 2.13.7 не скомпилирована под arm64 и в полноценном виде она на сегодня существует только, как armhf! Но по официальной документации, это совершенно не очевидно, увы.
sudo -s
apt update && apt -y install apt-transport-https wget gnupg
wget -O - https://packages.icinga.com/icinga.key | gpg --dearmor -o /usr/share/keyrings/icinga-archive-keyring.gpg
DIST=$(awk -F"[)(]+" '/VERSION=/ {print $2}' /etc/os-release); \ echo "deb [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] https://packages.icinga.com/raspbian icinga-${DIST} main" > /etc/apt/sources.list.d/icinga.list echo "deb-src [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] https://packages.icinga.com/raspbian icinga-${DIST} main" >> /etc/apt/sources.list.d/icinga.list
apt update
mkdir -p /opt/build /opt/debs && cd /opt/build/
apt build-dep icinga2 icingaweb2 icinga-php-common icinga-php-library icinga-php-thirdparty icinga-l10n -y
apt source icinga2 icingaweb2 icinga-php-common icinga-php-library icinga-php-thirdparty icinga-l10n
nano build_icinga.sh
и вставляем в него
#!/bin/bash ICINGADIR=$(find /opt/build -maxdepth 1 -type d | grep icinga2-2) ICINGAWEBDIR=$(find /opt/build -maxdepth 1 -type d | grep icingaweb2-2) ICINGAPHPCOMMONDIR=$(find /opt/build -maxdepth 1 -type d | grep icinga-php-common) ICINGAPHPLIBRARY=$(find /opt/build -maxdepth 1 -type d | grep icinga-php-library) ICINGAPHPTHIRDPARTY=$(find /opt/build -maxdepth 1 -type d | grep icinga-php-thirdparty) ICINGAL10N=$(find /opt/build -maxdepth 1 -type d | grep icinga-l10n) cd ${ICINGADIR} dpkg-buildpackage -b -uc -us cd ${ICINGAWEBDIR} dpkg-buildpackage -b -uc -us cd ${ICINGAPHPCOMMONDIR} dpkg-buildpackage -b -uc -us cd ${ICINGAPHPLIBRARY} dpkg-buildpackage -b -uc -us cd ${ICINGAPHPTHIRDPARTY} dpkg-buildpackage -b -uc -us cd ${ICINGAL10N} dpkg-buildpackage -b -uc -us cd /opt/build mv *.deb /opt/debs
chmod 744 build_icinga.sh
./build_icinga.sh
find /opt/debs/ -name *ido-pgsql* -delete && find /opt/debs/ -name *vim* -delete
Все, что ниже, это поток сознания в заметку notepad, не судите.
Устанавливаем php 7.4, apache2 и mariadb sudo apt install php7.4 apache2 mariadb-server правим часовой пояс sudo nano /etc/php/7.4/apache2/php.ini ->> date.timezone = Asia/Vladivostok Раскомментируйте конфигурацию 'cgi.fix_pathinfo' и измените значение на '0'. cgi.fix_pathinfo=0 перезапускаем апач sudo systemctl restart apache2 настраиваем базу sudo mysql_secure_installation (у меня пароль qaz123wsx) устанавливаем пакеты cd /opt/debs/ sudo dpkg -i * если ругается на зависимости то sudo apt --fix-broken install настройка icinga2-ido-mysql запускаем командную стоку mysql (https://icinga.com/docs/icinga-2/2.10/doc/02-getting-started/#setting-up-icingaweb2) mysql -u root -p создаем базу CREATE DATABASE icinga; GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga'; quit импортируем схему mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql Настраиваем апач sudo icingacli setup config directory --group icingaweb2; Создаем токен sudo icingacli setup token create выбираем doc и Monitoring проверяем, чтобы всего было вдоволь. у меня не хватало imagick установка: sudo apt install php-imagick sudo nano /etc/php/7.4/apache2/php.ini добавить в соответствующем разделе -->> extension=imagick sudo systemctl restart apache2 далее Тип аутентификации - база данных вводи данные для базы базы для хранения юзеров. самой базы может не существовать! Название базы данных icinga_db Имя пользователя icinga Пароль icinga Проверить конфиг. далее мне сказали, что не могут создать базу с этими четными данными. ввел рут. бэкэнд не меняем, хер знает, что это вводим первого юзера далее настройка логирования, не трогаем проверяем, нажимаем далее. указываем базу "icinga2" пользовать "icinga2" пароль "" далее настройка API sudo icinga2 api setup добавление пользователя api (там уже будет root) sudo nano /etc/icinga2/conf.d/api-users.conf --- object ApiUser "icingaweb2" { password = "gergregregerger" permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ] } ---- перезапускаем ицингу systemctl restart icinga2 вводим узел localhost логин и пароль созданный выше проверка конфигурации - ок. ------------------------- установка модуля настройки ицинги (icingaweb2 director) https://blog.it-kb.ru/2016/11/22/deploy-and-configure-icinga-2-on-debian-8-6-part-3-installation-of-icinga-director-1-2-0-module-for-icinga-web-2/ хуй я угадал с простым вариантом! не совместим.... это не канает ->> sudo apt install icingaweb2-module-director поэтому sudo apt install git sudo mkdir /usr/share/icingaweb2/modules/incubator sudo git clone --branch v0.20.0 https://github.com/Icinga/icingaweb2-module-incubator.git /usr/share/icingaweb2/modules/incubator sudo mkdir /usr/share/icingaweb2/modules/director sudo git clone --branch v1.10.2 https://github.com/Icinga/icingaweb2-module-director.git /usr/share/icingaweb2/modules/director ага выше и там и там надо сперва актуальную версию глянуть создаем базу mysql -u root -p CREATE DATABASE director CHARACTER SET 'utf8'; GRANT ALL ON director.* TO 'icinga_di2'@'localhost' IDENTIFIED BY 'D1rect0rUsRPa$sw0rd'; в веб идем - настройки - приложения - ресурсы создаем новый ресурс с базой выше и обязательным указанием набора символов "utf8" переходим в "управление icinga" и выбираем эту базу далее создаем схему далее вводим имя конечной точки можно посмотреть sudo nano /etc/icinga2/constants.conf в параметре NodeName, имя пользователя root, пароль посмотреть тут sudo nano /etc/icinga2/conf.d/api-users.conf тыкаем экспорт или что-то похожее
На этом месте я сперва все понял, а потом и окончательно сдался, да пошел дружиться с LibreNMS!
Обсуждение