Настройка мониторинга локального кластера YDB
На этой странице рассказано, как настроить мониторинг локального однонодового кластера YDB, запущенного с помощью инструкции по Быстрому началу работы.
YDB предоставляет множество сенсоров состояния системы. Мгновенные значения сенсоров можно посмотреть в веб-интерфейсе:
http://localhost:31002/counters/
Связанные сенсоры объединены в подгруппы (например counters auth). Чтобы посмотреть значения сенсоров только определенной подгруппы, перейдите по URL следующего вида:
http://localhost:31002/counters/counters=<servicename>/
<servicename>— имя подгруппы сенсоров.
Например, данные об утилизации аппаратных ресурсов сервера доступны по следующему URL:
http://localhost:31002/counters/counters=utils
Для сбора значений метрик вы можете использовать популярный инструмент с открытым исходным кодом Prometheus. Значения сенсоров YDB в формате Prometheus доступны по URL следующего вида:
http://localhost:31002/counters/counters=<servicename>/prometheus
<servicename>— имя подгруппы сенсоров.
Визуализировать данные можно с помощью любой системы, которая поддерживает формат Prometheus, например Zabbix, Amazon CloudWatch или Grafana:

Настройка мониторинга с помощью Prometheus и Grafana
Чтобы настроить мониторинг кластера YDB с помощью Prometheus и Grafana:
-
Установите Prometheus.
-
Отредактируйте файлы конфигурации Prometheus:
-
В файле
ydbd-storage.ymlв секцииtargetsукажите адреса всех серверов кластера YDB и порты узлов хранения, работающих на серверах.- labels: container: ydb-static targets: - "ydb-s1.example.com:8765" - "ydb-s2.example.com:8765" - "ydb-s3.example.com:8765"Для локального однонодового кластера YDB в секции
targetsукажите один адрес:- labels: container: ydb-static targets: - "localhost:8765" -
В файле
ydbd-database.ymlв секцииtargetsукажите адреса всех серверов кластера YDB и порты узлов баз данных, работающих на серверах.- labels: container: ydb-dynamic targets: - "ydb-s1.example.com:31002" - "ydb-s1.example.com:31012" - "ydb-s1.example.com:31022" - "ydb-s2.example.com:31002" - "ydb-s2.example.com:31012" - "ydb-s2.example.com:31022" - "ydb-s3.example.com:31002" - "ydb-s3.example.com:31012" - "ydb-s3.example.com:31022"Для локального однонодового кластера YDB, в секции
targetsукажите один адрес:- labels: container: ydb-dynamic targets: - "localhost:8765" -
В файле
prometheus_ydb.ymlпри необходимости в секцииtls_configукажите сертификат центра регистрации (Certification Authority, CA), которым подписаны остальные сертификаты TLS кластера YDB:scheme: https tls_config: ca_file: '<ydb-ca-file>'
-
-
Разместите отредактированные файлы в одной директории и запустите Prometheus, указав в опциях запуска файл конфигурации
prometheus_ydb.yml. -
Установите и запустите Grafana.
-
Создайте источник данных с типом
prometheusв Grafana и подсоедините его к запущенному экземпляру Prometheus. -
Загрузите дашборды YDB в Grafana.
Вы можете загрузить дашборды с помощью инструмента Import Grafana UI или выполнить скрипт. Обратите внимание, что скрипт использует базовую аутентификацию в Grafana. Для других случаев модифицируйте скрипт.
Ознакомьтесь со справочником по дашбордам Grafana.