---
title: Configure Oracle Database monitoring with OpenTelemetry Collector Contrib (CNCF)
source: https://docs.newrelic.com/docs/opentelemetry/db360/oracle/cncf
---

You can use the OpenTelemetry Collector Contribution for Oracle Database to monitor your instance. The OpenTelemetry Collector Contribution is a community-supported project that provides a way to collect telemetry data from Oracle Database and send it to New Relic.

By default, the OpenTelemetry Collector Contribution collects limited metrics from Oracle Database. To send query performance, wait-time, session, and other advanced metrics, you'll need to configure the OpenTelemetry Collector Contribution. This guide shows you how to configure it to collect advanced metrics from Oracle Database and send them to New Relic.

## Prerequisites [#prerequisites]

-   OpenTelemetry Collector Contrib (`otelcol-contrib`) installed and configured on your system. You can download the latest release from the [OpenTelemetry Collector releases](https://github.com/open-telemetry/opentelemetry-collector-releases/releases) page.

## Enable UI metrics [#enable]

You can enrich your New Relic platform experience by adding and enabling metrics in your `otelcol-contrib` configuration file. Using the configuration provided in this section, you can populate data for the following pages in the New Relic platform:

-   Overview
-   Query performance
-   Wait events
-   Sessions

**Enable Overview page metrics**

The Overview page displays a high-level view of your Oracle Database instance, including key metrics such as CPU utilization, wait time, I/O, memory, and session usage.

To populate data for the Overview page in the New Relic platform, add the following configuration to your `otelcol-contrib` configuration file:

```yaml
receivers:
  oracledb:
    # Metrics required by the "Oracle Database Monitoring (OTel)" dashboard
    metrics:
      oracledb.buffer_cache.utilization:
        enabled: true
      oracledb.consistent_gets:
        enabled: true
      oracledb.cpu_time:
        enabled: true
      oracledb.database.cpu.utilization:
        enabled: true
      oracledb.database.wait.utilization:
        enabled: true
      oracledb.db_block_gets:
        enabled: true
      oracledb.enqueue_deadlocks:
        enabled: true
      oracledb.execution.utilization:
        enabled: true
      oracledb.executions:
        enabled: true
      oracledb.hard_parses:
        enabled: true
      oracledb.host.cpu.utilization:
        enabled: true
      oracledb.library_cache.utilization:
        enabled: true
      oracledb.logical_reads:
        enabled: true
      oracledb.logons:
        enabled: true
      oracledb.parse.rate:
        enabled: true
      oracledb.parse_calls:
        enabled: true
      oracledb.pga_memory:
        enabled: true
      oracledb.physical_io.requests:
        enabled: true
      oracledb.physical_reads:
        enabled: true
      oracledb.physical_writes:
        enabled: true
      oracledb.processes.usage:
        enabled: true
      oracledb.sessions.usage:
        enabled: true
      oracledb.sga.usage:
        enabled: true
      oracledb.shared_pool.utilization:
        enabled: true
      oracledb.sql_service.response.duration:
        enabled: true
      oracledb.sqlnet.io.transferred:
        enabled: true
      oracledb.tablespace_size.usage:
        enabled: true
      oracledb.transactions.usage:
        enabled: true
      oracledb.user_commits:
        enabled: true
      oracledb.user_rollbacks:
        enabled: true
    resource_attributes:
      oracle.db.edition:
        enabled: true
```

**Enable Query performance, session, and wait metrics**

To populate data for the Query performance, Wait events, and Sessions pages, add the following configuration to your `otelcol-contrib` configuration file:

```yaml
receivers:
  oracledb:
    events:
      db.server.query_sample:
        enabled: true
      db.server.top_query:
        enabled: true
      db.server.session.wait_sample:
        enabled: true
      db.server.top_procedure:
        enabled: true
      db.server.query_plan:
        enabled: true

    top_query_collection:
      max_query_sample_count: 1000
      top_query_count: 200
      collection_interval: 60s
      allowed_comment_keys:
        - nr_service_guid

    query_sample_collection:
      max_rows_per_query: 100
      allowed_comment_keys:
        - nr_service_guid

    session_wait_event_collection:
      max_rows_per_query: 100

    top_procedure_collection:
      max_procedure_sample_count: 1000
      top_procedure_count: 250
      collection_interval: 60s
```

## Restart the OpenTelemetry Collector [#restart]

Restart the OpenTelemetry Collector to apply the configuration changes:

```bash
sudo systemctl restart otelcol-contrib
```

## Related articles [#related-articles]

[Metrics reference](https://docs.newrelic.com/docs/opentelemetry/db360/oracle/metrics-reference)

Learn about the available metrics collected by the NRDOT Collector.

[Troubleshooting](https://docs.newrelic.com/docs/opentelemetry/db360/oracle/troubleshooting)

Learn how to troubleshoot your Oracle Database monitoring setup in New Relic.
