Сервис мониторинга
Сервис Monitoring разворачивает в ADH свой сервер Prometheus, который реализует сбор и хранение метрик мониторинга кластера ADH, а также поддерживает возможность использования веб-интерфейса Grafana для визуализации и анализа информации. В данной статье описываются шаги, необходимые для подключения этого сервиса.
Обзор
При добавлении сервиса Monitoring в ADH на все или выборочные хосты кластера можно установить Node Exporter — агент мониторинга, считывающий с хоста системные метрики, которые будет собирать Prometheus. Prometheus также может собирать метрики сервисов ADH. Эти метрики будут доступны в формате Prometheus на портах и конечных точках (endpoints), указанных в параметрах сервисных конфигураций. Просматривать и анализировать данные, которые собирает сервис мониторинга, можно также в веб-интерфейсе Prometheus или Grafana.
|
ПРИМЕЧАНИЕ
|
Шаг 1. Добавление сервиса
-
В интерфейсе ADCM откройте страницу Clusters и кликните по имени кластера ADH. Затем на открывшейся странице кластера перейдите на вкладку Services и нажмите Add services.
Переход к добавлению сервисов -
В открывшемся окне выберите сервис Monitoring и нажмите Add.
Выбор сервисаВ результате добавленный сервис отобразится на вкладке Services.
Результат успешного добавления сервиса в кластер
Шаг 2. Добавление компонентов
-
На странице кластера откройте вкладку Mapping, чтобы перейти к распределению сервисных компонентов между хостами кластера.
Переход к распределению сервисных компонентовКомпоненты сервиса Monitoring Компонент Описание Prometheus Server
Хранит все метрики кластера ADH и позволяет Grafana запрашивать их
Grafana
Позволяет визуализировать метрики ADH в виде графиков и диаграмм, организованных в дашборды
Node Exporter
Собирает системные метрики и отправляет их серверу Prometheus
-
Назначьте хосты компонентам сервиса Monitoring — нажмите Add hosts и выберите нужные хосты в открывшемся окне.
Выбор хоста для компонентаВНИМАНИЕКомпонент Prometheus Server не рекомендуется устанавливать на хосты с ADH — используйте для него отдельные хосты. Иначе при выходе из строя хоста ADH и/или критически большой нагрузке на него информация о соответствующих проблемах не будет сохранена. -
После завершения распределения компонентов нажмите Save, чтобы сохранить изменения.
Шаг 3. Настройка сервиса
-
Откройте вкладку Services на странице кластера и кликните по имени сервиса Monitoring в столбце Name.
Переход к настройке сервиса -
В открывшемся окне заполните конфигурационные параметры сервиса — описания параметров приведены в разделе Monitoring. Поля, подсвеченные красным, обязательны для заполнения.
Настройка сервиса MonitoringПосле указания всех необходимых параметров нажмите Save.
Для активации базовой аутентификации на стороне JMX-экспортера это требуется сделать для каждого сервиса отдельно. Данная функция доступна для следующих компонентов (см. группу параметров Monitoring authentication):
Шаг 4. Установка сервиса
-
На вкладке Services в строке сервиса Monitoring кликните по иконке
в столбце Actions и запустите действие Install.
Переход к установке сервиса -
Подтвердите действие в открывшемся окне.
Подтверждение действия -
Дождитесь завершения установки и убедитесь, что статус сервиса изменился с
createdнаinstalled.
Процесс установки завершенЧтобы посмотреть процесс выполнения установки сервиса и проанализировать ошибки в случае их возникновения, выберите пункт Jobs в левом навигационном меню и кликните по имени задачи Install в списке задач Jobs.
Страница задачи Install
Шаг 5. Проверка результатов
Сервис Monitoring запускается автоматически после установки. По завершении установки необходимо убедиться, что с хостов кластера поступают системные метрики и метрики сервисов ADH. Чтобы это проверить, можно в браузере посмотреть метрики в формате Prometheus, а также использовать веб-интерфейсы Prometheus и Grafana.
Метрики в формате Prometheus
-
В адресной строке браузера введите адрес хоста кластера ADH, а также укажите порт и конечную точку доступа (endpoint) к сервисным или системным метрикам, которые определяются параметрами:
-
в конфигурации сервисов ADH — настройки доступа к метрикам мониторинга этих сервисов;
-
в секции Node Exporter settings на странице сервиса Monitoring — настройки доступа к системным метрикам хоста кластера ADH.
Пример адреса для просмотра метрик сервера Impala на хосте c IP
10.92.42.57: http://10.92.42.57:25020/metrics. -
-
На открывшейся странице будут показаны метрики мониторинга с указанного хоста кластера в формате Prometheus.
Веб-интерфейс Prometheus
-
В адресной строке браузера введите 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. -
В поле Expression можно ввести название метрики и нажать Execute — в интерфейсе будут показаны значения этой метрики на всех хостах кластера ADH.
Веб-интерфейс Grafana
-
В адресной строке браузера введите адрес хоста, на котором развернут компонент Grafana сервиса Monitoring. В качестве номера порта укажите значение параметра Grafana listen port из раздела Grafana settings в настройках конфигурации сервиса мониторинга (по умолчанию
11210). Например, http://10.92.40.107:11210. Для входа используйтеadminв качестве имени пользователя и значение параметра Grafana administrator’s password (находится также в разделе настроек Grafana settings) в качестве пароля. -
В открывшемся окне выберите пункт меню Home → Dashboards и разверните секцию ADH Dashboard <ADH_cluster_name>. В этой секции можно выбрать один из доступных дашбордов для просмотра сервисных или системных метрик, поступающих из вашего кластера ADH.
Шаг 6. Настройка SSL
Для защиты соединения между компонентами сервиса мониторинга и конечными точками метрик можно включить SSL/TLS и взаимную аутентификацию TLS (mTLS) для Prometheus и JMX-экспортеров.
|
ВАЖНО
|
Перед настройкой SSL в ADCM подготовьте хосты, выполнив следующие шаги:
-
Поместите сертификат CA в системное хранилище доверенных сертификатов:
-
для систем на базе RHEL: /etc/pki/ca-trust/source/anchors/certname.crt;
-
для систем на базе Debian: /usr/local/share/ca-certificates/certname.crt.
-
-
Обновите хранилище доверенных сертификатов, выполнив:
Чтобы настроить SSL через ADCM:
-
На странице Clusters выберите действие Manage SSL для нужного кластера.
-
В диалоговом окне Manage SSL укажите следующие параметры:
-
TLS certificate file — путь к TLS-сертификату хоста;
-
TLS private key — путь к приватному ключу TLS;
-
CA authority file — путь к сертификату CA (путь к системному truststore или его алиас).
-
-
При необходимости выберите дополнительные опции и нажмите Run.
Чтобы включить взаимный TLS (mTLS) для JMX-экспортеров, убедитесь, что поля TLS certificate и TLS private key заполнены в разделе настроек SSL configuration (поля для Prometheus). Эти значения автоматически подставляются из настроек действия Manage SSL.
Чтобы проверить, корректно ли настроен TLS:
-
На странице Clusters выберите нужный кластер.
-
Перейдите на вкладку Services и нажмите на Monitoring.
-
Откройте раздел SSL configuration.
-
Убедитесь, что параметры SSL-соединения для Prometheus заданы корректно, и при необходимости внесите изменения.
-
Подтвердите изменения, нажав Save.
-
В меню 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