Configuración de la Monitorización de base de datos para RDS Oracle
Database Monitoring provides deep visibility into your Oracle databases by exposing query samples to profile your different workloads and diagnose issues.
El Agent recopila telemetría directamente de la base de datos iniciando sesión como usuario de sólo lectura.
Antes de empezar
- Supported Oracle versions
- 11g, 12c, 18c, 19c, 21c
- Supported Agent version
- 7.53.0+
- Impacto del rendimiento
- el valor predeterminado de configuración del Agent para la Monitorización de base de datos es conservador, pero puedes ajustar parámetros como el intervalo de recopilación y la frecuencia de muestreo de consultas para que se adapten mejor a tus necesidades. Para la mayoría de las cargas de trabajo, el Agent representa menos del uno por ciento del tiempo de ejecución de consultas en la base de datos y menos del uno por ciento de la CPU.
La Monitorización de base de datos se ejecuta como integración sobre el Agent base (ver valores de referencia). - Proxies, equilibradores de carga y agrupadores de conexiones
- El Agent debe conectarse directamente al host que está siendo monitorizado. El Agent no debe conectarse a la base de datos a través de un proxy, equilibrador de carga o agrupador de conexiones. Cada Agent debe tener conocimiento del nombre de host subyacente y debe ceñirse a un único host durante toda su vida, incluso en casos de conmutación por error. Si el Datadog Agent se conecta a diferentes hosts mientras se está ejecutando, los valores de las métricas serán incorrectos.
- Consideraciones sobre la seguridad de los datos
- para saber qué datos recopila el Agent de tus bases de datos y cómo garantizar su seguridad, consulta Información confidencial.
Configuración
Sigue los siguientes pasos para habilitar la Monitorización de base de datos con tu base de datos Oracle:
- Crea el usuario Datadog.
- Concede al usuario acceso a la base de datos
- Instala el Agent.
- Configura el Agent.
- Instala o verifica la integración de Oracle.
- Confirma la configuración.
Crear el usuario de Datadog
If you already have the legacy Oracle integration installed, the user already exists, and you can skip this step.
Create a read-only login to connect to your server and grant the required permissions:
CREATE USER datadog IDENTIFIED BY <YOUR_PASSWORD>;
Conceder al usuario acceso a la base de datos
grant create session to datadog ;
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQLSTATS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$INSTANCE','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL_PLAN_STATISTICS_ALL','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_FEATURE_USAGE_STATISTICS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PROCESS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CON_SYSMETRIC','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACE_USAGE_METRICS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACES','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQLCOMMAND','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAFILE','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SGAINFO','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SYSMETRIC','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PDBS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_SERVICES','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$OSSTAT','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PGASTAT','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ASM_DISKGROUP','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$RSRCMGRMETRIC','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAGUARD_CONFIG','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAGUARD_STATS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TRANSACTION','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOCKED_OBJECT','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('CDB_DATA_FILES','DATADOG','SELECT',p_grant_option => false);
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_DATA_FILES','DATADOG','SELECT',p_grant_option => false);
Store your password using secret management software such as Vault. You can then reference this password as ENC[<SECRET_NAME>]
in your Agent configuration files: for example, ENC[datadog_user_database_password]
. See Secrets Management for more information.
The examples on this page use datadog_user_database_password
to refer to the name of the secret where your password is stored. It is possible to reference your password in plain text, but this is not recommended.
Instalación del Agent
Para determinar dónde instalar el Agent, consulta la documentación Arquitecturas de configuración de DBM. El Agent no requiere ningún cliente de Oracle externo.
Para conocer los pasos de instalación, consulta las instrucciones de instalación del Agent.
Configurar el Agent
Crea el archivo de configuración de Oracle Agent /etc/datadog-agent/conf.d/oracle.d/conf.yaml
. Para ver todas las opciones de configuración disponibles, consulta el archivo de configuración de ejemplo.
Nota: El subdirectorio de configuración para las versiones del Agent anteriores a 7.53.0
es oracle-dbm.d
.
init_config:
instances:
- server: '<RDS_INSTANCE_ENDPOINT_1>:<PORT>'
service_name: "<SERVICE_NAME>" # Nombre del servicio Oracle CDB
username: 'datadog'
password: 'ENC[datadog_user_database_password]'
dbm: true
tags: # Opcional
- 'service:<CUSTOM_SERVICE>'
- 'env:<CUSTOM_ENV>'
- server: '<RDS_INSTANCE_ENDPOINT_2>:<PORT>'
service_name: "<SERVICE_NAME>" # Nombre del servicio Oracle CDB
username: 'datadog'
password: 'ENC[datadog_user_database_password]'
dbm: true
tags: # Opcional
- 'service:<CUSTOM_SERVICE>'
- 'env:<CUSTOM_ENV>'
Una vez terminada la configuración del Agent, reinicia el Datadog Agent.
Instalar o verificar la integración de Oracle
Primeras instalaciones
En la página de integraciones de Datadog, instala la integración de Oracle para tu organización. Se instala un dashboard de Oracle en tu cuenta que puedes utilizar para monitorizar el rendimiento de tus bases de datos Oracle.
Instalaciones existentes
For an existing installation, verify that your configuration is located in the conf.d/oracle-dbm.d/
directory. You may need to migrate the legacy configuration from the conf.d/oracle.d/
directory.
Use the following command to migrate the Oracle integration from the legacy integration to the new one:
cp /etc/datadog-agent/conf.d/oracle.d/conf.yaml /etc/datadog-agent/conf.d/oracle-dbm.d/conf.yaml
Deactivate the legacy integration:
mv /etc/datadog-agent/conf.d/oracle.d/conf.yaml /etc/datadog-agent/conf.d/oracle.d/conf.yaml.bak
Deactivating the legacy integration prevents sending the system metrics twice.
Since the Agent doesn’t require an external Oracle client, remove the jdbc_driver_path
configuration parameter from the new parameter file /etc/datadog-agent/conf.d/oracle-dbm.d/conf.yaml
.
Validar la configuración
Ejecuta el subcomando de estado del Agent y busca oracle
en la sección Checks. Visita la página Dashboard y Bases de datos de Datadog para empezar.
Consultas personalizadas
La Monitorización de base de datos admite consultas personalizadas para bases de datos Oracle. Para obtener más información sobre las opciones de configuración disponibles, consulta conf.yaml.example.
La ejecución de consultas personalizadas puede dar lugar a costes o tasas adicionales evaluados por Oracle.
Referencias adicionales
Más enlaces, artículos y documentación útiles: