Мониторинг MS SQL с помощью Proto Observability

Сбор метрик MS SQL

Сбор метрик MS SQL

Конфигурация MS SQL

  1. Создайте пользователя с правами read-only для агента ProtoOBP в master базе данных MS SQL:
    CREATE LOGIN protoobp WITH PASSWORD = '<PASSWORD>';
    CREATE USER protoobp FOR LOGIN protoobp;
    GRANT SELECT on sys.dm_os_performance_counters to protoobp;
    GRANT VIEW SERVER STATE to protoobp;
    GRANT CONNECT ANY DATABASE to protoobp;
    GRANT VIEW ANY DEFINITION to protoobp;
    

Конфигурация ProtoOBP агента

Если агент запускается в виде службы systemd на хосте

  1. В файле конфигурации ProtoOBP агента (<каталог агента>/conf.d/sqlserver.d/conf.yaml) укажите адрес и порт MS SQL и учетную запись под которой агент сможет подключиться к базе:
    init_config:
    instances:
      - host: localhost,1433
        username: protoobp
        password: <PASSWORD>
    
  2. Перезапустите ProtoOBP агента выполнив systemctl restart protoobp-agent

Если агент запускается в виде Docker контейнера

  1. Добавьте следующие лейблы к Docker контейнеру с MS SQL: В docker-compose.yaml

    labels:
      com.protoobp.ad.check_names: '["sqlserver"]'
      com.protoobp.ad.init_configs: "[{}]"
      com.protoobp.ad.instances: '[{"host": "%%host%%,%%port%%", "username":"protoobp", "password":"protoobp", "connector": "odbc", "driver": "FreeTDS"}]'
    

    или в Dockerfile

    LABEL "com.protoobp.ad.check_names"='["sqlserver"]'
    LABEL "com.protoobp.ad.init_configs"='[{}]'
    LABEL "com.protoobp.ad.instances"='[{"host": "%%host%%,%%port%%", "username":"protoobp", "password":"protoobp", "connector": "odbc", "driver": "FreeTDS"}]'