You can install and configure Oracle Database monitoring on Kubernetes using the oracle-otel Helm chart. Optionally, the chart can also run a setup job that creates the monitoring database user for you.
Prerequisites
- A valid New Relic license key.
- Helm 3.0 or later, and
kubectlconfigured to access your Kubernetes cluster. - Network connectivity from your Kubernetes cluster to the Oracle Database host and listener port.
- Either a monitoring database user you've already created, or Oracle Database admin credentials (RDS master user,
SYS, orADMIN) so the chart's setup job can create one for you. See Configure monitoring credentials below.
Create the namespace
Create the namespace you'll install into. It must exist before you create any secrets in the next step, since helm install --create-namespace only creates the namespace during the final install step:
$kubectl create namespace newrelicヒント
Set it as the default namespace for your current kubectl context so you don't need to pass -n on every command below:
$kubectl config set-context --current --namespace=newrelicConfigure monitoring credentials
Decide whether you want the chart's setup job to create the Oracle Database monitoring user for you, and if not, how you'll supply its credentials:
Configure the Helm values
Set oracle.topology to match your environment:
Value | Description |
|---|---|
| On-host, multitenant CDB. All PDBs under this CDB are monitored. |
| On-host, single PDB. |
| Oracle Database on AWS RDS. |
| Oracle Autonomous Database. |
Use the values.yaml that matches the credential method you chose in the previous step:
Parameter | Description |
|---|---|
| Your New Relic license key. |
| Your region's OTLP/gRPC endpoint, as a bare |
| Your Oracle Database host (or RDS endpoint) and listener port, reachable from the cluster. |
| Your CDB, PDB, RDS, or ADB service name for the collector connection. |
| An Oracle Instant Client + |
ヒント
See the chart's values.yaml for all available configuration options.
(Optional) Monitor multiple instances from one release
Instead of oracle.*, set oracleMulti.enabled: true to monitor several Oracle Database instances from a single collector pod in one release. The two modes are mutually exclusive: don't set oracle.endpoint and oracleMulti.enabled: true in the same release. Every instance in a release must share the same oracleMulti.topology (cdb, pdb, rds, or adb): mixing topologies, for example an RDS instance and a self-hosted CDB, isn't supported in one release; use a separate release for each topology instead.
Multi-instance mode has no plain-username/password path: every instance needs its own Kubernetes secret with monitoring credentials. Decide whether you also want the setup job to create each monitoring user for you:
Parameter | Description |
|---|---|
| Set to |
|
|
| Default scrape interval for every entry. Defaults to |
| List of instances to monitor. Each entry requires a unique |
ヒント
Unlike the other NRDOT Helm charts, Oracle lets you override collectionInterval per instance. Every other scrape setting still applies identically to every instance. Use additionalReceiverConfig for anything else that needs to differ. The setup job runs once per instance (<release>-setup-<name>) rather than once per release.
Install the Helm chart
Add the New Relic Helm repository:
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm repo updateInstall the chart using your
values.yamlfile:bash$helm upgrade --install oracle-otel newrelic/oracle-otel \>-n newrelic \>--create-namespace \>-f values.yaml
Verify the installation
Check that the setup job completed and the collector pod is running:
bash$kubectl get jobs,pods -n newrelic --watchRun this query in the query builder to confirm data is arriving:
SELECT count(*) FROM MetricWHERE metricName LIKE 'oracledb.%'AND instrumentation.provider = 'opentelemetry'SINCE 10 minutes ago
To find your Oracle Database entity in New Relic, see Find and use your data.