В одной из прошлых заметок я описывал процесс установки и запуска системы мониторинга Icinga2 с Web-интерфейсом Icinga Web 2 на базе ОС Ubuntu Server 16.04
Icinga2 доступна к установке из стандартного репозитория Ubuntu, но ее версия устарела. Для актуализации версии необходимо произвести обновление.
На момент написания заметки версии, доступные из "родного" репозитория Ubuntu и актуальные версии были следующими:
Пакет | Репозиторий Ubuntu | Актуальная версия |
icinga2 | 2.4.2 | 2.9.1 |
icingaweb2 | 2.1.0 | 2.6.0 |
Разница по версиях заметна, особенно, если учитывать, что временной промежуток между их выпусками больше года.
1. Добавляем репозиторий
sudo su
wget -O - https://packages.icinga.com/icinga.key | apt-key add -
echo 'deb https://packages.icinga.com/ubuntu icinga-xenial main' >/etc/apt/sources.list.d/icinga.list
2. Делаем резервную копию наших конфигурационных фалов
cd ~
sudo tar -cvzf icinga2_conf.tar.gz /etc/icinga2
sudo tar -cvzf icingaweb2_conf.tar.gz /etc/icingaweb2/
Смотрим, какая текущая версия icinga2 у Вас установлена, эта информация понадобится в будущем
dpkg -l | grep icinga2
И сохраняем эту информацию в файл
dpkg -l | grep icinga2 > ~/icinga2_ver.txt
3. Обновление
3.1 Обновление пакетов
sudo apt-get update
sudo apt-get install -y icinga2 icingaweb2
На запросы обновления файлов отвечаем "Оставить установленную на данный момент версию", пример запроса ниже:
Файл настройки «/etc/icinga2/zones.conf»
==> Изменён с момента установки (вами или сценарием).
==> Автор пакета предоставил обновлённую версию.
Что нужно сделать? Есть следующие варианты:
Y или I : установить версию, предлагаемую сопровождающим пакета
N или O : оставить установленную на данный момент версию
D : показать различия между версиями
Z : запустить оболочку командной строки для проверки ситуации
По умолчанию сохраняется текущая версия файла настройки.
*** zones.conf (Y/I/N/O/D/Z) [по умолчанию N] ?
Во время обновления пакетов у Вас может спросить про настройку icinga2-ido-mysql - отвечаем "Нет", мы его уже настраивали при установке.
3.2 Обновление схемы базы данных
После завершения нам необходимо обновить схему базы данных.
Переходим в каталог /usr/share/icinga2-ido-mysql/schema/upgrade и проверяем наличие файлов
$ cd /usr/share/icinga2-ido-mysql/schema/upgrade
$ ls
2.0.2.sql 2.1.0.sql 2.2.0.sql 2.3.0.sql 2.4.0.sql 2.5.0.sql 2.6.0.sql 2.8.0.sql 2.8.1.sql
Приступаем к обновлению схемы, для этого нам необходимо знать, с какой версии мы обновляли пакеты, если Вы делали, как написано в этой заметке, информация о версиях исходных пакетов у Вас должна остаться в файле ~/icinga2_ver.txt, информацию о подключению к БД можно посмотреть в файле /etc/icinga2/features-enabled/ido-mysql.conf
В моем случае, обновление происходило с 2.4.1 до 2.9.1, соответственно мне нужно было применить обновление БД 2.5.0.sql 2.6.0.sql 2.8.0.sql 2.8.1.sql
Поочередно для каждого файла выполняем
mysql -u root -p DB_NAME < file
В моем случае было выполнено
mysql -u root -p icinga2 < 2.5.0.sql
mysql -u root -p icinga2 < 2.6.0.sql
mysql -u root -p icinga2 < 2.8.0.sql
mysql -u root -p icinga2 < 2.8.1.sql
Если у Вас было активировано Icinga Api, необходимо повторно запустить его установку
sudo icinga2 api setup
Перезапускаем сервис Icinga2 и проверяем его работоспособность
$ sudo service icinga2 restart
$ sudo service icinga2 status
● icinga2.service - Icinga host/service/network monitoring system
Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/icinga2.service.d
└─limits.conf
Active: active (running) since Птн 2018-07-27 15:52:03 EEST; 1s ago
Process: 4824 ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS)
Main PID: 4835 (icinga2)
Tasks: 16
Memory: 3.6M
CPU: 226ms
CGroup: /system.slice/icinga2.service
├─4835 /usr/lib/i386-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
└─4870 /usr/lib/i386-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
Небольшое замечание.
Некоторые конфигурационные файлы я выношу в отдельные директории для удобства работы с ними, например, в директорию /etc/icinga2/conf.d/hosts/
В версии Icinga2 2.4.1 было необходимо указывать их загрузку в файле /etc/icinga2/conf.d/hosts.conf была добавлена строка
include "/etc/icinga2/conf.d/hosts/*.conf"
Теперь этого делать не нужно и, соответственно, нужно удалить из Ваших конфигурационных файлов данные конструкции, иначе будете получать ошибку.
Комментариев нет:
Отправить комментарий