01.08.2018

Icinga2 Обновление

В одной из прошлых заметок я описывал процесс установки и запуска системы мониторинга 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"

Теперь этого делать не нужно и, соответственно, нужно удалить из Ваших конфигурационных файлов данные конструкции, иначе будете получать ошибку.

Комментариев нет:

Отправить комментарий