Configure o agente para o Oracle

Pode configurar o agente do Google Cloud para cargas de trabalho de computação no anfitrião juntamente com a sua base de dados Oracle para recolher métricas e monitorizar as cargas de trabalho da base de dados Oracle. Google Cloud

Este documento mostra como instalar, configurar e validar o agente para cargas de trabalho do Compute em instâncias do Compute Engine que executam cargas de trabalho da base de dados Oracle.

O agente recolhe várias métricas da Oracle consultando as vistas de desempenho da base de dados Oracle (como V$DATABASE, V$INSTANCE e V$DATAGUARD_STATS) e as vistas do dicionário de dados (como DBA_DATA_FILES e DBA_FREE_SPACE). Em seguida, estas métricas são enviadas para o Cloud Monitoring, onde podem ser visualizadas e analisadas. Consulte as métricas suportadas.

Requisitos de sistema

Sistemas operativos Versões do Oracle Edições Oracle
  • Versões 7, 8 e 9 do Red Hat Enterprise Linux
  • Versões 7, 8 e 9 do Oracle Linux
  • Oracle Database 19c
  • Oracle Database 23ai*
  • Enterprise Edition
  • Edição Standard
  • Edição Express (gratuita)

Pré-requisitos

Antes de instalar o agente para cargas de trabalho de computação para monitorizar as cargas de trabalho da base de dados Oracle, certifique-se de que os seguintes pré-requisitos são cumpridos:

Instale o agente

Para instalar o agente para cargas de trabalho de computação, faça o seguinte:

  1. Crie um ficheiro de configuração do repositório.

    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. Atualize os metadados do gestor de pacotes.

    sudo yum makecache
    
  3. Instale o pacote rpm google-cloud-workload-agent.

    sudo yum install google-cloud-workload-agent
    

Depois de instalar o agente para o Oracle, valide a instalação do agente.

Valide a instalação do agente

Para verificar se o agente está em execução, selecione o seu sistema operativo e, em seguida, siga os passos:

  1. Use o SSH para estabelecer ligação à instância de VM.
  2. Execute o seguinte comando:

    systemctl status google-cloud-workload-agent
    

    Se o agente estiver a funcionar corretamente, o resultado contém active (running). Por exemplo:

    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.
    

    Se o agente não estiver em execução, experimente reiniciá-lo.

Configure o agente

Depois de instalar o agente para cargas de trabalho de computação, opcionalmente, pode ativar outras funcionalidades do agente atualizando o ficheiro de configuração do agente. Para ver uma lista dos parâmetros que pode configurar para cargas de trabalho da base de dados Oracle, consulte os Parâmetros de configuração.

Depois de configurar o agente, pode verificar novamente a instalação para se certificar de que o agente está configurado corretamente.

Parâmetros de configuração

O agente para cargas de trabalho de computação suporta os seguintes parâmetros de configuração para o Oracle:

Parâmetro Descrição
log_level

String

Para definir o nível de registo do agente, adicione os níveis de registo. Os níveis de registo disponíveis são os seguintes:
  • DEBUG
  • INFO
  • WARNING
  • ERROR
A predefinição é INFO.
log_to_cloud

Boolean

Para redirecionar os registos do agente para o Cloud Logging, especifique true. A predefinição é true.

oracle_configuration.enabled

Boolean

Opcional. Determina se o serviço Oracle está ativo. Quando definida como true, ou se não estiver definida e a carga de trabalho estiver presente, pode configurar a deteção e a recolha de métricas. Se estiver definido como false, o serviço Oracle e as respetivas funcionalidades relacionadas são desativados.

Os seguintes parâmetros secundários só são aplicáveis quando especifica oracle_configuration.enabled: true.
oracle_configuration.oracle_discovery.enabled

Boolean

Opcional. Determina se o Oracle Discovery está ativo.

O valor predefinido é true.

oracle_configuration.oracle_discovery.update_frequency

Int

Opcional. Especifique o intervalo de amostragem, em segundos, que determina a frequência com que o agente para cargas de trabalho de computação executa o processo de deteção. O valor predefinido é 3600 segundos (1 hora).

Certifique-se de que o valor termina com um "s" em minúsculas para indicar segundos. Por exemplo: 30s.

oracle_configuration.oracle_metrics.enabled

Boolean

Opcional. Para permitir que o agente para cargas de trabalho do Compute recolha as métricas de monitorização da Oracle, especifique true. O valor predefinido é false.

Os seguintes parâmetros secundários só são aplicáveis quando especifica oracle_metrics.enabled: true.

oracle_configuration.oracle_metrics.collection_frequency

Int

Opcional. Especifique o intervalo de amostragem, em segundos, que determina a frequência com que o agente para cargas de trabalho de computação consulta as suas instâncias da base de dados Oracle para recolher as métricas de monitorização da Oracle. O valor predefinido é 60 segundos.

Certifique-se de que o valor termina com um "s" em minúsculas para indicar segundos. Por exemplo: 30s.

oracle_configuration.oracle_metrics.query_timeout

String

Opcional. Especifique o limite de tempo para cada consulta feita às instâncias da base de dados Oracle. O valor predefinido é 10 segundos.

Certifique-se de que o valor termina com um "s" em minúsculas para indicar segundos. Por exemplo: 30s.

oracle_configuration.oracle_metrics.connection_parameters.username

String

Especifica a conta de utilizador que é usada para consultar a instância da base de dados Oracle.

Certifique-se de que este utilizador tem as autorizações necessárias para ler as visualizações de desempenho na sua base de dados Oracle.

oracle_configuration.oracle_metrics.connection_parameters.host

String

Especifica o identificador da máquina local que aloja a instância da base de dados.

oracle_configuration.oracle_metrics.connection_parameters.port

Int

Especifica a porta na qual a sua instância da base de dados Oracle aceita consultas.

oracle_configuration.oracle_metrics.connection_parameters.service_name

String

Especifica o nome do serviço para a instância da base de dados Oracle que quer que o agente monitorize.

oracle_configuration.oracle_metrics.connection_parameters.secret.project_id

String

Especifica o ID do projeto do Secret Manager para obter a palavra-passe do utilizador que faz consultas à base de dados.

oracle_configuration.oracle_metrics.connection_parameters.secret.secret_name

String

Especifica o nome do segredo no Secret Manager que armazena a palavra-passe da conta de utilizador.

Recolha e veja métricas da Oracle

Pode ativar a recolha de métricas para cargas de trabalho da base de dados do Oracle. Consulte as métricas suportadas.

Ative a recolha de métricas

Para ativar a recolha de métricas da Oracle através do agente para cargas de trabalho de computação, faça o seguinte:

  1. Use o SSH para estabelecer ligação à instância de VM.

  2. Como utilizador do SO Oracle, execute a ferramenta oraenv para definir as variáveis de ambiente. Partimos do princípio de que já definiu o utilizador oracle e o ORACLE_SID no ficheiro /etc/oratab.

    sudo su - oracle
    export PATH=$PATH:/usr/local/bin
    . oraenv
    sqlplus / as sysdba
    
  3. Como utilizador SYSDBA ou SYSOPER, na base de dados Oracle, crie um utilizador para a monitorização com uma palavra-passe correspondente ao segredo que criou nos pré-requisitos.

    CREATE USER wlmagent IDENTIFIED BY password;
    
  4. Como utilizador SYSDBA ou SYSOPER, conceda as seguintes autorizações ao utilizador de monitorização para consultar as vistas de desempenho:

    • SESSION
    • SELECT_CATALOG_ROLE
    • SYSDG
    GRANT CREATE SESSION,SELECT_CATALOG_ROLE,SYSDG TO wlmagent;
    
  5. Saia do utilizador sqlplus e do utilizador oracle.

  6. Como utilizador raiz, edite o ficheiro de configuração do agente através do seu editor preferido.

    sudo nano /etc/google-cloud-workload-agent/configuration.json
    
  7. No ficheiro de configuração, edite a secção oracle_metrics para fazer as seguintes atualizações:

    1. Defina o parâmetro enabled como true.
    2. Defina o parâmetro service_name para especificar o nome do serviço da instância do Oracle que quer que o agente monitorize.
    3. Especifique o nome de utilizador do Oracle para o agente estabelecer ligação à sua base de dados.
    4. Defina os parâmetros host e port para que o agente se ligue à sua base de dados.
    5. Defina o parâmetro secret para o agente obter uma palavra-passe para o nome de utilizador:
      • project_id: o ID do projeto que contém os dados do Secret Manager.
      • secret_name: o nome do segredo no Secret Manager.

    Segue-se um exemplo de um ficheiro de configuração:

    {
      "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. Guarde o ficheiro de configuração.

  9. Reinicie o agente para que as novas definições entrem em vigor.

Veja as métricas

Pode ver as métricas recolhidas e monitorizar o desempenho e o estado do Oracle através do Explorador de métricas ou importando um painel de controlo personalizado.

Veja métricas no Explorador de métricas

Para ver as métricas da Oracle no explorador de métricas, faça o seguinte:

  1. Na Google Cloud consola, aceda a Monitorização.
  2. Clique em Explorador de métricas.
  3. Em Encontre o tipo de recurso e a métrica, faça o seguinte:
    1. Para Tipo de recurso, selecione Instância de VM.
    2. Para Métrica, selecione as métricas da Oracle que quer ver.

Pode ver dados em tempo real e do histórico para as métricas da Oracle selecionadas, usando filtros e agregação, conforme necessário.

Importe um painel de controlo personalizado

Para ver as métricas da Oracle recolhidas pelo agente, pode criar painéis de controlo do Cloud Monitoring personalizados seguindo as instruções em Crie e faça a gestão de painéis de controlo personalizados.

Disponibilizamos um exemplo de painel de controlo oracle-status-overview.json e instruções sobre como importá-lo. O painel de controlo oracle-status-overview.json mostra os seguintes gráficos de métricas da Oracle:

  • Análise detalhada do tempo da base de dados
  • Utilização de memória da base de dados
  • Média de sessões ativas por classe de espera
  • E/S de disco
  • Utilização da CPU
  • Tráfego de rede

Para importar o painel de controlo oracle-status-overview.json, faça o seguinte:

  1. Verifique se a CLI gcloud está instalada e atualizada. Para ver instruções, consulte o artigo Instale a CLI gcloud.

  2. No repositório do GitHub do agente para cargas de trabalho de computação, transfira o painel de controlo 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. Execute o seguinte comando para importar o painel de controlo:

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

    Depois de executar o comando, o painel de controlo personalizado é criado no Cloud Monitoring. Para saber como ver um painel de controlo, consulte o artigo Encontre e veja um painel de controlo.

Métricas compatíveis

Todas as métricas da Oracle recolhidas pelo agente para cargas de trabalho de computação estão disponíveis no caminho workload.googleapis.com/oracle.

Segue-se uma lista das métricas da Oracle suportadas e os respetivos caminhos do Cloud Monitoring:

  • Processar memória

    • Memória do processo (PGA) em utilização, em bytes.

      process/pga_memory/total_used_size

    • Memória do processo (PGA) alocada, em bytes

      process/pga_memory/total_allocated_size

  • Memória partilhada

    • Tamanho do item de memória partilhada (SGA), em bytes

      process/sga_memory/size

  • Eventos de espera do sistema

    • Número total de esperas por uma classe de espera registada

      sys_wait/count

    • Tempo agregado gasto nesta classe de espera, em segundos

      sys_wait/time

    • Total de esperas em primeiro plano nesta classe de espera

      sys_wait/foreground/count

    • Tempo de espera em primeiro plano agregado para esta classe de espera, em segundos

      sys_wait/foreground/time

  • Tempo decorrido do sistema

    • Tempo decorrido gasto a fazer chamadas ao nível do utilizador da base de dados, em segundos

      sys_time/db_time

    • Tempo da CPU gasto em chamadas ao nível do utilizador da base de dados, em segundos

      sys_time/db_cpu

    • Quantidade de tempo decorrido durante a execução das declarações SQL

      sys_time/sql_execute_elapsed_time

    • Quantidade de tempo decorrido gasto a analisar declarações SQL

      sys_time/parse_time_elapsed

    • Quantidade de tempo decorrido gasto na execução do intérprete PL/SQL

      sys_time/pl_sql_execution_elapsed_time

    • Tempo decorrido consumido por processos em segundo plano da base de dados, em segundos

      sys_time/background_elapsed_time

  • Estatísticas de E/S

    • Contagem total de operações de leitura (pequenas + grandes)

      iostat/read_ops_count

    • Contagem total de operações de escrita (pequenas + grandes)

      iostat/write_ops_count

    • Número total de bytes lidos

      iostat/read_bytes_count

    • Número total de bytes escritos

      iostat/write_bytes_count

    • Latência média por operação de E/S

      iostat/average_latency_seconds

  • Ficheiros de dados

    • Tamanho alocado do ficheiro de dados, em bytes

      data_files/total_bytes

    • Espaço do ficheiro de dados em utilização, em bytes

      data_files/bytes_used

    • Espaço livre do ficheiro de dados, em bytes

      data_files/available_bytes

    • Limite de extensão automática do ficheiro de dados, em bytes

      data_files/max_bytes

    • Percentagem do ficheiro de dados usado

      data_files/percent_used

  • Instância de base de dados

    • Tempo de atividade da instância, em segundos

      instance/uptime

    • Estado da instância

      instance/status

      Esta métrica pode ter os seguintes valores:

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

      instance/db_open_mode

      Esta métrica pode ter os seguintes valores:

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

    • Tempo até à aplicação da ação Refazer (em segundos)

      dataguard/apply_lag

    • Redo transport delay, in seconds

      dataguard/transport_lag

Faça a gestão do agente

Reinicie o agente

Se o agente para cargas de trabalho de computação parar de funcionar ou atualizar a respetiva configuração, reinicie o agente.

  1. Use o SSH para estabelecer ligação à instância de VM.
  2. Execute o seguinte comando:

    sudo systemctl restart google-cloud-workload-agent

Verifique a versão do agente

Para verificar a versão do seu agente, conclua os seguintes passos:

  1. Use o SSH para estabelecer ligação à instância de VM.
  2. Execute o seguinte comando:

    yum info google-cloud-workload-agent
    

Procure atualizações

  1. Use o SSH para estabelecer ligação à instância de VM.
  2. Execute o seguinte comando:

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

Atualize o agente

Para se certificar de que tem a versão mais recente do agente, verifique se existem atualizações periodicamente e atualize o agente:

  1. Use o SSH para estabelecer ligação à instância de VM.
  2. Execute o seguinte comando:

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

Veja os registos do agente

Os registos do agente para cargas de trabalho de computação estão disponíveis em /var/log/google-cloud-workload-agent.log.

O nível de detalhe do registo é controlado pelo parâmetro log_level. A definição do DEBUGnível de registo inclui informações adicionais para resolver problemas específicos, mas produz registos significativamente maiores.

Por predefinição, os registos do agente para cargas de trabalho de computação são redirecionados das instâncias de VM para o Cloud Logging.

Para ver os registos do agente no Logging, siga estes passos:

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Aceda ao painel Consulta.

  3. No menu pendente Recursos, selecione Global e, de seguida, clique em Aplicar.

  4. No editor de consultas, introduza google-cloud-workload-agent.

  5. Clique em Executar consulta.

Pode ver os registos gerados pelo agente em execução em todas as suas instâncias de VM. Pode filtrar os registos para uma instância específica.

Configure os registos do agente no Cloud Logging

Para desativar o redirecionamento predefinido dos registos do agente para o Cloud Logging, siga estes passos:

  1. Use o SSH para estabelecer ligação à instância de VM.

  2. Abra o ficheiro de configuração do agente:

    /etc/google-cloud-workload-agent/configuration.json
  3. Para a propriedade log_to_cloud, atualize o valor para false.

  4. Guarde o ficheiro de configuração.

  5. Reinicie o agente para que esta alteração entre em vigor.

Resolução de problemas

As secções seguintes fornecem informações sobre problemas comuns relacionados com a utilização do agente para cargas de trabalho da base de dados Oracle, as respetivas causas e resolução.

Autorizações de IAM insuficientes

Problema: os registos do agente para cargas de trabalho de computação mostram um erro de permissões do IAM insuficientes.

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

Causa: a conta de serviço usada pelo agente não tem as autorizações do IAM necessárias para aceder às APIs ou a uma palavra-passe para o utilizador do Oracle no Secret Manager. Google Cloud

Resolução: para resolver este problema, certifique-se de que a conta de serviço da VM tem as funções e as autorizações do IAM mencionadas nos pré-requisitos.

Âmbitos de autenticação insuficientes

Problema: os registos do agente para cargas de trabalho de computação mostram âmbitos de autenticação insuficientes.

googleapi: Error 403: Request had insufficient authentication scopes.

Causa: a conta de serviço usada pelo agente não tem o âmbito de acesso necessário.

Resolução: para resolver este problema, configure os âmbitos de acesso da VM para cloud-platform.

As métricas não são apresentadas no Cloud Monitoring

Problema: as métricas do agente para cargas de trabalho de computação não estão visíveis no Cloud Monitoring.

Causa:

Seguem-se as possíveis causas deste problema:

  • A conta de serviço usada pelo agente para cargas de trabalho do Compute não tem as autorizações de IAM necessárias.
  • O utilizador do Oracle usado pelo agente não tem privilégios suficientes para consultar as visualizações de desempenho.
  • Existem erros na configuração do agente.

Resolução:

  • Para resolver o problema com as autorizações insuficientes para a conta de serviço, faça o seguinte:

    1. Na Google Cloud consola, aceda à página Detalhes da instância de VM e tome nota da conta de serviço que está a ser usada pela instância que executa o agente.
    2. Aceda à página IAM e administrador e certifique-se de que a conta de serviço tem todas as funções e autorizações necessárias mencionadas nos Pré-requisitos. Conceda qualquer uma das funções em falta necessárias à conta de serviço.
  • Para resolver o problema com as autorizações insuficientes para o utilizador do Oracle, faça o seguinte:

    1. Verifique se o utilizador do Oracle tem as seguintes autorizações necessárias para consultar as visualizações de desempenho:

      • SESSION
      • SELECT_CATALOG_ROLE
      • SYSDG
    2. Conceda qualquer uma das autorizações em falta executando o seguinte comando SQL:

      -- Grant the "wlmagent" user the required permissions
      GRANT CREATE SESSION,SELECT_CATALOG_ROLE,SYSDG TO USERNAME;
      
  • Para resolver o problema com a configuração incorreta do agente, faça o seguinte:

    1. Use o SSH para estabelecer ligação à instância de VM.
    2. Reveja os registos do agente para identificar erros ou problemas que impeçam a recolha de métricas. Pode encontrar os registos em /var/log/google-cloud-workload-agent.log.

      Procure erros de autorização, erros de configuração ou problemas de conetividade.

    3. Resolva os erros.

    4. Reinicie o agente e verifique se a recolha de métricas é iniciada.

Falha ao carregar o ficheiro de configuração

Problema: se o ficheiro de configuração tiver valores inválidos, é apresentado o seguinte erro.

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

Resolução: para resolver este problema, atualize o ficheiro de configuração com os detalhes em Parâmetros de configuração.

Falha ao inicializar a recolha de dados

Problema: após a instalação do agente, se o ficheiro de configuração não for atualizado, é apresentado o seguinte erro:

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

Resolução: para resolver este problema, inicialize a configuração das credenciais com os parâmetros de configuração.