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).
Instalación guiada
Para instalar a través de la UI de New Relic en su lugar, vaya a one.newrelic.com > Integrations & Agents > Oracle (Database 360). Esta página solo cubre la instalación manual.
Requisitos previos
Antes de comenzar, cerciorar de tener lo siguiente:
- Una clave de licenciade New Relic válida
- Arquitectura compatible: Linux con AMD64 y ARM64
- Conectividad de red al extremo OTLP de New Relic
- Oracle Database
19co posterior
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.
Inicie sesión en la base de datos raíz como administrador:
CREATE USER <YOUR_DB_USERNAME> IDENTIFIED BY "<YOUR_DB_PASSWORD>";Otorgue privilegios de
CONNECTal 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.
Cree el archivo de configuración. El nombre del archivo debe ser
oracle-config.yaml.bash$sudo nano /etc/nrdot-collector/oracle-config.yamlAgregue el siguiente contenido de configuración al archivo
oracle-config.yamlque 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.
1receivers:2 nroracledb/rds:3 endpoint: mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com:15214 username: newrelic5 password: YOUR_PASSWORD6 service: YOUR_SERVICE_NAME7 collection_interval: 15s8events:9 db.server.query_sample:10 enabled: true11 db.server.top_query:12 enabled: true13 db.server.session.wait_sample:14 enabled: true15 db.server.top_procedure:16 enabled: true17 db.server.query_plan:18 enabled: true19
20top_query_collection:21 max_query_sample_count: 100022 top_query_count: 20023 collection_interval: 60s24 allowed_comment_keys:25 - nr_service_guid26
27query_sample_collection:28 max_rows_per_query: 10029 allowed_comment_keys:30 - nr_service_guid31
32session_wait_event_collection:33 max_rows_per_query: 10034
35top_procedure_collection:36 max_procedure_sample_count: 100037 top_procedure_count: 25038 collection_interval: 60s39
40 # Metrics configuration - This baseline configuration captures essential metrics. To enable advanced monitoring and extended telemetry, refer to the full configuration documentation41metrics:42 oracledb.buffer_cache.utilization:43 enabled: true44 attributes:45 - oracle.db.pdb46 oracledb.consistent_gets:47 enabled: true48 attributes:49 - oracle.db.pdb50 oracledb.cpu_time:51 enabled: true52 attributes:53 - oracle.db.pdb54 oracledb.database.cpu.utilization:55 enabled: true56 attributes:57 - oracle.db.pdb58 oracledb.database.wait.utilization:59 enabled: true60 attributes:61 - oracle.db.pdb62 oracledb.db_block_gets:63 enabled: true64 attributes:65 - oracle.db.pdb66 oracledb.enqueue_deadlocks:67 enabled: true68 attributes:69 - oracle.db.pdb70 oracledb.execution.utilization:71 enabled: true72 attributes:73 - oracledb.parse.type74 - oracle.db.pdb75 oracledb.executions:76 enabled: true77 attributes:78 - oracle.db.pdb79 oracledb.hard_parses:80 enabled: true81 attributes:82 - oracle.db.pdb83 oracledb.host.cpu.utilization:84 enabled: true85 attributes:86 - oracle.db.pdb87 oracledb.library_cache.utilization:88 enabled: true89 attributes:90 - oracle.db.pdb91 oracledb.logical_reads:92 enabled: true93 attributes:94 - oracle.db.pdb95 oracledb.logons:96 enabled: true97 attributes:98 - oracle.db.pdb99 oracledb.parse.rate:100 enabled: true101 attributes:102 - oracledb.parse.result103 - oracle.db.pdb104 oracledb.parse_calls:105 enabled: true106 attributes:107 - oracle.db.pdb108 oracledb.pga_memory:109 enabled: true110 attributes:111 - oracle.db.pdb112 oracledb.physical_io.requests:113 enabled: true114 attributes:115 - disk.io.direction116 - disk.io.block_size117 - oracle.db.pdb118 oracledb.physical_reads:119 enabled: true120 attributes:121 - oracle.db.pdb122 oracledb.physical_writes:123 enabled: true124 attributes:125 - oracle.db.pdb126 oracledb.processes.usage:127 enabled: true128 oracledb.sessions.usage:129 enabled: true130 attributes:131 - session_type132 - session_status133 - oracle.db.pdb134 oracledb.sga.usage:135 enabled: true136 attributes:137 - oracledb.sga.component.name138 oracledb.shared_pool.utilization:139 enabled: true140 attributes:141 - oracle.db.pdb142 oracledb.sql_service.response.duration:143 enabled: true144 attributes:145 - oracle.db.pdb146 oracledb.sqlnet.io.transferred:147 enabled: true148 attributes:149 - network.io.direction150 - destination.type151 - oracle.db.pdb152 oracledb.tablespace_size.usage:153 enabled: true154 attributes:155 - tablespace_name156 - oracle.db.pdb157 oracledb.transactions.usage:158 enabled: true159 oracledb.user_commits:160 enabled: true161 attributes:162 - oracle.db.pdb163 oracledb.user_rollbacks:164 enabled: true165 attributes:166 - oracle.db.pdb167
168 # Resource attributes attached to all metrics/logs (all enabled by default)169resource_attributes:170 oracle.db.edition:171 enabled: true172exporters:173 otlp/newrelic:174 endpoint: https://otlp.nr-data.net:4318175headers:176 api-key: YOUR_LICENSE_KEY177 compression: gzip178retry_on_failure:179 enabled: true180 initial_interval: 5s181 max_interval: 30s182 max_elapsed_time: 300s183sending_queue:184 enabled: true185 sizer: bytes186 queue_size: 100_000_000187 num_consumers: 10188 batch:189 sizer: bytes190 max_size: 1_000_000191 min_size: 0192 flush_timeout: 5s193service:194pipelines:195 metrics/oracledb:196 receivers: [nroracledb/rds]197 exporters: [otlp/newrelic]198 logs/oracledb:199 receivers: [nroracledb/rds]200 exporters: [otlp/newrelic]- En la sección de eventos, habilite estos tipos de eventos para recopilar sus métricas:
evento | Descripción |
|---|---|
| Muestras de consultas activas por sesión que capturan el SQL actual, el estado de espera y los detalles de bloqueo. |
| Las N principales sentencias SQL por CPU o tiempo transcurrido, incluidas las estadísticas de ejecución y los planes de consulta. |
| Recuentos y duraciones de espera acumulados por sesión de |
| Los N principales procedimientos almacenados clasificados por uso de recursos, incluidas las estadísticas de ejecución. |
| Detalles del plan de ejecución para las consultas principales y muestreadas. |
- Configure los ajustes de recopilación para cada tipo de evento:
Sección de configuración | Parámetro | Valor |
|---|---|---|
|
| 1000 |
|
| 200 |
|
| 60s |
|
| 100 |
|
| 100 |
|
| 1000 |
|
| 250 |
|
| 60s |
Actualizar la configuración de NRDOT Collector
Actualice la configuración del NRDOT Collector para utilizar el archivo oracle-config.yaml.
$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.confSugerencia
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:
$sudo systemctl restart nrdot-collector.service$sudo systemctl status nrdot-collector.serviceSugerencia
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:
- Vaya a https://one.newrelic.com > All Capabilities > Databases.
- Establezca los criterios de búsqueda como
instrumentation.provider = opentelemetry. - Seleccione su base de datos Oracle de la lista de entidades.
Artículos relacionados
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.