• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Installer & configurer NRDOT pour le monitoring Oracle avec AWS RDS

|View as Markdown (English)

Obtenez des informations détaillées complètes sur les performances de votre base de données Amazon RDS Oracle grâce au monitoring de base de données, à l'analyse des requêtes, et aux métriques de santé du système à l'aide du collecteur New Relic Distribution of OpenTelemetry (NRDOT).

Prérequis

Avant de commencer, assurez-vous d’avoir les éléments suivants :

Installer le collecteur NRDOT

Sélectionnez la méthode de distribution de l'installation appropriée pour votre environnement Linux :

Configurer l'utilisateur de la base de données

Créez un utilisateur de monitoring avec les privilèges nécessaires pour votre base de données Oracle RDS.

  1. Connectez-vous à la base de données racine en tant qu'administrateur :

    CREATE USER <YOUR_DB_USERNAME> IDENTIFIED BY "<YOUR_DB_PASSWORD>";
  2. Accorder les privilèges CONNECT à l'utilisateur nouvellement créé :

    GRANT CONNECT TO <YOUR_DB_USERNAME>;

Accorder des privilèges de monitoring pour la base de données RDS

Exécutez les instructions SQL suivantes pour accorder des privilèges de monitoring. Remplacez <YOUR_DB_USERNAME_UPPERCASE> par votre nom d'utilisateur en majuscules :

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>;

Configurer le collecteur NRDOT

Configurez le NRDOT Collector avec vos paramètres spécifiques à RDS.

  1. Créez le fichier de configuration. Le nom du fichier doit être oracle-config.yaml.

    bash
    $
    sudo nano /etc/nrdot-collector/oracle-config.yaml
  2. Ajoutez le contenu de configuration ci-dessous au fichier oracle-config.yaml que vous avez créé à l'étape précédente.

    configuration complète

    Cette configuration capture les métriques de base de référence essentielles. Pour consulter le catalogue complet des métriques, reportez-vous à la référence de configuration.

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. Dans la section Événements, activez ces types d’événements pour collecter leurs métriques :

Événement

Description

db.server.query_sample

Échantillons de requêtes actives par session capturant le SQL actuel, l’état d’attente et les détails de blocage.

db.server.top_query

Top N des instructions SQL par CPU ou temps écoulé, y compris les statistiques d’exécution et les plans de requête.

db.server.session.wait_sample

Nombres et durées d’attente cumulés par session à partir de v$session_event.

db.server.top_procedure

Top N des procédures stockées classées par utilisation des ressources, y compris les statistiques d'exécution.

db.server.query_plan

Détails du plan d'exécution pour les requêtes principales et échantillonnées.

  1. Configurez les paramètres de collecte pour chaque type d’événement :

Section de configuration

paramètres

Valeur

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

Mettre à jour la configuration du Collector NRDOT

Mettez à jour la configuration du NRDOT Collector pour utiliser votre fichier 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

Conseil

Vous pouvez également :

  • Configurer plusieurs récepteurs: pour monitorer plusieurs instances de base de données Oracle à partir d’un seul collecteur.
  • Configurez le Récepteur de requêtes SQL: pour collecter des métriques personnalisées depuis votre base de données Oracle.
  • Liez votre base de données Oracle avec APM: pour corréler les performances de vos applications avec les opérations de base de données. Cela vous permet de voir exactement quelles applications génèrent des workloads de base de données spécifiques.
  • Configurer la gestion des secrets: pour gérer en toute sécurité des informations sensibles, telles que les identifiants de base de données. Cela permet de renforcer la sécurité de votre configuration de monitoring en évitant de coder en dur des données sensibles dans les fichiers de configuration.

Redémarrer NRDOT Collector

Après avoir mis à jour votre configuration, redémarrez le Collector NRDOT :

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

Conseil

Redémarrez toujours le Collector NRDOT après avoir modifié la configuration pour garantir la prise en compte des nouveaux paramètres.

Trouvez et utilisez vos données

Une fois vos données collectées, vous pouvez accéder à un monitoring complet de la base de données Oracle via l'UI de New Relic.

Pour trouver votre entité de base de données Oracle dans New Relic :

  1. Allez à https://one.newrelic.com > All Capabilities > Databases.
  2. Définissez les critères de recherche comme instrumentation.provider = opentelemetry.
  3. Sélectionnez votre base de données Oracle dans la liste des entités.

Dépannage

Découvrez comment dépanner votre configuration de monitoring Oracle RDS dans New Relic.

Référence des métriques

Découvrez les métriques disponibles collectées par le collecteur NRDOT.

Instrumentation CDB

Découvrez comment configurer votre base de données Oracle pour le monitoring CDB dans New Relic.

Droits d'auteur © 2026 New Relic Inc.

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