Сервис мониторинга

Сервис Monitoring разворачивает в ADH свой сервер Prometheus, который реализует сбор и хранение метрик мониторинга кластера ADH, а также поддерживает возможность использования веб-интерфейса Grafana для визуализации и анализа информации. В данной статье описываются шаги, необходимые для подключения этого сервиса.

Обзор

При добавлении сервиса Monitoring в ADH на все или выборочные хосты кластера можно установить Node Exporter — агент мониторинга, считывающий с хоста системные метрики, которые будет собирать Prometheus. Prometheus также может собирать метрики сервисов ADH. Эти метрики будут доступны в формате Prometheus на портах и конечных точках (endpoints), указанных в параметрах сервисных конфигураций. Просматривать и анализировать данные, которые собирает сервис мониторинга, можно также в веб-интерфейсе Prometheus или Grafana.

ПРИМЕЧАНИЕ
  • Если у вас уже настроена совместимая с Prometheus система мониторинга (например, свой сервер Prometheus или VictoriaMetrics), можно использовать ее, чтобы собирать метрики ADH. Для этого в своей системе мониторинга укажите настройки доступа к метрикам ADH, используя параметры установленного в ADH Prometheus, которые конфигурируются на странице сервиса Monitoring в интерфейсе ADСM.

  • Вы также можете использовать механизм Federation, чтобы перенести все метрики из сервера Prometheus, развернутого в ADH, в свой Prometheus.

Шаг 1. Добавление сервиса

  1. В интерфейсе ADCM откройте страницу Clusters и кликните по имени кластера ADH. Затем на открывшейся странице кластера перейдите на вкладку Services и нажмите Add services.

    Переход к добавлению сервисов
    Переход к добавлению сервисов
  2. В открывшемся окне выберите сервис Monitoring и нажмите Add.

    Выбор сервиса
    Выбор сервиса

    В результате добавленный сервис отобразится на вкладке Services.

    Результат успешного добавления сервиса в кластер
    Результат успешного добавления сервиса в кластер

Шаг 2. Добавление компонентов

  1. На странице кластера откройте вкладку Mapping, чтобы перейти к распределению сервисных компонентов между хостами кластера.

    Переход к распределению сервисных компонентов
    Переход к распределению сервисных компонентов
    Компоненты сервиса Monitoring
    Компонент Описание

    Prometheus Server

    Хранит все метрики кластера ADH и позволяет Grafana запрашивать их

    Grafana

    Позволяет визуализировать метрики ADH в виде графиков и диаграмм, организованных в дашборды

    Node Exporter

    Собирает системные метрики и отправляет их серверу Prometheus

  2. Назначьте хосты компонентам сервиса Monitoring — нажмите Add hosts и выберите нужные хосты в открывшемся окне.

    Выбор хоста для компонента
    Выбор хоста для компонента
    ВНИМАНИЕ
    Компонент Prometheus Server не рекомендуется устанавливать на хосты с ADH — используйте для него отдельные хосты. Иначе при выходе из строя хоста ADH и/или критически большой нагрузке на него информация о соответствующих проблемах не будет сохранена.
  3. После завершения распределения компонентов нажмите Save, чтобы сохранить изменения.

Шаг 3. Настройка сервиса

  1. Откройте вкладку Services на странице кластера и кликните по имени сервиса Monitoring в столбце Name.

    Переход к настройке сервиса
    Переход к настройке сервиса
  2. В открывшемся окне заполните конфигурационные параметры сервиса — описания параметров приведены в разделе Monitoring. Поля, подсвеченные красным, обязательны для заполнения.

    Настройка сервиса Monitoring
    Настройка сервиса Monitoring

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

Для активации базовой аутентификации на стороне JMX-экспортера это требуется сделать для каждого сервиса отдельно. Данная функция доступна для следующих компонентов (см. группу параметров Monitoring authentication):

Шаг 4. Установка сервиса

  1. На вкладке Services в строке сервиса Monitoring кликните по иконке actions default dark actions default light в столбце Actions и запустите действие Install.

    Переход к установке сервиса
    Переход к установке сервиса
  2. Подтвердите действие в открывшемся окне.

    Подтверждение действия
    Подтверждение действия
  3. Дождитесь завершения установки и убедитесь, что статус сервиса изменился с created на installed.

    Процесс установки завершен
    Процесс установки завершен

    Чтобы посмотреть процесс выполнения установки сервиса и проанализировать ошибки в случае их возникновения, выберите пункт Jobs в левом навигационном меню и кликните по имени задачи Install в списке задач Jobs.

    Страница задачи Install
    Страница задачи Install

Шаг 5. Проверка результатов

Сервис Monitoring запускается автоматически после установки. По завершении установки необходимо убедиться, что с хостов кластера поступают системные метрики и метрики сервисов ADH. Чтобы это проверить, можно в браузере посмотреть метрики в формате Prometheus, а также использовать веб-интерфейсы Prometheus и Grafana.

Метрики в формате Prometheus

  1. В адресной строке браузера введите адрес хоста кластера ADH, а также укажите порт и конечную точку доступа (endpoint) к сервисным или системным метрикам, которые определяются параметрами:

    • в конфигурации сервисов ADH — настройки доступа к метрикам мониторинга этих сервисов;

    • в секции Node Exporter settings на странице сервиса Monitoring — настройки доступа к системным метрикам хоста кластера ADH.

    Пример адреса для просмотра метрик сервера Impala на хосте c IP 10.92.42.57: http://10.92.42.57:25020/metrics.

  2. На открывшейся странице будут показаны метрики мониторинга с указанного хоста кластера в формате Prometheus.

Метрики сервера Impala в формате Prometheus
Метрики сервера Impala в формате Prometheus
Метрики сервера Impala в формате Prometheus
Метрики сервера Impala в формате Prometheus

Веб-интерфейс Prometheus

  1. В адресной строке браузера введите IP-адрес хоста, где установлен компонент Prometheus Server сервиса Monitoring. Укажите номер порта, который определяется параметром web.listen-address в секции Prometheus settings в группе Service parameters конфигурации сервиса Monitoring (по умолчанию, 11200). Пример адреса: http://10.92.40.107:11200. Для входа в интерфейс Prometheus используйте имя пользователя и пароль, которые также указываются в секции Prometheus settings — настройка Prometheus users to login/logout to Prometheus.

  2. В поле Expression можно ввести название метрики и нажать Execute — в интерфейсе будут показаны значения этой метрики на всех хостах кластера ADH.

Веб-интерфейс Prometheus
Веб-интерфейс Prometheus

Веб-интерфейс Grafana

  1. В адресной строке браузера введите адрес хоста, на котором развернут компонент Grafana сервиса Monitoring. В качестве номера порта укажите значение параметра Grafana listen port из раздела Grafana settings в настройках конфигурации сервиса мониторинга (по умолчанию 11210). Например, http://10.92.40.107:11210. Для входа используйте admin в качестве имени пользователя и значение параметра Grafana administrator’s password (находится также в разделе настроек Grafana settings) в качестве пароля.

  2. В открывшемся окне выберите пункт меню Home → Dashboards и разверните секцию ADH Dashboard <ADH_cluster_name>. В этой секции можно выбрать один из доступных дашбордов для просмотра сервисных или системных метрик, поступающих из вашего кластера ADH.

Переход к метрикам кластера ADH в Grafana
Переход к метрикам кластера ADH в Grafana

Шаг 6. Настройка SSL

Для защиты соединения между компонентами сервиса мониторинга и конечными точками метрик можно включить SSL/TLS и взаимную аутентификацию TLS (mTLS) для Prometheus и JMX-экспортеров.

ВАЖНО
  • Сертификаты на всех хостах должны быть подписаны одним и тем же центром сертификации (Certificate Authority, CA), чтобы обеспечить доверие между хостами.

  • Следующие сервисы в настоящее время не поддерживают SSL в JMX-экспортерах и доступны только по HTTP:

    • Kyuubi

    • ZooKeeper

    • Solr

Перед настройкой SSL в ADCM подготовьте хосты, выполнив следующие шаги:

  1. Поместите сертификат CA в системное хранилище доверенных сертификатов:

    • для систем на базе RHEL: /etc/pki/ca-trust/source/anchors/certname.crt;

    • для систем на базе Debian: /usr/local/share/ca-certificates/certname.crt.

  2. Обновите хранилище доверенных сертификатов, выполнив:

  • Для систем на базе RHEL

  • Для систем на базе Debian

$ sudo update-ca-trust
$ sudo update-ca-certificates

Чтобы настроить SSL через ADCM:

  1. На странице Clusters выберите действие Manage SSL для нужного кластера.

  2. В диалоговом окне Manage SSL укажите следующие параметры:

    • TLS certificate file — путь к TLS-сертификату хоста;

    • TLS private key — путь к приватному ключу TLS;

    • CA authority file — путь к сертификату CA (путь к системному truststore или его алиас).

  3. При необходимости выберите дополнительные опции и нажмите Run.

Включение SSL действием Manage SSL
Включение SSL действием "Manage SSL"

Чтобы включить взаимный TLS (mTLS) для JMX-экспортеров, убедитесь, что поля TLS certificate и TLS private key заполнены в разделе настроек SSL configuration (поля для Prometheus). Эти значения автоматически подставляются из настроек действия Manage SSL.

Чтобы проверить, корректно ли настроен TLS:

  1. На странице Clusters выберите нужный кластер.

  2. Перейдите на вкладку Services и нажмите на Monitoring.

  3. Откройте раздел SSL configuration.

  4. Убедитесь, что параметры SSL-соединения для Prometheus заданы корректно, и при необходимости внесите изменения.

  5. Подтвердите изменения, нажав Save.

  6. В меню Actions выберите Restart, убедитесь, что для параметра Apply configs from ADCM установлено значение true, и нажмите Run.

Проверьте, что взаимный TLS работает, например, запросив метрики для Hive по HTTPS:

$ curl -v --cert /etc/ssl/certs/host.crt \
     --key /etc/ssl/private/host.key \
     --cacert /etc/ssl/certs/ca-certificates.crt \
     https://<host>:<port>/metrics

где --cert и --key — это файлы сертификата, а --cacert — системное хранилище доверенных сертификатов.

ПРИМЕЧАНИЕ
Использование серверных сертификатов в качестве клиентских не рекомендуется, но допустимо для тестирования работы TLS.

Для доступа к HTTPS-эндпойнтам через браузер установите сертификат CA в truststore вашего браузера.

После обновления кластера перезапустите следующие сервисы вручную, чтобы переключить эндпойнты на HTTPS:

  • HDFS

  • YARN

  • Monitoring

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней