Oracle DB receiver
This receiver collects metrics from an Oracle Database.
The receiver connects to a database host and performs periodically queries.
Getting Started
To use the OracleDB receiver you must define how to connect to your DB. This can be done in two ways,
defined in the Primary and Secondary configuration
option sections. Defining one of the two configurations is required. If both are defined, the primary
option will be used.
Primary Configuration Option
Required options:
datasource
: Oracle database connection string. Special characters must be encoded. Refer to Oracle Go Driver go_ora documentation for full connection string options.
Example:
receivers:
oracledb:
datasource: "oracle://otel:password@localhost:51521/XE"
Secondary Configuration Option
Required options:
endpoint
: Endpoint used to connect to the OracleDB server. Must be in the format of host:port
password
: Password for the OracleDB connection. Special characters are allowed.
service
: OracleDB Service that the receiver should connect to.
username
: Username for the OracleDB connection.
Example:
receivers:
oracledb:
endpoint: localhost:51521
password: p@sswo%d
service: XE
username: otel
Optional Configuration Options
collection_interval
(default = 10s
): The interval at which metrics should be emitted by this receiver.
initial_delay
(default = 1s
): The initial time period this receiver waits before starting.
timeout
(default = 0
): Timeout for each Oracle DB request. Disabled by default.
Permissions
Depending on which metrics you collect, you will need to assign those permissions to the database user:
GRANT SELECT ON V_$SESSION TO <username>;
GRANT SELECT ON V_$SYSSTAT TO <username>;
GRANT SELECT ON V_$RESOURCE_LIMIT TO <username>;
GRANT SELECT ON DBA_TABLESPACES TO <username>;
GRANT SELECT ON DBA_DATA_FILES TO <username>;
GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO <username>;
Enabling metrics.
See documentation.
You can enable or disable selective metrics.
Example:
receivers:
oracledb:
datasource: "oracle://otel:password@localhost:51521/XE"
metrics:
oracledb.query.cpu_time:
enabled: false
oracledb.query.physical_read_requests:
enabled: true