Oracle Database

La integración de la base de datos de Oracle recoge métricas y registros de la base de datos de Oracle. Las métricas se recogen consultando las vistas de monitorización pertinentes. Esta integración escribe registros de seguimiento estructurados.

Para obtener más información sobre Oracle DB, consulta la documentación de Oracle Database.

Requisitos previos

Para recoger la telemetría de la base de datos de Oracle, debes instalar el agente de operaciones:

  • Para las métricas, instala la versión 2.22.0 o una posterior.
  • Para los registros, instala la versión 2.22.0 o una posterior.

Esta integración es compatible con las versiones 12.2, 18c, 19c y 21c de Oracle DB.

Configurar la instancia de Oracle DB

Para recoger métricas, un usuario de monitorización necesita acceso SELECT a las vistas correspondientes. La siguiente secuencia de comandos SQL debería crear un usuario de monitorización y darle los permisos adecuados si la ejecuta un usuario con permisos suficientes conectado a la instancia de la base de datos Oracle como SYSDBA o SYSOPER.

-- Create the monitoring user "otel"
CREATE USER otel IDENTIFIED BY ;

-- Grant the "otel" user the required permissions
GRANT CONNECT TO otel;
GRANT SELECT ON SYS.GV_$DATABASE to otel;
GRANT SELECT ON SYS.GV_$INSTANCE to otel;
GRANT SELECT ON SYS.GV_$PROCESS to otel;
GRANT SELECT ON SYS.GV_$RESOURCE_LIMIT to otel;
GRANT SELECT ON SYS.GV_$SYSMETRIC to otel;
GRANT SELECT ON SYS.GV_$SYSSTAT to otel;
GRANT SELECT ON SYS.GV_$SYSTEM_EVENT to otel;
GRANT SELECT ON SYS.V_$RMAN_BACKUP_JOB_DETAILS to otel;
GRANT SELECT ON SYS.V_$SORT_SEGMENT to otel;
GRANT SELECT ON SYS.V_$TABLESPACE to otel;
GRANT SELECT ON SYS.V_$TEMPFILE to otel;
GRANT SELECT ON SYS.DBA_DATA_FILES to otel;
GRANT SELECT ON SYS.DBA_FREE_SPACE to otel;
GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS to otel;
GRANT SELECT ON SYS.DBA_TABLESPACES to otel;
GRANT SELECT ON SYS.GLOBAL_NAME to otel;

Configurar el agente de operaciones para Oracle DB

Siga la guía para configurar el agente de operaciones, añada los elementos necesarios para recoger telemetría de las instancias de Oracle DB y reinicie el agente.

Configuración de ejemplo

Los siguientes comandos crean la configuración para recoger e ingerir telemetría de Oracle DB:

# Configures Ops Agent to collect telemetry from the app. You must restart the agent for the configuration to take effect.

set -e

# Check if the file exists
if [ ! -f /etc/google-cloud-ops-agent/config.yaml ]; then
  # Create the file if it doesn't exist.
  sudo mkdir -p /etc/google-cloud-ops-agent
  sudo touch /etc/google-cloud-ops-agent/config.yaml
fi

# Create a back up of the existing file so existing configurations are not lost.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak

# Configure the Ops Agent.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    oracledb_audit:
      type: oracledb_audit
      oracle_home: /opt/oracle
    oracledb_alert:
      type: oracledb_alert
      oracle_home: /opt/oracle
  service:
    pipelines:
      oracledb:
        receivers:
          - oracledb_audit
          - oracledb_alert
metrics:
  receivers:
    oracledb:
      type: oracledb
      username: otel
      password: ora19c
      sid: ORCLCDB
      service_name: ORCLCDB
  service:
    log_level: debug
    pipelines:
      oracledb:
        receivers:
          - oracledb
EOF

Para que estos cambios se apliquen, debes reiniciar el agente de Ops:

Linux

  1. Para reiniciar el agente, ejecuta el siguiente comando en tu instancia:
    sudo systemctl restart google-cloud-ops-agent
    
  2. Para confirmar que el agente se ha reiniciado, ejecuta el siguiente comando y verifica que los componentes "Metrics Agent" y "Logging Agent" se han iniciado:
    sudo systemctl status "google-cloud-ops-agent*"
    

Windows

  1. Conéctate a tu instancia mediante RDP o una herramienta similar e inicia sesión en Windows.
  2. Abre un terminal de PowerShell con privilegios de administrador haciendo clic con el botón derecho en el icono de PowerShell y seleccionando Ejecutar como administrador.
  3. Para reiniciar el agente, ejecuta el siguiente comando de PowerShell:
    Restart-Service google-cloud-ops-agent -Force
    
  4. Para confirmar que el agente se ha reiniciado, ejecuta el siguiente comando y verifica que los componentes "Metrics Agent" y "Logging Agent" se han iniciado:
    Get-Service google-cloud-ops-agent*
    

Configurar la recogida de registros

Para ingerir registros de Oracle DB, debes crear un receptor para los registros que genera Oracle DB y, a continuación, crear una canalización para el nuevo receptor.

Para configurar un receptor de tus registros oracledb_audit, especifica los siguientes campos:

Campo Predeterminado Descripción
exclude_paths Lista de patrones de rutas del sistema de archivos que se excluirán del conjunto que coincida con include_paths.
include_paths Lista de rutas del sistema de archivos que se van a leer siguiendo cada archivo. Se puede usar un comodín (*) en las rutas. No se puede proporcionar con el campo oracle_home.
oracle_home Ubicación del ORACLE_HOME del entorno. Si se proporciona, se asigna el valor $ORACLE_HOME/admin/*/adump/*.aud a include_paths. No se puede proporcionar con el campo include_paths.
record_log_file_path false Si se asigna el valor true, la ruta al archivo específico del que se ha obtenido el registro de log aparece en la entrada de log de salida como valor de la etiqueta agent.googleapis.com/log_file_path. Cuando se usa un comodín, solo se registra la ruta del archivo del que se ha obtenido el registro.
type Este valor debe ser oracledb_audit.
wildcard_refresh_interval 60s Intervalo en el que se actualizan las rutas de archivos con comodines en include_paths. Se indica como duración; por ejemplo, 30s o 2m. Esta propiedad puede ser útil cuando el volumen de registros es alto y los archivos de registro se rotan más rápido que el intervalo predeterminado.

Para configurar un receptor de tus registros oracledb_alert, especifica los siguientes campos:

Campo Predeterminado Descripción
exclude_paths Lista de patrones de rutas del sistema de archivos que se excluirán del conjunto que coincida con include_paths.
include_paths Lista de rutas del sistema de archivos que se van a leer siguiendo cada archivo. Se puede usar un comodín (*) en las rutas. No se puede proporcionar con el campo oracle_home.
oracle_home Ubicación del ORACLE_HOME del entorno. Si se proporciona, se asigna el valor $ORACLE_HOME/diag/rdbms/*/*/trace/alert_*.log a include_paths. No se puede proporcionar con el campo include_paths.
record_log_file_path false Si se asigna el valor true, la ruta al archivo específico del que se ha obtenido el registro de log aparece en la entrada de log de salida como valor de la etiqueta agent.googleapis.com/log_file_path. Cuando se usa un comodín, solo se registra la ruta del archivo del que se ha obtenido el registro.
type El valor debe ser oracledb_alert.
wildcard_refresh_interval 60s Intervalo en el que se actualizan las rutas de archivos con comodines en include_paths. Se indica como duración; por ejemplo, 30s o 2m. Esta propiedad puede ser útil cuando el volumen de registros es alto y los archivos de registro se rotan más rápido que el intervalo predeterminado.

Qué se registra

El logName se deriva de los IDs de receptor especificados en la configuración. Los campos detallados de LogEntry son los siguientes.

Los registros de oracledb_alert contienen los siguientes campos en LogEntry:

Campo Tipo Descripción
jsonPayload.message cadena Mensaje de registro
severity cadena (LogSeverity) Nivel de entrada de registro (traducido).

Los registros de oracledb_audit contienen los siguientes campos en LogEntry:

Campo Tipo Descripción
jsonPayload.action cadena Acción que se registra en el registro de auditoría
jsonPayload.action_number número Número que identifica el tipo de acción que se está registrando.
jsonPayload.client_terminal cadena Identificador del terminal del cliente en el que se originó la acción.
jsonPayload.client_user cadena Usuario cliente de la acción auditada
jsonPayload.database_user cadena Usuario de la base de datos de la acción auditada
jsonPayload.dbid número Identificador de base de datos
jsonPayload.length número Longitud de la cadena que representa la acción que se está registrando.
jsonPayload.privilege cadena Privilegio de base de datos con el que se ha ejecutado la acción
jsonPayload.sessionid número Identificador de sesión.
jsonPayload.status cadena Estado de la acción
jsonPayload.user_host cadena Host en el que se ha originado la acción auditada
severity cadena (LogSeverity) Nivel de entrada de registro (traducido).

Configurar recogida de métricas

Para ingerir métricas de Oracle DB, debes crear un receptor para las métricas que genera Oracle DB y, a continuación, crear una canalización para el nuevo receptor.

Este receptor no admite el uso de varias instancias en la configuración, por ejemplo, para monitorizar varios endpoints. Todas estas instancias escriben en la misma serie temporal y Cloud Monitoring no tiene forma de distinguirlas.

Para configurar un receptor de sus métricas de oracledb, especifique los siguientes campos:

Campo Predeterminado Descripción
collection_interval 60s Un valor de duración, como 30s o 5m.
endpoint localhost:1521 Endpoint usado para conectarse a la instancia de la base de datos Oracle. Este campo admite host:port o una ruta de socket Unix.
insecure true Define si se debe usar una conexión TLS segura. Si se le asigna el valor false, TLS se habilita.
insecure_skip_verify false Define si se debe omitir la verificación del certificado. Si insecure se define como true, no se utiliza el valor de insecure_skip_verify.
password La contraseña que se usa para conectarse a la instancia.
service_name Nombre del servicio de la base de datos Oracle que se está monitorizando. Usa este campo o el campo sid, según corresponda.
sid El SID de la base de datos de Oracle que se está monitorizando. Usa este campo o el campo service_name, según corresponda.
type Este valor debe ser oracledb.
username Nombre de usuario que se ha usado para conectarse a la instancia.
wallet Ruta al directorio que contiene el archivo de cartera de Oracle que se usa de forma opcional para la autenticación y la protección de las conexiones.

Qué se monitoriza

En la siguiente tabla se muestra la lista de métricas que recoge el agente de Ops de la instancia de Oracle DB.

Tipo de métrica 
Tipo
Recursos monitorizados
Etiquetas
workload.googleapis.com/oracle.backup.latest
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
workload.googleapis.com/oracle.buffer.cache.ratio
GAUGEDOUBLE
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.cursor.count
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.cursor.current
GAUGEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.disk.operation.count
CUMULATIVEINT64
gce_instance
database_id
db_system
direction
global_name
instance_id
workload.googleapis.com/oracle.disk.operation.size
CUMULATIVEINT64
gce_instance
database_id
db_system
direction
global_name
instance_id
workload.googleapis.com/oracle.logon.count
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.logon.current
GAUGEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.network.data
CUMULATIVEINT64
gce_instance
database_id
db_system
direction
global_name
instance_id
target
workload.googleapis.com/oracle.process.count
GAUGEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.process.limit
GAUGEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.process.pga_memory.size
GAUGEINT64
gce_instance
database_id
db_system
global_name
instance_id
program
state
workload.googleapis.com/oracle.row.cache.ratio
GAUGEDOUBLE
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.service.response_time
GAUGEDOUBLE
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.session.count
GAUGEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.session.limit
GAUGEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.sort.count
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
type
workload.googleapis.com/oracle.sort.row.count
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.tablespace.count
GAUGEINT64
gce_instance
contents
database_id
db_system
global_name
status
workload.googleapis.com/oracle.tablespace.size
GAUGEINT64
gce_instance
contents
database_id
db_system
global_name
state
tablespace_name
workload.googleapis.com/oracle.user.calls
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.user.commits
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.user.rollbacks
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
workload.googleapis.com/oracle.wait.count
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
type
wait_class
workload.googleapis.com/oracle.wait.time
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
type
wait_class
workload.googleapis.com/oracle.wait.timeouts
CUMULATIVEINT64
gce_instance
database_id
db_system
global_name
instance_id
type
wait_class

Verificar la configuración

En esta sección se describe cómo verificar que ha configurado correctamente el receptor de la base de datos de Oracle. El agente de Ops puede tardar uno o dos minutos en empezar a recoger datos de telemetría.

Para verificar que los registros de la base de datos de Oracle se envían a Cloud Logging, haz lo siguiente:

  1. En la Google Cloud consola, ve a la página Explorador de registros:

    Ve al Explorador de registros.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Registro.

  2. Introduce la siguiente consulta en el editor y haz clic en Ejecutar consulta:
    resource.type="gce_instance"
    (log_id("oracledb_alert") OR log_id("oracledb_audit"))
    

Para verificar que las métricas de la base de datos de Oracle se envían a Cloud Monitoring, haga lo siguiente:

  1. En la Google Cloud consola, ve a la página  Explorador de métricas:

    Ve al explorador de métricas.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.

  2. En la barra de herramientas del panel de creación de consultas, selecciona el botón cuyo nombre sea  MQL o  PromQL.
  3. Verifica que PromQL esté seleccionado en el interruptor Idioma. El interruptor de idioma se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.
  4. Introduce la siguiente consulta en el editor y haz clic en Ejecutar consulta:
    {"workload.googleapis.com/oracle.logon.count", monitored_resource="gce_instance"}
    

Ver panel de control

Para ver las métricas de tu base de datos de Oracle, debes tener configurado un gráfico o un panel de control. La integración de la base de datos de Oracle incluye uno o varios paneles de control. Los paneles de control se instalan automáticamente después de configurar la integración y cuando el agente de Ops ha empezado a recoger datos de métricas.

También puedes ver vistas previas estáticas de los paneles de control sin instalar la integración.

Para ver un panel de control instalado, siga estos pasos:

  1. En la Google Cloud consola, ve a la página  Paneles de control:

    Ve a Paneles.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.

  2. Seleccione la pestaña Lista de paneles de control y, a continuación, elija la categoría Integraciones.
  3. Haga clic en el nombre del panel de control que quiera ver.

Si has configurado una integración, pero el panel de control no se ha instalado, comprueba que el agente de operaciones se esté ejecutando. Si no hay datos de métricas para un gráfico del panel de control, no se podrá instalar el panel. Una vez que el agente de Ops empiece a recoger métricas, se instalará el panel de control.

Para ver una vista previa estática del panel de control, siga estos pasos:

  1. En la Google Cloud consola, ve a la página  Integraciones:

    Ve a Integraciones.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.

  2. Haz clic en el filtro de plataforma de implementación Compute Engine.
  3. Busca la entrada de Oracle DB y haz clic en Ver detalles.
  4. Seleccione la pestaña Paneles para ver una vista previa estática. Si el panel de control está instalado, puedes acceder a él haciendo clic en Ver panel de control.

Para obtener más información sobre los paneles de control de Cloud Monitoring, consulta Paneles de control y gráficos.

Para obtener más información sobre cómo usar la página Integraciones, consulta el artículo Gestionar integraciones.

Instalar políticas de alertas

Las políticas de alertas indican a Cloud Monitoring que te envíe una notificación cuando se produzcan las condiciones especificadas. La integración de Oracle DB incluye una o varias políticas de alertas que puedes usar. Puedes ver e instalar estas políticas de alertas desde la página Integraciones de Monitoring.

Para ver las descripciones de las políticas de alertas disponibles e instalarlas, haz lo siguiente:

  1. En la Google Cloud consola, ve a la página  Integraciones:

    Ve a Integraciones.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.

  2. Busca la entrada de Oracle DB y haz clic en Ver detalles.
  3. Selecciona la pestaña Alertas. En esta pestaña se ofrecen descripciones de las políticas de alertas disponibles y se proporciona una interfaz para instalarlas.
  4. Instala las políticas de alertas. Las políticas de alertas necesitan saber dónde enviar las notificaciones de que se ha activado una alerta, por lo que requieren información para la instalación. Para instalar políticas de alertas, haz lo siguiente:
    1. En la lista de políticas de alertas disponibles, selecciona las que quieras instalar.
    2. En la sección Configurar notificaciones, selecciona uno o varios canales de notificación. Puedes inhabilitar el uso de canales de notificación, pero si lo haces, tus políticas de alertas se activarán de forma silenciosa. Puedes consultar su estado en Monitorización, pero no recibirás ninguna notificación.

      Para obtener más información sobre los canales de notificación, consulta el artículo Gestionar canales de notificación.

    3. Haz clic en Crear políticas.

Para obtener más información sobre las políticas de alertas en Cloud Monitoring, consulta la introducción a las alertas.

Para obtener más información sobre cómo usar la página Integraciones, consulta el artículo Gestionar integraciones.

Siguientes pasos

Para ver una guía sobre cómo usar Ansible para instalar el Agente de operaciones, configurar una aplicación de terceros e instalar un panel de control de ejemplo, consulta el vídeo Instalar el Agente de operaciones para solucionar problemas con aplicaciones de terceros.