Configurar el agente para cargas de trabajo de Oracle

Puedes configurar el agente de Google Cloudpara cargas de trabajo de Compute en el host junto con tu base de datos de Oracle para recoger métricas y monitorizar tus cargas de trabajo de Oracle Database.

En este documento se explica cómo instalar, configurar y verificar el agente para cargas de trabajo de Compute en instancias de Compute Engine que ejecutan cargas de trabajo de Oracle Database.

El agente recoge varias métricas de Oracle consultando las vistas de rendimiento de Oracle Database (como V$DATABASE, V$INSTANCE y V$DATAGUARD_STATS) y las vistas del diccionario de datos (como DBA_DATA_FILES y DBA_FREE_SPACE). Estas métricas se envían a Cloud Monitoring, donde se pueden visualizar y analizar. Consulta las métricas admitidas.

Requisitos del sistema

Sistemas operativos Versiones de Oracle Ediciones de Oracle
  • Versiones 7, 8 y 9 de Red Hat Enterprise Linux
  • Versiones 7, 8 y 9 de Oracle Linux
  • Oracle Database 19c
  • Oracle Database 23ai*
  • Enterprise Edition
  • Standard Edition
  • Edición Express (gratuita)

Requisitos previos

Antes de instalar Agent for Compute Workloads para monitorizar tus cargas de trabajo de Oracle Database, asegúrate de que se cumplen los siguientes requisitos previos:

Instalar el agente

Para instalar el agente para cargas de trabajo de Compute, haz lo siguiente:

  1. Crea un archivo de configuración de repositorio.

    sudo tee /etc/yum.repos.d/google-cloud-workload-agent.repo << EOM
    [google-cloud-workload-agent]
    name=Google Cloud Workload Agent
    baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-\$basearch
    enabled=1
    gpgcheck=0
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
    
  2. Actualiza los metadatos del gestor de paquetes.

    sudo yum makecache
    
  3. Instala el paquete rpm google-cloud-workload-agent.

    sudo yum install google-cloud-workload-agent
    

Después de instalar el agente para Oracle, verifica la instalación del agente.

Verificar la instalación del agente

Para verificar que el agente se está ejecutando, selecciona tu sistema operativo y sigue estos pasos:

  1. Usa SSH para conectarte a tu instancia de VM.
  2. Ejecuta el siguiente comando:

    systemctl status google-cloud-workload-agent
    

    Si el agente funciona correctamente, el resultado contiene active (running). Por ejemplo:

    google-cloud-workload-agent.service - Google Cloud Workload Agent
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; preset: disabled)
    Active: active (running) since Tue 2024-09-03 22:29:57 UTC; 3s ago
    Main PID: 274972 (google_cloud_wo)
     Tasks: 10 (limit: 100440)
    Memory: 51.2M (max: 1.0G limit: 1.0G available: 972.7M)
       CPU: 625ms
    CGroup: /system.slice/google-cloud-workload-agent.service
           └─274972 /usr/bin/google_cloud_workload_agent startdaemon
    
    Sep 03 22:29:57 my_gce_instance systemd[1]: Started Google Cloud Workload Agent.
    

    Si el agente no se está ejecutando, prueba a reiniciarlo.

Configurar el agente

Después de instalar el agente para cargas de trabajo de Compute, puedes habilitar otras funciones del agente actualizando su archivo de configuración. Para ver una lista de los parámetros que puedes configurar para las cargas de trabajo de Oracle Database, consulta Parámetros de configuración.

Después de configurar el agente, puedes volver a verificar la instalación para asegurarte de que el agente se ha configurado correctamente.

Parámetros de configuración

Agent for Compute Workloads admite los siguientes parámetros de configuración para Oracle:

Parámetro Descripción
log_level

String

Para definir el nivel de registro del agente, añade los niveles de registro. Los niveles de registro disponibles son los siguientes:
  • DEBUG
  • INFO
  • WARNING
  • ERROR
El valor predeterminado es INFO.
log_to_cloud

Boolean

Para redirigir los registros del agente a Cloud Logging, especifica true. El valor predeterminado es true.

oracle_configuration.enabled

Boolean

Opcional. Determina si el servicio de Oracle está activo. Si se le asigna el valor true o no se le asigna ningún valor y la carga de trabajo está presente, puedes configurar la detección y la recogida de métricas. Si se define como false, el servicio de Oracle y sus funciones relacionadas se inhabilitan.

Los siguientes parámetros secundarios solo se aplican cuando especifica oracle_configuration.enabled: true.
oracle_configuration.oracle_discovery.enabled

Boolean

Opcional. Determina si Oracle Discovery está activo.

El valor predeterminado es true.

oracle_configuration.oracle_discovery.update_frequency

Int

Opcional. Especifica el intervalo de muestreo, en segundos, que determina la frecuencia con la que el agente de cargas de trabajo de Compute ejecuta el proceso de descubrimiento. El valor predeterminado es de 3600 segundos (1 hora).

Asegúrate de que el valor termine con una "s" en minúscula para indicar los segundos. Por ejemplo: 30s.

oracle_configuration.oracle_metrics.enabled

Boolean

Opcional. Para que Agent for Compute Workloads pueda recoger las métricas de monitorización de Oracle, especifica true. El valor predeterminado es false.

Los siguientes parámetros secundarios solo se aplican cuando especifica oracle_metrics.enabled: true.

oracle_configuration.oracle_metrics.collection_frequency

Int

Opcional. Especifica el intervalo de muestreo, en segundos, que determina la frecuencia con la que el agente de cargas de trabajo de Compute consulta tus instancias de base de datos de Oracle para recoger las métricas de monitorización de Oracle. El valor predeterminado es 60 segundos.

Asegúrate de que el valor termine con una "s" en minúscula para indicar los segundos. Por ejemplo: 30s.

oracle_configuration.oracle_metrics.query_timeout

String

Opcional. Especifica el tiempo de espera de cada consulta realizada a las instancias de la base de datos de Oracle. El valor predeterminado es 10 segundos.

Asegúrate de que el valor termine con una "s" en minúscula para indicar los segundos. Por ejemplo: 30s.

oracle_configuration.oracle_metrics.connection_parameters.username

String

Especifica la cuenta de usuario que se utiliza para consultar la instancia de Oracle Database.

Asegúrate de que este usuario tenga los permisos necesarios para leer las vistas de rendimiento de tu base de datos Oracle.

oracle_configuration.oracle_metrics.connection_parameters.host

String

Especifica el identificador del equipo local que aloja la instancia de la base de datos.

oracle_configuration.oracle_metrics.connection_parameters.port

Int

Especifica el puerto en el que tu instancia de Oracle Database acepta consultas.

oracle_configuration.oracle_metrics.connection_parameters.service_name

String

Especifica el nombre del servicio de la instancia de Oracle Database que quieres que monitorice el agente.

oracle_configuration.oracle_metrics.connection_parameters.secret.project_id

String

Especifica el ID del proyecto de Secret Manager para obtener la contraseña del usuario que hace consultas en la base de datos.

oracle_configuration.oracle_metrics.connection_parameters.secret.secret_name

String

Especifica el nombre del secreto de Secret Manager que almacena la contraseña de la cuenta de usuario.

Recoger y ver métricas de Oracle

Puede habilitar la recogida de métricas de cargas de trabajo de Oracle Database. Consulta las métricas admitidas.

Habilitar la recogida de métricas

Para habilitar la recogida de métricas de Oracle mediante el agente para cargas de trabajo de Compute, haz lo siguiente:

  1. Usa SSH para conectarte a tu instancia de VM.

  2. Como usuario del SO de Oracle, ejecuta la herramienta oraenv para definir las variables de entorno. Suponemos que ya has definido el usuario oracle y el ORACLE_SID en el archivo /etc/oratab.

    sudo su - oracle
    export PATH=$PATH:/usr/local/bin
    . oraenv
    sqlplus / as sysdba
    
  3. Como usuario SYSDBA o SYSOPER en Oracle Database, crea un usuario para la monitorización con una contraseña que coincida con el secreto que has creado en la sección Requisitos.

    CREATE USER wlmagent IDENTIFIED BY password;
    
  4. Como usuario SYSDBA o SYSOPER, concede los siguientes permisos al usuario de monitorización para consultar las vistas de rendimiento:

    • SESSION
    • SELECT_CATALOG_ROLE
    • SYSDG
    GRANT CREATE SESSION,SELECT_CATALOG_ROLE,SYSDG TO wlmagent;
    
  5. Cierra la sesión de sqlplus y del usuario oracle.

  6. Como usuario raíz, edita el archivo de configuración del agente con el editor que prefieras.

    sudo nano /etc/google-cloud-workload-agent/configuration.json
    
  7. En el archivo de configuración, edita la sección oracle_metrics para hacer los siguientes cambios:

    1. Asigna el valor true al parámetro enabled.
    2. Defina el parámetro service_name para especificar el nombre del servicio de la instancia de Oracle que quiera que monitorice el agente.
    3. Especifica el nombre de usuario de Oracle para que el agente se conecte a tu base de datos.
    4. Define los parámetros host y port para que el agente se conecte a tu base de datos.
    5. Define el parámetro secret para que el agente recupere la contraseña del nombre de usuario:
      • project_id: ID del proyecto que contiene los datos de Secret Manager.
      • secret_name: nombre del secreto en Secret Manager.

    A continuación, se muestra un ejemplo de archivo de configuración:

    {
      "log_level": "INFO",
      "common_discovery": {"collection_frequency": "3600s" },
      "oracle_configuration": {
        "enabled": true,
        "oracle_metrics": {
          "enabled": true,
          "collection_frequency": "30s",
          "connection_parameters": [
            {
              "host": "localhost",
              "port": 1521,
              "service_name": "orcl",
              "username": "wlmagent",
              "secret": {
                "project_id": "my-project",
                "secret_name": "wlmagent_password"
              }
            }
          ]
        }
      }
    }
    
  8. Guarda el archivo de configuración.

  9. Reinicia el agente para que se apliquen los nuevos ajustes.

Ver las métricas

Puede ver las métricas recogidas y monitorizar el rendimiento y el estado de Oracle mediante el explorador de métricas o importando un panel de control personalizado.

Ver métricas en el explorador de métricas

Para ver las métricas de Oracle en el explorador de métricas, haz lo siguiente:

  1. En la Google Cloud consola, ve a Monitorización.
  2. Haga clic en Explorador de métricas.
  3. En Find resource type and metric (Buscar tipo de recurso y métrica), haz lo siguiente:
    1. En Tipo de recurso, selecciona Instancia de VM.
    2. En Métrica, seleccione las métricas de Oracle que quiera ver.

Puede ver datos históricos y en tiempo real de las métricas de Oracle seleccionadas, así como usar filtros y agregaciones según sea necesario.

Importar un panel de control personalizado

Para ver las métricas de Oracle recogidas por el agente, puede crear paneles de control personalizados de Cloud Monitoring siguiendo las instrucciones que se indican en el artículo Crear y gestionar paneles de control personalizados.

Proporcionamos un panel de control de ejemplo oracle-status-overview.json e instrucciones para importarlo. El panel de control oracle-status-overview.json muestra los siguientes gráficos de métricas de Oracle:

  • Desglose del tiempo de la base de datos
  • Uso de memoria de la base de datos
  • Promedio de sesiones activas por clase de espera
  • E/S de disco
  • Uso de CPU
  • Tráfico de red

Para importar el panel de control oracle-status-overview.json, siga estos pasos:

  1. Verifica que la herramienta de línea de comandos gcloud esté instalada y actualizada. Para ver las instrucciones, consulta Instalar gcloud CLI.

  2. En el repositorio de GitHub de Agent for Compute Workloads, descarga el panel de control oracle-status-overview.json:

    $ curl -H "Accept: application/vnd.github.v3.raw" -o oracle-status-overview.json https://api.github.com/repos/GoogleCloudPlatform/workloadagent/contents/observability/dashboards/oracle-status-overview.json
    
  3. Ejecuta el siguiente comando para importar el panel de control:

    gcloud alpha monitoring dashboards create --config-from-file=oracle-status-overview.json
    

    Una vez que se haya ejecutado el comando, el panel de control personalizado se creará en Cloud Monitoring. Para saber cómo ver un panel de control, consulta el artículo Buscar y ver un panel de control.

Métricas admitidas

Todas las métricas de Oracle recogidas por el agente de cargas de trabajo de Compute están disponibles en la ruta workload.googleapis.com/oracle.

A continuación, se muestra una lista de las métricas de Oracle admitidas y sus rutas de Cloud Monitoring correspondientes:

  • Memoria de proceso

    • Memoria de proceso (PGA) en uso, en bytes.

      process/pga_memory/total_used_size

    • Memoria de proceso (PGA) asignada, en bytes

      process/pga_memory/total_allocated_size

  • Memoria compartida

    • Tamaño del elemento de memoria compartida (SGA), expresado en bytes

      process/sga_memory/size

  • Eventos de espera del sistema

    • Número total de esperas de una clase de espera registrada.

      sys_wait/count

    • Tiempo total dedicado a esta clase de espera, en segundos.

      sys_wait/time

    • Tiempo total de espera en primer plano en esta clase de espera.

      sys_wait/foreground/count

    • Tiempo de espera en primer plano agregado de esta clase de espera, en segundos.

      sys_wait/foreground/time

  • Tiempo transcurrido del sistema

    • Tiempo transcurrido dedicado a realizar llamadas a nivel de usuario de la base de datos, en segundos.

      sys_time/db_time

    • Tiempo de CPU dedicado a llamadas a nivel de usuario de la base de datos, en segundos.

      sys_time/db_cpu

    • Cantidad de tiempo transcurrido durante la ejecución de las instrucciones SQL.

      sys_time/sql_execute_elapsed_time

    • Cantidad de tiempo transcurrido durante el análisis de instrucciones SQL.

      sys_time/parse_time_elapsed

    • Cantidad de tiempo transcurrido durante la ejecución del intérprete de PL/SQL.

      sys_time/pl_sql_execution_elapsed_time

    • Tiempo transcurrido consumido por los procesos en segundo plano de la base de datos, en segundos.

      sys_time/background_elapsed_time

  • Estadísticas de E/S

    • Número total de operaciones de lectura (pequeñas y grandes)

      iostat/read_ops_count

    • Número total de operaciones de escritura (pequeñas y grandes)

      iostat/write_ops_count

    • Número total de bytes leídos

      iostat/read_bytes_count

    • Número total de bytes escritos

      iostat/write_bytes_count

    • Latencia media por operación de E/S

      iostat/average_latency_seconds

  • Archivos de datos

    • Tamaño asignado del archivo de datos, en bytes

      data_files/total_bytes

    • Espacio de archivos de datos en uso, en bytes

      data_files/bytes_used

    • Espacio libre del archivo de datos, en bytes

      data_files/available_bytes

    • Límite de extensión automática de archivos de datos, en bytes

      data_files/max_bytes

    • Porcentaje del archivo de datos usado

      data_files/percent_used

  • Instancia de base de datos

    • Tiempo de actividad de la instancia en segundos.

      instance/uptime

    • Estado de la instancia

      instance/status

      Esta métrica puede tener los siguientes valores:

      UNKNOWN 0
      STARTED 1
      MOUNTED 2
      OPEN 3
      OPEN MIGRATE 4
    • Modo Abierto

      instance/db_open_mode

      Esta métrica puede tener los siguientes valores:

      UNKNOWN 0
      MOUNTED 1
      READ WRITE 2
      READ ONLY 3
      READ ONLY WITH APPLY 4
  • Oracle Data Guard

    • Retraso de aplicación de rehacer (en segundos)

      dataguard/apply_lag

    • Retraso de transporte de rehacer, en segundos

      dataguard/transport_lag

Gestionar el agente

Reiniciar el agente

Si Agent for Compute Workloads deja de funcionar o actualiza su configuración, reinicie el agente.

  1. Usa SSH para conectarte a la instancia de VM.
  2. Ejecuta el siguiente comando:

    sudo systemctl restart google-cloud-workload-agent

Comprobar la versión del agente

Para comprobar la versión de tu agente, sigue estos pasos:

  1. Usa SSH para conectarte a la instancia de VM.
  2. Ejecuta el siguiente comando:

    yum info google-cloud-workload-agent
    

Buscar actualizaciones

  1. Usa SSH para conectarte a la instancia de VM.
  2. Ejecuta el siguiente comando:

    sudo yum check-update google-cloud-workload-agent

Actualizar el agente

Para asegurarte de que tienes la versión más reciente del agente, comprueba si hay actualizaciones periódicamente y actualiza el agente:

  1. Usa SSH para conectarte a la instancia de VM.
  2. Ejecuta el siguiente comando:

    sudo yum --nogpgcheck update google-cloud-workload-agent

Ver registros del agente

Los registros de Agent for Compute Workloads están disponibles en /var/log/google-cloud-workload-agent.log.

La verbosidad de los registros se controla mediante el parámetro log_level. El ajuste DEBUG de nivel de registro incluye información adicional para solucionar problemas específicos, pero genera registros mucho más grandes.

De forma predeterminada, los registros de Agente para cargas de trabajo de Compute se redirigen desde tus instancias de VM a Cloud Logging.

Para ver los registros del agente en Logging, sigue estos pasos:

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

    Ir a Explorador de registros

  2. Ve al panel Consulta.

  3. En el menú desplegable Recursos, selecciona Global y, a continuación, haz clic en Aplicar.

  4. En el editor de consultas, escribe google-cloud-workload-agent.

  5. Haz clic en Realizar una consulta.

Puedes ver los registros generados por el agente que se ejecuta en todas tus instancias de VM. Puede filtrar los registros de una instancia específica.

Configurar los registros del agente en Cloud Logging

Para inhabilitar la redirección predeterminada de los registros del agente a Cloud Logging, sigue estos pasos:

  1. Usa SSH para conectarte a tu instancia de VM.

  2. Abre el archivo de configuración del agente:

    /etc/google-cloud-workload-agent/configuration.json
  3. En la propiedad log_to_cloud, actualiza el valor a false.

  4. Guarda el archivo de configuración.

  5. Reinicia el agente para que se aplique este cambio.

Solución de problemas

En las siguientes secciones se proporciona información sobre los problemas habituales relacionados con el uso del agente para cargas de trabajo de Oracle Database, sus causas y cómo solucionarlos.

Permisos de gestión de identidades y accesos insuficientes

Problema: los registros del agente de cargas de trabajo de Compute muestran un error de permisos de IAM insuficientes.

googleapi: Error 403: The client is not authorized to make this request.

Causa: La cuenta de servicio que usa el agente no tiene los permisos de IAM necesarios para acceder a las APIs de Google Cloud o una contraseña para el usuario de Oracle en Secret Manager.

Solución: Para solucionar este problema, asegúrate de que la cuenta de servicio de la VM tenga los roles y permisos de gestión de identidades y accesos que se mencionan en Requisitos previos.

Ámbitos de autenticación insuficientes

Problema: Los registros del agente de cargas de trabajo de Compute muestran ámbitos de autenticación insuficientes.

googleapi: Error 403: Request had insufficient authentication scopes.

Causa: La cuenta de servicio que usa el agente no tiene el ámbito de acceso necesario.

Resolución: Para solucionar este problema, configura los ámbitos de acceso de la máquina virtual en cloud-platform.

Las métricas no se muestran en Cloud Monitoring

Problema: Las métricas del agente de cargas de trabajo de Compute no se ven en Cloud Monitoring.

Causa:

Estas son las posibles causas de este problema:

  • La cuenta de servicio que usa el agente de cargas de trabajo de Compute no tiene los permisos de gestión de identidades y accesos necesarios.
  • El usuario de Oracle que utiliza el agente no tiene suficientes privilegios para consultar vistas de rendimiento.
  • Hay errores en la configuración del agente.

Resolución:

  • Para solucionar el problema de permisos insuficientes de la cuenta de servicio, haz lo siguiente:

    1. En la Google Cloud consola, ve a la página Detalles de la instancia de VM y anota la cuenta de servicio que usa la instancia que ejecuta el agente.
    2. Ve a la página IAM y administración y asegúrate de que la cuenta de servicio tenga todos los roles y permisos necesarios que se mencionan en los requisitos. Asigna a la cuenta de servicio cualquiera de los roles que faltan.
  • Para solucionar el problema de permisos insuficientes del usuario de Oracle, haz lo siguiente:

    1. Verifica que el usuario de Oracle tenga los siguientes permisos necesarios para consultar vistas de rendimiento:

      • SESSION
      • SELECT_CATALOG_ROLE
      • SYSDG
    2. Concede los permisos que falten ejecutando el siguiente comando SQL:

      -- Grant the "wlmagent" user the required permissions
      GRANT CREATE SESSION,SELECT_CATALOG_ROLE,SYSDG TO USERNAME;
      
  • Para solucionar el problema de configuración incorrecta del agente, haz lo siguiente:

    1. Usa SSH para conectarte a tu instancia de VM.
    2. Revisa los registros del agente para identificar los errores o problemas que impidan la recogida de métricas. Puedes encontrar los registros en /var/log/google-cloud-workload-agent.log.

      Busca errores de permisos, errores de configuración o problemas de conectividad.

    3. Resuelve los errores.

    4. Reinicia el agente y comprueba si se inicia la recogida de métricas.

No se ha podido cargar el archivo de configuración

Problema: si el archivo de configuración tiene valores no válidos, aparece el siguiente error.

"Failed to load configuration","pid":3524,"error":"proto: (line 19:42): unknown
field "{field_name}"

Resolución: para solucionar este problema, actualice el archivo de configuración con los detalles que se indican en Parámetros de configuración.

No se ha podido inicializar la recogida de datos

Problema: después de instalar el agente, si el archivo de configuración no se actualiza, aparece el siguiente error:

"Failed to initialize guest collection","pid":2112,"error":"invalid value for "user_name" "secret_name"

Solución: para solucionar este problema, inicialice la configuración de las credenciales con los parámetros de configuración.