Diagnosticando e Solucionando Problemas do Oracle Cloud Agent

Ao usar o Oracle Cloud Agent, você poderá encontrar os seguintes problemas:

  • Na guia Oracle Cloud Agent da página Detalhes da Instância, o status de todos os plug-ins é Inválido.
  • Na seção Métricas do painel de controle da Console, você não pode ver qualquer métrica de CPU, memória, rede ou disco para a instância.

Se você encontrar algum desses problemas, o Oracle Cloud Agent talvez não esteja instalado ou em execução ou talvez não consiga se comunicar com os serviços Oracle. Para diagnosticar o problema específico, siga estas etapas de determinação de problemas.

Dica

Neste tópico, as instruções do Oracle Linux também se aplicam a imagens do CentOS.

Etapa 1: Verificar se o Oracle Cloud Agent está Instalado

Siga estas etapas para confirmar se o Oracle Cloud Agent está instalado na sua instância.

  1. Estabeleça conexão com a instância e execute um dos comandos a seguir, dependendo do sistema operacional.
    Oracle Linux
    rpm -q oracle-cloud-agent && echo "OCA Installed" || echo "OCA not Installed"
    

    Se o Oracle Cloud Agent estiver instalado, uma mensagem semelhante à seguinte será exibida:

    oracle-cloud-agent-<version>.x86_64
    OCA Installed
    
    Ubuntu
    snap list oracle-cloud-agent &>/dev/null && echo "OCA Installed" || echo "OCA not Installed"

    Se o Oracle Cloud Agent estiver instalado, a seguinte mensagem será exibida:

    OCA Installed
    Windows Server

    Execute o comando no Windows PowerShell como administrador.

    Get-WmiObject -Class Win32_Product |where name -eq "Oracle Cloud Agent"

    Se o Oracle Cloud Agent estiver instalado, uma mensagem semelhante à seguinte será exibida:

    IdentifyingNumber : {<unique_ID>}
    Name              : Oracle Cloud Agent
    Vendor            : Oracle Corporation
    Version           : <version>
    Caption           : Oracle Cloud Agent
            
  2. Se a mensagem indicando que o Oracle Cloud Agent está instalado não for exibida após a execução do comando, instale o Oracle Cloud Agent. Se o Oracle Cloud Agent estiver instalado, vá para a próxima etapa para verificar se ele está em execução.

Etapa 2: Verificar se o Oracle Cloud Agent está em Execução

Depois de confirmar que o Oracle Cloud Agent está instalado, siga estas etapas para confirmar se ele está em execução.

  1. Estabeleça conexão com a instância e execute um dos comandos a seguir para reiniciar o Oracle Cloud Agent.
    Oracle Linux 6. x
    initctl status oracle-cloud-agent

    Resposta esperada se o Oracle Cloud Agent estiver em execução:

    oracle-cloud-agent start/running, process 13809
    Versões do Oracle Linux 7.x e mais recente
    systemctl is-enabled oracle-cloud-agent &>/dev/null && echo "OCA is enabled" || echo "OCA is disabled" \
     && systemctl is-active oracle-cloud-agent &> /dev/null && echo "OCA is running" || echo "OCA is not running"

    Resposta esperada se o Oracle Cloud Agent estiver em execução:

    OCA is enabled
    OCA is running
    Ubuntu
    snap services oracle-cloud-agent

    Resposta esperada se o Oracle Cloud Agent estiver em execução:

    Service                               Startup Current Notes
    oracle-cloud-agent.oracle-cloud-agent enabled active  -
    Windows Server

    Execute o comando no Windows PowerShell como administrador.

    sc.exe query "OCA"|findstr "RUNNING"

    Resposta esperada se o Oracle Cloud Agent estiver em execução:

    STATE : 4 RUNNING
  2. Se a mensagem indicando que o Oracle Cloud Agent está em execução não for exibida após a execução do comando, execute a ferramenta de diagnóstico e, em seguida, arquive um ticket de suporte com o arquivo que contém informações de depuração e logs dos plug-ins. Se o Oracle Cloud Agent estiver em execução, vá para a próxima etapa para verificar se ele pode estabelecer conexão com os serviços Oracle.

Etapa 3: Verificar se o Oracle Cloud Agent Pode Estabelecer Conexão com os Serviços Oracle

Se você confirmar que o Oracle Cloud Agent está instalado e em execução, mas o status de todos os plug-ins na página Detalhes da Instância for Inválido ou você não conseguir ver nenhuma métrica na seção Métricas do painel de controle da Console, o Oracle Cloud Agent pode não conseguir estabelecer conexão com os serviços Oracle. As seções a seguir exploram possíveis motivos pelos quais o Oracle Cloud Agent não consegue estabelecer conexão com os serviços Oracle. Para diagnosticar o problema, siga estas etapas na ordem.

  1. Verificar se a instância pode acessar o ponto final do Serviço de Metadados da Instância.
  2. Verifique se há erros de defasagem de relógio.
  3. Verifique se os gateways estão configurados corretamente.
  4. Altere as definições do servidor proxy.

Verificar se a Instância Pode Acessar o Ponto Final do Serviço de Metadados da Instância

Essas etapas verificam se a instância pode acessar o ponto final do Serviço de Metadados da Instância.

  1. Estabeleça conexão com a instância e execute um dos comandos a seguir, dependendo do sistema operacional.
    Oracle Linux e Ubuntu
    curl -v -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v2/instance/

    Se o Oracle Cloud Agent estiver em execução, uma mensagem semelhante à seguinte será exibida:

    * About to connect() to 169.254.169.254 port 80 (#0)
    *   Trying 169.254.169.254...
    * Connected to 169.254.169.254 (169.254.169.254) port 80 (#0)
    > GET /opc/v2/instance/ HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: 169.254.169.254
    > Accept: */*
    > Authorization: Bearer Oracle
    >
    < HTTP/1.1 200 OK
    < Server: server
    < Date: Wed, 24 Mar 2021 20:52:38 GMT
    < Content-Type: application/json
    < Content-Length: 1800
    < Last-Modified: Wed, 03 Mar 2021 01:43:50 GMT
    < Connection: keep-alive
    < ETag: "603ee9d6-708"
    < Accept-Ranges: bytes
    <
    {
      "availabilityDomain" : "uybn:<availability_domain>",
      "faultDomain" : "<fault_domain>",
      "compartmentId" : "ocid1.compartment.oc1..<unique_ID>",
      "displayName" : "<instance_name>",
      "hostname" : "<host_name>",
      "id" : "<unique_ID>",
      "image" : "ocid1.image.oc1.iad.<unique_ID>",
      "metadata" : {
        "ssh_authorized_keys" : ""
      },
      "region" : "<region_key>",
      "canonicalRegionName" : "<region_name>",
      "ociAdName" : "<availability_domain>",
      "regionInfo" : {
        "realmKey" : "<realm>",
        "realmDomainComponent" : "oraclecloud.com",
        "regionKey" : "<region_key>",
        "regionIdentifier" : "<region>"
      },
      "shape" : "<shape>",
      "state" : "Running",
      "timeCreated" : 1614637343723,
      "agentConfig" : {
        "monitoringDisabled" : false,
        "managementDisabled" : false,
        "allPluginsDisabled" : false,
        "pluginsConfig" : [ {
          "name" : "OS Management Service Agent",
          "desiredState" : "ENABLED"
        }, {
          "name" : "Custom Logs Monitoring",
          "desiredState" : "ENABLED"
        }, {
          "name" : "Compute Instance Run Command",
          "desiredState" : "ENABLED"
        }, {
          "name" : "Compute Instance Monitoring",
          "desiredState" : "ENABLED"
        } ]
      },
      "freeformTags" : {
        "keep" : "keep"
      }
    * Connection #0 to host 169.254.169.254 left intact
    
    Windows Server

    Execute o comando no Windows PowerShell como administrador.

    Invoke-WebRequest -Headers @{'Authorization'='Bearer Oracle'} http://169.254.169.254/opc/v2/instance/
    

    Se o Oracle Cloud Agent estiver em execução, uma mensagem semelhante à seguinte será exibida:

    StatusCode        : 200
    StatusDescription : OK
    Content           : {
                          "availabilityDomain" : "<availability_domain>",
                          "faultDomain" : "<fault_domain>",
                          "compartmentId" :
                        "ocid1.tenancy.region1..<unique_ID>",
                          "displayNam...
    RawContent        : HTTP/1.1 200 OK
                        Connection: keep-alive
                        Accept-Ranges: bytes
                        Content-Length: 1197
                        Content-Type: application/json
                        Date: Wed, 24 Mar 2021 21:07:42 GMT
                        ETag: "<unique_ID>"
                        Last-Modified: Wed, 24 M...
    Forms             : {}
    Headers           : {[Connection, keep-alive], [Accept-Ranges, bytes], [Content-Length, 1197], [Content-Type,
                        application/json]...}
    Images            : {}
    InputFields       : {}
    Links             : {}
    ParsedHtml        : mshtml.HTMLDocumentClass
    RawContentLength  : 1197
    
  2. Se você obtiver uma resposta bem-sucedida sem erros de proxy, verifique se há erros de defasagem de relógio. Se houver erros de proxy, verifique as definições do servidor proxy.

Verificar Erros de Defasagem de Relógio

Às vezes, o relógio de uma instância não está sincronizado com o serviço NTP. A defasagem de relógio pode fazer com que as negociações TLS falhem, impedindo a conexão da instância com os serviços Oracle. Siga estas etapas para verificar se há erros de defasagem de relógio.

  1. Conecte-se à instância e execute um dos comandos a seguir para gerar o arquivo monitoring.log.

    Linux
    sudo tail -15 /var/log/oracle-cloud-agent/plugins/gomon/monitoring.log
    Windows Server 2019, Windows Server 2022

    Execute o comando no Windows PowerShell como administrador.

    Get-Content -tail 15 C:\Windows\ServiceProfiles\OCA\AppData\Local\OracleCloudAgent\plugins\gomon\monitoring.log
    Windows Server anterior a 2019

    Execute o comando no Windows PowerShell como administrador.

    Get-Content -tail 15 C:\Users\OCA\AppData\Local\OracleCloudAgent\plugins\gomon\monitoring.log

    Se houver um erro de defasagem de relógio, uma mensagem semelhante à seguinte será exibida:

    failed to call: Service error:NotAuthenticated. Date 'Tue, 09 Mar 2021 06:39:35 UTC' is not within allowed clock skew.
    Current 'Tue, 09 Mar 2021 06:45:45 UTC', valid datetime range: ['Tue, 09 Mar 2021 06:40:45 UTC', 'Tue, 09 Mar 2021 06:50:46 UTC'].
    http status code: 401. Opc request id: <unique_id>
  2. Se ocorrer um erro de defasagem de relógio, configure o serviço NTP do Oracle Cloud Infrastructure para a instância. Se nenhum erro de defasagem de relógio ocorrer, verifique se os gateways estão configurados corretamente.
  3. Se você tiver configurado o serviço NTP na etapa anterior, depois de concluir a configuração, execute um dos seguintes comandos para reiniciar o Oracle Cloud Agent:
    Oracle Linux 6. x
    sudo initctl restart oracle-cloud-agent
    Versões do Oracle Linux 7.x e mais recente
    sudo systemctl restart oracle-cloud-agent
    Ubuntu
    sudo snap restart oracle-cloud-agent
    Windows Server

    Execute o comando no Windows PowerShell como administrador.

    net stop OCA
    net start OCA
  4. Gere o arquivo monitoring.log novamente.

    Se o Oracle Cloud Agent estiver sendo executado corretamente, uma resposta bem-sucedida será 200 OK. Em monitoring.log, procure uma mensagem semelhante à seguinte:

    2021/03/18 03:12:44.391381 t2.go:139: Sent metrics status: 200; took: 387ms; with opc-request-id:<unique_ID>;
    2021/03/18 03:13:44.006391 instancemetadata_client.go:64: fetched metadata from http://169.254.169.254/opc/v2/instance/ , status 200 OK
    2021/03/18 03:13:44.730102 t2.go:139: Sent metrics status: 200; took: 723ms; with opc-request-id:<unique_ID>;
    2021/03/18 03:14:44.324046 t2.go:139: Sent metrics status: 200; took: 320ms; with opc-request-id:<unique_ID>;

Verificar Permissões para Instâncias Associadas ao Domínio do Windows

Se você tiver uma instância do Windows associada a um domínio, verifique se a conta virtual recebeu o direito do usuário Fazer log-on como um serviço na Política de Grupo local. Para definir permissões, siga as etapas para ativar o log-on de serviço por meio de uma política de grupo local no guia Enable Service Logon da Microsoft. Para Fazer log-on como um serviço, adicione o usuário NT SERVICE\ALL SERVICES ou o usuário específico.

Verificar se os Gateways estão Configurados Corretamente

Para que o Oracle Cloud Agent se comunique com os serviços Oracle, os gateways das sub-redes devem ser configurados corretamente. Siga estas etapas para verificar e corrigir a configuração.

  1. Configure o gateway de internet, NAT ou de serviço para a sub-rede da VCN.
  2. Depois de seguir as etapas de configuração, reinicie os serviços usando os comandos da seção Verificar se a Instância Pode Acessar o Ponto Final do Serviço de Metadados da Instância. Depois de reiniciar os serviços, verifique o arquivo monitoring.log para ver se há solicitações bem-sucedidas para os serviços Oracle.

Alterar as Definições do Servidor Proxy

Às vezes, os servidores proxy locais impedem que o Oracle Cloud Agent se comunique com quaisquer serviços. Cada servidor proxy é diferente.

Geralmente, a definição das variáveis de ambiente http_proxy, https_proxy e no_proxy para os serviços oracle-cloud-agent e oracle-cloud-agent-updater nas instâncias do cliente proxy resolve os problemas de proxy. Depois de definir essas variáveis de ambiente, no arquivo access.log do servidor proxy (ou equivalente, dependendo do sistema), verifique se você vê solicitações do cliente proxy para os serviços que o Oracle Cloud Agent acessa.

Oracle Linux
  1. Execute o seguinte comando.

    sudo EDITOR=vi systemctl edit oracle-cloud-agent
  2. Na janela do editor, adicione as seguintes entradas e salve o arquivo.

    [Service]
    Environment="http_proxy=<proxy_url>:<proxy_port>"
    Environment="https_proxy=<proxy_url>:<proxy_port>"
    Environment="no_proxy=localhost,127.0.0.1,169.254.169.254"
    • <proxy_url> é o URL do proxy.
    • <proxy_port> é a porta do proxy.
  3. Repita as duas etapas anteriores para o serviço oracle-cloud-agent-updater.
  4. Execute os seguintes comandos e, em seguida, reinicie os serviços.

    sudo systemctl daemon-reload
    sudo systemctl restart oracle-cloud-agent oracle-cloud-agent-updater
Ubuntu
  1. Execute o seguinte comando.

    sudo EDITOR=vi systemctl edit snap.oracle-cloud-agent.oracle-cloud-agent
  2. Na janela do editor, adicione as seguintes entradas e salve o arquivo.

    [Service]
    Environment="http_proxy=<proxy_url>:<proxy_port>"
    Environment="https_proxy=<proxy_url>:<proxy_port>"
    Environment="no_proxy=localhost,127.0.0.1,169.254.169.254"
    • <proxy_url> é o URL do proxy.
    • <proxy_port> é a porta do proxy.
  3. Repita as duas etapas anteriores para o serviço snap.oracle-cloud-agent.oracle-cloud-agent-updater.
  4. Execute os seguintes comandos e, em seguida, reinicie os serviços.

    sudo systemctl daemon-reload
    sudo systemctl restart snap.oracle-cloud-agent.oracle-cloud-agent snap.oracle-cloud-agent.oracle-cloud-agent-updater
Windows Server
  1. Execute os comandos a seguir no Windows PowerShell como administrador. Não altere as letras maiúsculas e minúsculas das variáveis de ambiente.

    Set System environment variables for HTTP_PROXY, HTTPS_PROXY and NO_PROXY
    [System.Environment]::SetEnvironmentVariable("HTTP_PROXY", "<proxy_url>:<proxy_port>", [System.EnvironmentVariableTarget]::Machine)
    [System.Environment]::SetEnvironmentVariable("HTTPS_PROXY", "<proxy_url>:<proxy_port>", [System.EnvironmentVariableTarget]::Machine)
    [System.Environment]::SetEnvironmentVariable("NO_PROXY", "localhost,127.0.0.1,169.254.169.254", [System.EnvironmentVariableTarget]::Machine)
    • <proxy_url> é o URL do proxy.
    • <proxy_port> é a porta do proxy.
  2. Reinicie os serviços oracle-cloud-agent e oracle-cloud-agent-updater.

    net stop OCA
    net start OCA
    net stop OCAU
    net start OCAU
  3. Para verificar se o plug-in Custom Logs Monitoring pode enviar métricas, caiba o arquivo monitoring.log.

    Windows Server 2019, Windows Server 2022

    Get-Content C:\Windows\ServiceProfile\OCA\Appdata\Local\OracleCloudAgent\plugins\gomon\monitoring.log -Wait

    Versões do Windows Server anteriores a 2019

    Get-Content C:\Users\OCA\Appdata\Local\OracleCloudAgent\plugins\gomon\monitoring.log -Wait

Etapa 4: Gerar um Arquivo de Diagnóstico para o Oracle Cloud Agent

Para que fique mais fácil para o Suporte Técnico da Oracle ajudar você a diagnosticar e solucionar problemas com o software Oracle Cloud Agent, você pode instalar a ferramenta de diagnóstico do Oracle Cloud Agent em suas instâncias de computação. A ferramenta de diagnóstico gera um arquivo que contém informações de depuração e logs dos plug-ins gerenciados pelo Oracle Cloud Agent.

A ferramenta de diagnóstico é instalada com o Oracle Cloud Agent versão 1.14.0 e mais recentes. Para atualizar o Oracle Cloud Agent, consulte Atualizando o Software Oracle Cloud Agent.

Depois de concluir as etapas anteriores de solução de problemas, execute a ferramenta de diagnóstico e arquive um ticket de suporte com o arquivo que contém informações de depuração e logs dos plug-ins.

Para gerar um arquivo de diagnóstico em uma instância do Linux
  1. Estabelecer conexão com a instância.
  2. Altere os diretórios para a pasta na qual a ferramenta de diagnóstico é salva:

    cd /usr/bin/ocatools
  3. Execute a ferramenta de diagnóstico:

    sudo ./diagnostic

    A ferramenta gera um arquivo TAR com um nome no formato oca-diag-<date>.<identifier>.tar.gz. Forneça o arquivo ao abrir a solicitação de suporte.

Para gerar um arquivo de diagnóstico em uma instância do Windows
  1. Estabelecer conexão com a instância.
  2. Abra o PowerShell como administrador.
  3. Altere os diretórios para a pasta na qual a ferramenta de diagnóstico é salva:

    cd C:\Program Files\Oracle Cloud Agent\ocatools
  4. Execute a ferramenta de diagnóstico:

    .\diagnostic.ps1

    A ferramenta gera um arquivo ZIP e o salva em C:\Users\opc\Desktop\. Forneça o arquivo ao abrir a solicitação de suporte.