Заканчивая цикл заметок о развёртывании и базовой настройке свободно распространяемой системы виртуализации oVirt версии 4.0 хочу описать имеющуюся в составе oVirt возможность настройки оповещений об изменениях состояний компонент инфраструктуры виртуализации. Механизм оповещений oVirt может использоваться как базовое средство мониторинга среды виртуализации и может быть интегрирован в применяемые в организациях специализированные системы мониторинга. В моём случае такой системы мониторинга для сервисов на базе Linux-систем пока нет, и поэтому с помощью службы ovirt-engine-notifier я организую базовый мониторинг состояния компонент виртуализации oVirt. Эта служба позволяет настроить подписку на события, появляющиеся в логах oVirt Engine.
Включение и настройка службы оповещений
В конфигурации по умолчанию служба ovirt-engine-notifier выключена:
# systemctl status ovirt-engine-notifier ● ovirt-engine-notifier.service - oVirt Engine Notifier Loaded:loaded (/usr/lib/systemd/system/ovirt-engine-notifier.service;disabled;vendor preset:disabled) Active:inactive (dead)
Перед активацией этой службы необходимо настроить параметры её работы. Шаблонный файл конфигурации службы расположен здесь:
/usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf
Информацию о параметрах конфигурационного файла можно найти как в комментариях к этим параметрам в самом этом файле, так и в онлайн-документации: RHV 4.0 Administration Guide - 17.3. Parameters for Event Notifications in ovirt-engine-notifier.conf
Здесь я рассмотрю пример настройки оповещений через электронную почту. Если же требуется оповещение по протоколу SNMP, что также поддерживает служба ovirt-engine-notifier, можно воспользоваться онлайн-документом: RHV 4.0 Administration Guide -17.4. Configuring the Red Hat Virtualization Manager to Send SNMP Traps
Прямая корректировка конфигурационного файла ovirt-engine-notifier.conf не рекомендуется, так как этот файл является шаблонным и может быть в последующем перезаписан в процессе обновления службы на более новую версию. Чтобы изменить параметры конфигурации службы оповещений, можно создать копию шаблонного файла в каталоге /etc/ovirt-engine/notifier/notifier.conf.d/ и отредактировать эту копию под свои нужды. При этом правильней будет не создавать полную копии файла, а перенести лишь те параметры, которые мы собираемся изменять в отличии от конфигурации по умолчанию.
Посмотрим, что имеется по умолчанию в этом каталоге:
# ls -la /etc/ovirt-engine/notifier/notifier.conf.d/ ... -rw-r--r--. 1 root root 45 Jul 26 16:42 10-setup-jboss.conf -rw-r--r--. 1 root root 231 Sep 20 11:00 README
Если заглянуть в файл README, то можно понять порядок обработки файлов в этом каталоге. Как я понял, файлы сортируются по имени и параметры последующего в порядке сортировки файла файл являются более приоритетными. Соответственно, под наши настройки создадим файл, например, с именем 05-custom-service-settings.conf
# touch /etc/ovirt-engine/notifier/notifier.conf.d/05-custom-service-settings.conf
Наполним файл нашими настройками, которые мы хотим задать (остальные параметры будут использоваться из файла по умолчанию). Например, в моём случае указан лишь адрес SMTP-сервера и e-mail от имени которого будут посылаться оповещения (в моём случае это критично).
MAIL_SERVER="127.0.0.1" MAIL_FROM="KOM-AD01-OVIRT1@holding.com"
Разумеется для того, чтобы в соответствии с заданными параметрами, наш сервер oVirt Hosted Engine был способен принимать на localhost электронную почту и отправлять её далее, в ОС должна быть произведена настройка почтовой службы, например, по аналогии с ранее описанной процедурой на Вики: Как настроить отсылку уведомлений на внешний почтовый сервер с помощью postfix в CentOS
После того, как нужные нам параметры службы оповещений сконфигурированы, включим автоматический запуск службы при старте системы и запустим эту службу:
# systemctl enable ovirt-engine-notifier # systemctl start ovirt-engine-notifier
Если никаких ошибок в созданном нами ранее файле настроек 05-custom-service-settings.conf не допущено, то служба должна запуститься успешно.
Настройка событий для службы оповещений
На веб-портале администрирования oVirt перейдём на закладку Users и выберем тип отображения User. Затем выберем пользователя, для которого хотим настроить отсылку уведомлений и в нижней части вкладок выберем Event Notifier. Здесь нам будет доступен перечень отслеживаемых для оповещений событий oVirt. Нажмём ссылку Manage Events для настройки перечня событий.
В открывшейся форме выберем все события, при появлении которых мы хотим получать уведомления, а в поле Mail Recipient введём e-mail адрес, на который нужно будет отсылать уведомления. В моём случае в для этого используется адрес группы рассылки, в которую входят все администраторы oVirt.
Если в последствии окажется, что какие-то из включённых оповещений не требуются, то мы просто вернёмся в этот раздел веб-портала и отключим реагирование на соответствующие типы оповещений.
Для дополнительной настройки оповещений можно использовать механизм фильтров, которые могут быть заданы в опциях типа FILTER в созданном нами ранее файле конфигурации службы оповещений (05-custom-service-settings.conf). В упомянутом ранее шаблоном файле ovirt-engine-notifier.conf имеются примеры настройки опций типа FILTER. Также, возможно, для такой настройки окажется полезной информация о свойствах событий oVirt подлежащих аудиту, которые можно подсмотреть в файле /usr/share/doc/ovirt-engine/AuditLogMessages.properties
Проверка работы механизма оповещений
Проверить успешность работы механизма оповещений можно сымитировав какую-нибудь проблему, влекущую за собой регистрацию события, на которое мы ранее создали подписку для службы оповещений. Например возьмём и физически отключим какой-нибудь из хостов в кластере oVirt от локальной сети. Тут же мы должны получить от службы оповещений письмо о проблеме с доступностью хоста:
Через мгновение oVirt отреагирует на проблему и задействует механизмы Fencing, которые вызовут перезагрузку хоста. Об этом нас так же честно поставит в известность служба оповещений:
Затем вернём нашему подопытному хосту виртуализации сеть, после чего oVirt Engine снова обнаружит его доступность и с помощью службы оповещений радостно известит нас об этом:
Как видим, настроенный нами механизм оповещений через электронную почту успешно работает. И это хорошо.
Дополнительные источники информации:
Спасибо.
"параметры последующего в порядке сортировки файла файл являются более приоритетными"
Помоему по этой логике цифра в файле должна быть больше стандартного шаблона, чтобы принудительно переорределить параметры. Например, 20-custom-service-settings.conf
Разве не так?
Всё верно. Я намеренно задаю своим настройкам более низкий приоритет, чтобы свести к минимуму возможность разночтений между заданными мной параметрами и рекомендованными разработчиками oVirt (в перспективе). Разумеется, Вы можете поступать обратным образом. Тут вопрос персональный.
Понятно.
Тогда получается изначально в шаблоне эти строчки отсутствую совсем или параметры есть, но после равно пусто. Я правильно понимаю?
Есть вероятность в таком случае, что при обновлении шаблона разрабы в качестве примера могут вписать свои значения и наши потеряют свою силу. Что Вы думаете по этому поводу?
Параметры есть, но значения их не определены. О вариациях будущего сказать ничего не могу.
Спасибо.
Как перенаправить логи engine.log в graylog к примеру
Хотелось бы иметь в начале ссылки на предыдущие статьи по теме, для удобства. Спасибо.
https://wiki.it-kb.ru/ovirt