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

Настройка мониторинга с помощью 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.