Мониторинг и наблюдаемость

В этой главе предлагается несколько способов настройки мониторинга РОСА Виртуализация и получения системных метрик и журналов. В числе этих методов:

  • Мониторинг РОСА Виртуализация с помощью хранилища данных и Grafana.
  • Отсылка метрик на удаленный экземпляр Elasticsearch.

Мониторинг РОСА Виртуализация с помощью хранилища данных и Grafana

Обзор Grafana

Grafana — это веб-утилита с графическим интерфейсом для создания отчетов на базе данных, собранных в БД PostgreSQL хранилища данных oVirt с именем ovirt_engine_history. Подробности о доступных сводных панелях отчетов см. в пп. Встроенные панели мониторинга GrafanaНастраиваемые панели Grafana.

Данные диспетчера виртуализации собираются каждую минуту и агрегируются в почасовых и ежедневных наборах данных. Собранные данные хранятся согласно параметру масштаба, настраиваемому в конфигурации хранилища данных во время выполнения engine-setup (масштаб Basic или Full):

  • Basic (по умолчанию) ‒ выборки данных, сохраненных за 24 часа, почасовых данных за 1 месяц; для ежедневных данных выборки не сохраняются.
  • Full (рекомендуется) ‒ выборки данных, сохраненных за 24 часа, почасовых данных за 2 месяца, ежедневных данные за 5 лет.

Для полномасштабных данных может потребоваться миграция хранилища данных на отдельную ВМ.

Примечание — На одной и той же машине поддерживается только совместная установка БД хранилища данных, службы Data Warehouse и Grafana, хотя каждый из этих компонентов можно установить отдельно от других на отдельной машине.

Установка Grafana

Интеграция с Grafana включается и устанавливается по умолчанию при выполнении команды engine-setup для СУСВ в отдельной установке диспетчера, а также при установке виртуализированного ЦУ.

Для установки Grafana нужно выполнить следующие действия:

  1. перевести окружение в режим глобального обслуживания:
hosted-engine --set-maintenance --mode=global
  1. войти в Систему, предназначенную для развертывания Grafana, и выполнить следующую команду:
engine-setup --reconfigure-optional-components
  1. при выводе следующих запросов нажать клавишу Enter, чтобы установить Grafana:
Configure Grafana on this host (Yes, No) [Yes]:
Renew certificate (Yes, No) [Yes]:
  1. отключить глобальный режим обслуживания:
hosted-engine --set-maintenance --mode=none

Для доступа к панелям управления Grafana нужно нажать "Портал мониторинга" на странице приветствия Портала администрирования или перейти по адресу https://<доменное_имя/IP-адрес_виртуализированного_ЦУ>/ovirt-engine-grafana.

Настройка механизма единого входа для Grafana

Команда engine-setup автоматически настраивает на Grafana разрешение для уже существующих пользователей диспетчера на выполнение входа с Портала администрирования с помощью механизма единого входа, но не создает пользователей автоматически. Новых пользователей нужно создать (раздел "Invite" в графическом интерфейсе Grafana) и подтвердить, только после этого они могут входить в Систему:

  1. настроить почтовый адрес пользователя на диспетчере, если он еще не настроен;
  2. выполнить вход в систему Grafana для существующего пользователя admin (изначально настроенный admin);
  3. нажать "Configuration → Users" и выбрать "Invite";
  4. ввести почтовый адрес и имя, затем выбрать "Роль";
  5. выслать приглашение, используя одну из следующих возможностей:
  • выбрать "Send invite mail" и нажать кнопку Submit, для чего необходимо иметь рабочий локальный почтовый сервер, настроенный на машине с Grafana;
  • выбрать "Pending Invites";
  • найти нужную запись, выбрать "Copy invite", скопировать ссылку и использовать ее для создания учетной записи, либо скопировав напрямую в адресную строку браузера, либо отослав ее другому пользователю.

Примечание — При использовании возможности с отложенными приглашениями почтовое сообщение не отсылается, и почтовый адрес на самом деле может не существовать — сработает любой адрес, выглядящий корректным и похожий на настроенный почтовый адрес пользователя диспетчера.

Для входа на Портал мониторинга с этой учетной записью нужно:

  1. выполнить вход на приветственной странице веб-администрирования РОСА Виртуализация с помощью учетной записи с этим почтовым адресом;
  2. чтобы перейти на панель мониторинга Grafana, выбрать "Портал мониторинга";
  3. выбрать "Вход с помощью oVirt Engine Auth".

Встроенные панели мониторинга Grafana

В начальной установке Grafana доступны панели мониторинга со сводками из ЦОД, кластера, хоста и ВМ, приведенные в таблице 73.

Примечание — На панелях Grafana присутствуют прямые ссылки на Портал администрирования РОСА Виртуализация, что позволяет быстро просмотреть дополнительные сведения о кластерах, хостах и ВМ.

Настраиваемые панели Grafana

Панели Grafana можно копировать и изменять, а также создавать пользовательские панели согласно требованиям отображения сводок отчетов.

Примечание — Встроенные панели нельзя перенастроить.

Отправка метрик и журналов на удаленный экземпляр Elasticsearch

Важно — Для развертывания данной возможности необходимо иметь опыт работы по настройке и обслуживанию Elasticsearch.

На диспетчере и хостах РОСА Виртуализация можно настроить отправку данных метрик и журналов на существующий экземпляр Elasticsearch, для чего следует запустить роль Ansible, настраивающую collectd и rsyslog на диспетчере и на всех хостах для сбора метрик engine.log, vdsm.log и collectd и отправки их на экземпляр Elasticsearch.

Установка collectd и rsyslog

В данном разделе описано развертывание collectd и rsyslog на хостах для сбора журналов и метрик.

Примечание — Данную последовательность действий нет необходимости повторять для новых хостов. Новые хосты при добавлении автоматически настраиваются диспетчером для отправки данных на Elasticsearch во время выполнения host-deploy.

Последовательность действий по установке collectd и rsyslog:

  1. выполнить вход на машине диспетчера с помощью SSH;
  2. скопировать /etc/ovirt-engine-metrics/config.yml.example для создания /etc/ovirt-engine- metrics/config.yml.d/config.yml:
cp /etc/ovirt-engine-metrics/config.yml.example  \
/etc/ovirt-engine- metrics/config.yml.d/config.yml
  1. изменить параметры ovirt_env_name и elasticsearch_host в config.yml и сохранить файл, при необходимости добавив следующие дополнительные параметры:
use_omelasticsearch_cert: false rsyslog_elasticsearch_usehttps_metrics: !!str off rsyslog_elasticsearch_usehttps_logs: !!str off
  • если используются сертификаты, для параметра use_omelasticsearch_cert указать значение "true";
  • для отключения журналирования или метрик использовать параметры rsyslog_elasticsearch_usehttps_metrics и/или rsyslog_elasticsearch_usehttps_logs;
  1. развернуть collectd и rsyslog на хостах:
/usr/share/ovirt-engine-metrics/setup/ansible/configure_ovirt_machines_for_metrics.sh

Сценарий configure_ovirt_machines_for_metrics.sh запускает роль Ansible, включающую в себя набор linux-system-roles, и использует их для развертывания и настройки rsyslog на хосте. Rsyslog собирает метрики из collectd и отправляет их в Elasticsearch.

Схема журналирования и анализ журналов

Для интерактивного просмотра данных, собранных в РОСА Виртуализация, можно использовать страницу "Обнаружение". Каждый набор собранных данных представляется в виде документа. Документы составляются из следующих файлов журналов:

  • engine.log ‒ содержит сведения обо всех аварийных сбоях графического интерфейса виртуализированного ЦУ, поиски по Active Directory, проблемы с БД и другие события.
  • vdsm.log ‒ файл журнала VDSM ‒ агента диспетчера на хостах виртуализации ‒ содержит события, связанные с хостами.

Поля в файлах просмотров данных описаны в таблице 74.