Настройка мониторинга кластера 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:

grafana-actors

Настройка мониторинга с помощью Prometheus и Grafana

Чтобы настроить мониторинг кластера YDB с помощью Prometheus и Grafana:

  1. Установите Prometheus.

  2. Отредактируйте файл конфигурации Prometheus:

    1. В секции targets укажите адреса всех серверов кластера YDB и порты каждого из узлов хранения и узлов базы данных, работающих на сервере.

      Например, для кластера из трёх серверов, где на каждом сервере работает один узел хранения на порте 8765 и два узла базы данных на портах 8766 и 8767, необходимо прописать девять адресов для всех подгрупп метрик, кроме дисковых (для дисковых подгрупп метрик необходимо указать только адреса узлов хранения):

      static_configs:
      - targets:
        - ydb-s1.example.com:8765
        - ydb-s1.example.com:8766
        - ydb-s1.example.com:8767
        - ydb-s2.example.com:8765
        - ydb-s2.example.com:8766
        - ydb-s2.example.com:8767
        - ydb-s3.example.com:8765
        - ydb-s3.example.com:8766
        - ydb-s3.example.com:8767
      

      Для локального однонодового кластера YDB, в секции targets прописывается один адрес:

      - targets: ["localhost:8765"]
      
    2. При необходимости, в секции tls_config укажите сертификат центра регистрации (Certification Authority, CA), которым подписаны остальные сертификаты TLS кластера YDB:

      scheme: https
      tls_config:
          ca_file: '<ydb-ca-file>'
      
  3. Запустите Prometheus, используя отредактированный файл конфигурации.

  4. Установите и запустите Grafana.

  5. Создайте источник данных с типом prometheus в Grafana и подсоедините его к запущенному экземпляру Prometheus.

  6. Загрузите дашборды YDB в Grafana.

    Вы можете загрузить дашборды с помощью инструмента Import Grafana UI или выполнить скрипт. Обратите внимание, что скрипт использует базовую аутентификацию в Grafana. Для других случаев модифицируйте скрипт.

    Ознакомьтесь со справочником по дашбордам Grafana.