• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Instalar y configurar NRDOT para el monitoreo de Oracle con AWS RDS

|View as Markdown (English)

Obtenga información valiosa y completa sobre el rendimiento de la base de datos de Amazon RDS Oracle con el monitoreo de la base de datos, el análisis de consultas y las métricas del estado del sistema mediante el recolector de New Relic Distribution of OpenTelemetry (NRDOT).

Requisitos previos

Antes de comenzar, cerciorar de tener lo siguiente:

Instalar NRDOT Collector

Seleccione el método de distribución de instalación adecuado para su entorno Linux:

Configurar el usuario de la base de datos

Cree un usuario de monitoreo con los privilegios necesarios para su base de datos Oracle RDS.

  1. Inicie sesión en la base de datos raíz como administrador:

    CREATE USER <YOUR_DB_USERNAME> IDENTIFIED BY "<YOUR_DB_PASSWORD>";
  2. Otorgue privilegios de CONNECT al usuario recién creado:

    GRANT CONNECT TO <YOUR_DB_USERNAME>;

Otorgar privilegios de monitoreo para la base de datos RDS

Ejecute las siguientes sentencias SQL para otorgar privilegios de monitoreo. Reemplace <YOUR_DB_USERNAME_UPPERCASE> por su nombre de usuario en mayúsculas:

EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SYSMETRIC', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$CON_SYSMETRIC', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION_EVENT', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SYSSTAT', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$CON_SYSSTAT', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$OSSTAT', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SGAINFO', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL_PLAN_STATISTICS_ALL', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$PROCESS', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$TRANSACTION', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$ROWCACHE', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$RESOURCE_LIMIT', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$LOCK', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$INSTANCE', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAFILE', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$PDBS', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_DATA_FILES', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_FREE_SPACE', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_RECYCLEBIN', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_TABLESPACES', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_TABLESPACE_USAGE_METRICS', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_PROCEDURES', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACE_USAGE_METRICS', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACES', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('CDB_SERVICES', '<YOUR_DB_USERNAME_UPPERCASE>', 'SELECT', false);
GRANT CREATE SESSION TO <YOUR_DB_USERNAME_UPPERCASE>;

Configurar el Colector NRDOT

Configure el NRDOT Collector con la configuración específica de RDS.

  1. Cree el archivo de configuración. El nombre del archivo debe ser oracle-config.yaml.

    bash
    $
    sudo nano /etc/nrdot-collector/oracle-config.yaml
  2. Agregue el siguiente contenido de configuración al archivo oracle-config.yaml que creó en el paso anterior.

    configuración completa

    Esta configuración captura métricas esenciales de línea de base. Para ver el catálogo completo de métricas, consulte la referencia de configuración.

oracle-config.yaml
1
receivers:
2
nroracledb/rds:
3
endpoint: mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com:1521
4
username: newrelic
5
password: YOUR_PASSWORD
6
service: YOUR_SERVICE_NAME
7
collection_interval: 15s
8
events:
9
db.server.query_sample:
10
enabled: true
11
db.server.top_query:
12
enabled: true
13
db.server.session.wait_sample:
14
enabled: true
15
db.server.top_procedure:
16
enabled: true
17
db.server.query_plan:
18
enabled: true
19
20
top_query_collection:
21
max_query_sample_count: 1000
22
top_query_count: 200
23
collection_interval: 60s
24
allowed_comment_keys:
25
- nr_service_guid
26
27
query_sample_collection:
28
max_rows_per_query: 100
29
allowed_comment_keys:
30
- nr_service_guid
31
32
session_wait_event_collection:
33
max_rows_per_query: 100
34
35
top_procedure_collection:
36
max_procedure_sample_count: 1000
37
top_procedure_count: 250
38
collection_interval: 60s
39
40
# Metrics configuration - This baseline configuration captures essential metrics. To enable advanced monitoring and extended telemetry, refer to the full configuration documentation
41
metrics:
42
oracledb.buffer_cache.utilization:
43
enabled: true
44
attributes:
45
- oracle.db.pdb
46
oracledb.consistent_gets:
47
enabled: true
48
attributes:
49
- oracle.db.pdb
50
oracledb.cpu_time:
51
enabled: true
52
attributes:
53
- oracle.db.pdb
54
oracledb.database.cpu.utilization:
55
enabled: true
56
attributes:
57
- oracle.db.pdb
58
oracledb.database.wait.utilization:
59
enabled: true
60
attributes:
61
- oracle.db.pdb
62
oracledb.db_block_gets:
63
enabled: true
64
attributes:
65
- oracle.db.pdb
66
oracledb.enqueue_deadlocks:
67
enabled: true
68
attributes:
69
- oracle.db.pdb
70
oracledb.execution.utilization:
71
enabled: true
72
attributes:
73
- oracledb.parse.type
74
- oracle.db.pdb
75
oracledb.executions:
76
enabled: true
77
attributes:
78
- oracle.db.pdb
79
oracledb.hard_parses:
80
enabled: true
81
attributes:
82
- oracle.db.pdb
83
oracledb.host.cpu.utilization:
84
enabled: true
85
attributes:
86
- oracle.db.pdb
87
oracledb.library_cache.utilization:
88
enabled: true
89
attributes:
90
- oracle.db.pdb
91
oracledb.logical_reads:
92
enabled: true
93
attributes:
94
- oracle.db.pdb
95
oracledb.logons:
96
enabled: true
97
attributes:
98
- oracle.db.pdb
99
oracledb.parse.rate:
100
enabled: true
101
attributes:
102
- oracledb.parse.result
103
- oracle.db.pdb
104
oracledb.parse_calls:
105
enabled: true
106
attributes:
107
- oracle.db.pdb
108
oracledb.pga_memory:
109
enabled: true
110
attributes:
111
- oracle.db.pdb
112
oracledb.physical_io.requests:
113
enabled: true
114
attributes:
115
- disk.io.direction
116
- disk.io.block_size
117
- oracle.db.pdb
118
oracledb.physical_reads:
119
enabled: true
120
attributes:
121
- oracle.db.pdb
122
oracledb.physical_writes:
123
enabled: true
124
attributes:
125
- oracle.db.pdb
126
oracledb.processes.usage:
127
enabled: true
128
oracledb.sessions.usage:
129
enabled: true
130
attributes:
131
- session_type
132
- session_status
133
- oracle.db.pdb
134
oracledb.sga.usage:
135
enabled: true
136
attributes:
137
- oracledb.sga.component.name
138
oracledb.shared_pool.utilization:
139
enabled: true
140
attributes:
141
- oracle.db.pdb
142
oracledb.sql_service.response.duration:
143
enabled: true
144
attributes:
145
- oracle.db.pdb
146
oracledb.sqlnet.io.transferred:
147
enabled: true
148
attributes:
149
- network.io.direction
150
- destination.type
151
- oracle.db.pdb
152
oracledb.tablespace_size.usage:
153
enabled: true
154
attributes:
155
- tablespace_name
156
- oracle.db.pdb
157
oracledb.transactions.usage:
158
enabled: true
159
oracledb.user_commits:
160
enabled: true
161
attributes:
162
- oracle.db.pdb
163
oracledb.user_rollbacks:
164
enabled: true
165
attributes:
166
- oracle.db.pdb
167
168
# Resource attributes attached to all metrics/logs (all enabled by default)
169
resource_attributes:
170
oracle.db.edition:
171
enabled: true
172
exporters:
173
otlp/newrelic:
174
endpoint: https://otlp.nr-data.net:4318
175
headers:
176
api-key: YOUR_LICENSE_KEY
177
compression: gzip
178
retry_on_failure:
179
enabled: true
180
initial_interval: 5s
181
max_interval: 30s
182
max_elapsed_time: 300s
183
sending_queue:
184
enabled: true
185
sizer: bytes
186
queue_size: 100_000_000
187
num_consumers: 10
188
batch:
189
sizer: bytes
190
max_size: 1_000_000
191
min_size: 0
192
flush_timeout: 5s
193
service:
194
pipelines:
195
metrics/oracledb:
196
receivers: [nroracledb/rds]
197
exporters: [otlp/newrelic]
198
logs/oracledb:
199
receivers: [nroracledb/rds]
200
exporters: [otlp/newrelic]
  1. En la sección de eventos, habilite estos tipos de eventos para recopilar sus métricas:

evento

Descripción

db.server.query_sample

Muestras de consultas activas por sesión que capturan el SQL actual, el estado de espera y los detalles de bloqueo.

db.server.top_query

Las N principales sentencias SQL por CPU o tiempo transcurrido, incluidas las estadísticas de ejecución y los planes de consulta.

db.server.session.wait_sample

Recuentos y duraciones de espera acumulados por sesión de v$session_event.

db.server.top_procedure

Los N principales procedimientos almacenados clasificados por uso de recursos, incluidas las estadísticas de ejecución.

db.server.query_plan

Detalles del plan de ejecución para las consultas principales y muestreadas.

  1. Configure los ajustes de recopilación para cada tipo de evento:

Sección de configuración

Parámetro

Valor

top_query_collection

max_query_sample_count

1000

top_query_collection

top_query_count

200

top_query_collection

collection_interval

60s

query_sample_collection

max_rows_per_query

100

session_wait_event_collection

max_rows_per_query

100

top_procedure_collection

max_procedure_sample_count

1000

top_procedure_collection

top_procedure_count

250

top_procedure_collection

collection_interval

60s

Actualizar la configuración de NRDOT Collector

Actualice la configuración del NRDOT Collector para utilizar el archivo oracle-config.yaml.

bash
$
sudo sed -i 's|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/config.yaml"|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/oracle-config.yaml"|' /etc/nrdot-collector/nrdot-collector.conf

Sugerencia

Tú también puedes:

  • Configurar múltiples receptores: para monitorear múltiples instancias de base de datos Oracle desde un recolector.
  • Configurar el receptor de consultas SQL: para recopilar métricas personalizadas de la base de datos Oracle.
  • Vincule su Oracle Database con APM: para correlacionar el rendimiento de la aplicación con las operaciones de la base de datos. Esto le permite ver exactamente qué aplicaciones están generando cargas de trabajo de base de datos específicas.
  • Configurar la gestión de secretos: para administrar de forma segura información confidencial, como las credenciales de bases de datos. Esto ayuda a mejorar la seguridad de su configuración de monitoreo al evitar la codificación rígida de datos sensibles en los archivos de configuración.

Reiniciar NRDOT Collector

Después de actualizar la configuración, reinicie el NRDOT Collector:

bash
$
sudo systemctl restart nrdot-collector.service
$
sudo systemctl status nrdot-collector.service

Sugerencia

Reinicie siempre el NRDOT Collector después de realizar cambios de configuración para garantizar que los nuevos ajustes surtan efecto.

Encuentra y utiliza tus datos

Una vez que se estén recopilando sus datos, puede acceder a un monitoreo integral de Oracle Database a través de la UI de New Relic.

Para encontrar su entidad de base de datos Oracle en New Relic:

  1. Vaya a https://one.newrelic.com > All Capabilities > Databases.
  2. Establezca los criterios de búsqueda como instrumentation.provider = opentelemetry.
  3. Seleccione su base de datos Oracle de la lista de entidades.

Resolución de problemas

Aprenda a solucionar problemas de la configuración de monitoreo de Oracle RDS en New Relic.

Referencia de métricas

Obtenga información sobre las métricas disponibles recopiladas por NRDOT Collector.

Instrumentación de CDB

Aprenda a configurar la base de datos Oracle para el monitoreo de CDB en New Relic.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.