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

Сбор метрик OracleDB

Сбор метрик OracleDB

Конфигурация OracleDB

  1. Создайте пользователя с правами read-only для агента ProtoOBP в OracleDB:

    CREATE USER protoobp IDENTIFIED BY protoobp;
    GRANT CONNECT TO protoobp;
    GRANT SELECT ON GV_$PROCESS TO protoobp;
    GRANT SELECT ON gv_$sysmetric TO protoobp;
    GRANT SELECT ON sys_dba_data_files TO protoobp;
    GRANT SELECT ON sys_dba_tablespaces TO protoobp;
    GRANT SELECT ON sys_dba_tablespace_usage_metrics TO protoobp;
    

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

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

  1. В файле конфигурации ProtoOBP агента (/etc/protoobp-agent/conf.d/oracle.d/conf.yaml) укажите адрес и порт OracleDB и учетную запись под которой агент сможет подключиться к базе:
    init_config:
    instances:
      - server: localhost:1521
        service_name: <service_name> #Получить имя сервиса можно выполнив `SELECT value FROM v$parameter WHERE name='service_names'
        username: protoobp
        password: <PASSWORD>
    
  2. Перезапустите ProtoOBP агента выполнив systemctl restart protoobp-agent

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

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

    labels:
      com.protoobp.ad.check_names: '["oracle"]'
      com.protoobp.ad.init_configs: "[{}]"
      com.protoobp.ad.instances: '[{"server": "%%host%%:1521", "service_name":"<SERVICE_NAME>", "username":"protoobp", "password":"<PASSWORD>"}]'
    

    или в Dockerfile

    LABEL "com.protoobp.ad.check_names"='["oracle"]'
    LABEL "com.protoobp.ad.init_configs"='[{}]'
    LABEL "com.protoobp.ad.instances"='[{"server": "%%host%%:1521", "service_name":"<SERVICE_NAME>", "username":"protoobp", "password":"<PASSWORD>"}]'