Obtenga información valiosa y completa sobre el rendimiento de la base de datos conectable (PDB) de Oracle con el monitoreo de la base de datos, el análisis de consultas y las métricas de estado del sistema mediante el recolector 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.
Sugerencia
Si necesita monitorear toda la base de datos de contenedor en lugar de una base de datos conectable individual, consulte la instrumentación de CDB.
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 la instancia de Oracle Database PDB.
- Ejecute la siguiente declaración como SYS antes de crear el usuario o ejecutar cualquier concesión:ALTER SESSION SET CONTAINER = "<YOUR_PDB>";
- Ejecute las siguientes sentencias como SYS dentro de su PDB objetivo para crear un usuario de monitoreo local:CREATE USER <YOUR_DB_USERNAME> IDENTIFIED BY "<YOUR_DB_PASSWORD>";GRANT CREATE SESSION TO <YOUR_DB_USERNAME>;
Otorgar privilegios de monitoreo para la PDB
Ejecute estos comandos como el usuario SYS dentro de su PDB. Esto le da a la herramienta de monitoreo el acceso básico que necesita para recopilar métricas, rastrear eventos y encontrar sus instancias de base de datos.
GRANT SELECT ON V_$INSTANCE TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$DATABASE TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$CONTAINERS TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$DATAFILE TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$SYSSTAT TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$SYSMETRIC TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$SESSION TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$RESOURCE_LIMIT TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$OSSTAT TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$SGAINFO TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$ROWCACHE TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$PARAMETER TO <YOUR_DB_USERNAME>;GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO <YOUR_DB_USERNAME>;GRANT SELECT ON DBA_TABLESPACES TO <YOUR_DB_USERNAME>;GRANT SELECT ON DBA_DATA_FILES TO <YOUR_DB_USERNAME>;GRANT SELECT ON DBA_FREE_SPACE TO <YOUR_DB_USERNAME>;GRANT SELECT ON DBA_RECYCLEBIN TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$SQL TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$SQL_PLAN_STATISTICS_ALL TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$LOCK TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$SESSION_EVENT TO <YOUR_DB_USERNAME>;GRANT SELECT ON DBA_PROCEDURES TO <YOUR_DB_USERNAME>;GRANT SELECT ON DBA_OBJECTS TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$PDBS TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$PROCESS TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$TRANSACTION TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$CON_SYSSTAT TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$CON_SYSMETRIC TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$ASM_DISKGROUP_STAT TO <YOUR_DB_USERNAME>;GRANT SELECT ON V_$ASM_DISK_STAT TO <YOUR_DB_USERNAME>;Sugerencia
Los permisos V_$ASM_DISKGROUP_STAT y V_$ASM_DISK_STAT solo son necesarios si desea recopilar métricas de disco y grupo de discos de ASM.
Configurar el Colector NRDOT
Configure el Collector NRDOT con su configuración específica de PDB.
- Cree el archivo de configuración. El nombre del archivo debe ser
oracle-config.yaml.
$sudo nano /etc/nrdot-collector/oracle-config.yaml- Agregue 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:2nroracledb:3 endpoint: oracle.example.com:15214 username: newrelic5 password: YOUR_PASSWORD6 service: YOUR_PDB_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]197 exporters: [otlp/newrelic]198 logs/oracledb:199 receivers: [nroracledb]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 |
Sugerencia
Para obtener información más detallada sobre la configuración del extremo OTLP de New Relic y las mejores prácticas de OpenTelemetry, consulte la documentación de OTLP de OpenTelemetry.
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 PDB en New Relic.
Referencia de métricas
Obtenga información sobre las métricas disponibles recopiladas por NRDOT Collector.
Instrumentación de RDS
Aprenda a configurar su Oracle Database para el monitoreo de RDS en New Relic.
Instalación de Docker
Aprenda a ejecutar el NRDOT Collector como un contenedor hermano de una instancia de base de datos de Oracle que ya se ejecuta en Docker.