Настройка мониторинга кластера 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. В файле 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"
      
    2. В файле 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"
      
    3. В файле prometheus_ydb.yml при необходимости в секции tls_config укажите сертификат центра регистрации (Certification Authority, CA), которым подписаны остальные сертификаты TLS кластера YDB:

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

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

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

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

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

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

Предыдущая
Следующая