Risoluzione dei problemi dell'agente Oracle Cloud

Quando si utilizza Agente Oracle Cloud, potrebbero verificarsi i seguenti problemi:

  • Nella scheda Agente Oracle Cloud della pagina Dettagli istanza, lo stato di tutti i plugin è Non valido.
  • Nella sezione Metriche del dashboard della console non è possibile visualizzare alcuna metrica di CPU, memoria, rete o disco per l'istanza.

Se si verifica uno di questi problemi, Oracle Cloud Agent potrebbe non essere installato o in esecuzione oppure non essere in grado di comunicare con i servizi Oracle. Per diagnosticare il problema specifico, effettuare le operazioni riportate di seguito per la risoluzione dei problemi.

Suggerimento

In questo argomento, le istruzioni per Oracle Linux si applicano anche alle immagini CentOS.

Passo 1: verificare che l'agente Oracle Cloud sia installato

Attenersi alla procedura riportata di seguito per verificare che Oracle Cloud Agent sia installato nell'istanza.

  1. Eseguire una connessione all'istanza ed eseguire uno dei comandi riportati di seguito, a seconda del sistema operativo.
    Oracle Linux
    rpm -q oracle-cloud-agent && echo "OCA Installed" || echo "OCA not Installed"
    

    Se Oracle Cloud Agent è installato, viene visualizzato un messaggio simile al seguente:

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

    Se Oracle Cloud Agent è installato, viene visualizzato il seguente messaggio:

    OCA Installed
    Windows Server

    Eseguire il comando in Windows PowerShell come amministratore.

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

    Se Oracle Cloud Agent è installato, viene visualizzato un messaggio simile al seguente:

    IdentifyingNumber : {<unique_ID>}
    Name              : Oracle Cloud Agent
    Vendor            : Oracle Corporation
    Version           : <version>
    Caption           : Oracle Cloud Agent
            
  2. Se il messaggio che indica che l'agente Oracle Cloud è installato non viene visualizzato dopo l'esecuzione del comando, installare Oracle Cloud Agent. Se l'agente Oracle Cloud è installato, passare al passo successivo per verificare che sia in esecuzione.

Passo 2: verificare che l'agente Oracle Cloud sia in esecuzione

Dopo aver confermato che l'agente Oracle Cloud è installato, attenersi alla procedura riportata di seguito per confermare che è in esecuzione.

  1. Connettersi all'istanza ed eseguire uno dei comandi seguenti per riavviare l'agente Oracle Cloud.
    Oracle Linux 7.x e versioni successive
    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"

    Risposta prevista se l'agente Oracle Cloud è in esecuzione:

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

    Risposta prevista se l'agente Oracle Cloud è in esecuzione:

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

    Eseguire il comando in Windows PowerShell come amministratore.

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

    Risposta prevista se l'agente Oracle Cloud è in esecuzione:

    STATE : 4 RUNNING
  2. Se il messaggio che indica che Oracle Cloud Agent è in esecuzione non viene visualizzato dopo l'esecuzione del comando, eseguire lo strumento di diagnostica e quindi archiviare un biglietto di supporto con il file contenente le informazioni di debug e i log per i plugin. Se Oracle Cloud Agent è in esecuzione, passare al passo successivo per verificare che sia in grado di connettersi ai servizi Oracle.

Passo 3: verificare che l'agente Oracle Cloud possa connettersi a Oracle Services

Se si conferma che Oracle Cloud Agent è installato e in esecuzione, ma lo stato di tutti i plugin nella pagina Dettagli istanza è Non valido oppure non è possibile visualizzare alcuna metrica nella sezione Metriche del dashboard della console, Oracle Cloud Agent potrebbe non essere in grado di connettersi ai servizi Oracle. Nelle sezioni riportate di seguito vengono descritti i possibili motivi per cui Oracle Cloud Agent non è in grado di connettersi ai servizi Oracle. Per diagnosticare il problema, effettuare le operazioni riportate di seguito in ordine.

  1. Verificare che l'istanza possa accedere all'endpoint del servizio di metadati dell'istanza.
  2. Controllare gli errori di deviazione dell'orologio.
  3. Verificare che i gateway siano configurati correttamente.
  4. Modificare le impostazioni del server proxy.

Verificare che l'istanza possa accedere all'endpoint del servizio di metadati dell'istanza

Questi passi verificano se l'istanza può accedere all'endpoint del servizio metadati dell'istanza.

  1. Connettersi all'istanza ed eseguire uno dei comandi seguenti, a seconda del sistema operativo in uso.
    Oracle Linux e Ubuntu
    curl -v -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v2/instance/

    Se l'agente Oracle Cloud è in esecuzione, viene visualizzato un messaggio simile al seguente:

    * 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

    Eseguire il comando in Windows PowerShell come amministratore.

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

    Se l'agente Oracle Cloud è in esecuzione, viene visualizzato un messaggio simile al seguente:

    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 si ottiene una risposta riuscita senza errori proxy, verificare la presenza di errori di deviazione dell'orologio. Se si verificano errori del server proxy, verificare le impostazioni del server proxy.

Controlla errori di deviazione orario

A volte, l'orologio di un'istanza non è sincronizzato con il servizio NTP. La deviazione dell'orologio può causare l'errore delle negoziazioni TLS, impedendo all'istanza di connettersi ai servizi Oracle. Segui questi passaggi per controllare gli errori di clock skew.

  1. Connettersi all'istanza ed eseguire uno dei comandi riportati di seguito per generare il file monitoring.log.

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

    Eseguire il comando in Windows PowerShell come amministratore.

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

    Eseguire il comando in Windows PowerShell come amministratore.

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

    Se si verifica un errore di skew dell'orologio, viene visualizzato un messaggio simile al seguente:

    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 si verifica un errore di skew del clock, configurare il servizio Oracle Cloud Infrastructure NTP per la tua istanza. Se non si verifica alcun errore di clock, verificare che i gateway siano configurati correttamente.
  3. Se il servizio NTP è stato configurato nel passo precedente, dopo aver completato la configurazione, eseguire uno dei comandi seguenti per riavviare Oracle Cloud Agent:
    Oracle Linux 7.x e versioni successive
    sudo systemctl restart oracle-cloud-agent
    Ubuntu
    sudo snap restart oracle-cloud-agent
    Windows Server

    Eseguire il comando in Windows PowerShell come amministratore.

    net stop OCA
    net start OCA
  4. Generare di nuovo il file monitoring.log.

    Se Oracle Cloud Agent è in esecuzione correttamente, una risposta riuscita è 200 OK. In monitoring.log, cercare un messaggio simile al seguente:

    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>;

Verificare le autorizzazioni per le istanze con join del dominio Windows

Se si dispone di un'istanza di Windows unita a un dominio, verificare che all'account virtuale sia concesso l'utente Accedi come servizio direttamente nel Criteri di gruppo locale. Per impostare le autorizzazioni, attenersi alla procedura per abilitare l'accesso al servizio tramite un criterio di gruppo locale nella guida Abilita accesso al servizio di Microsoft. Per Log on as a SERVICE, aggiungere l'utente NT SERVICE\ALL SERVICES o l'utente specifico.

Verificare che i gateway siano configurati correttamente

Per consentire all'agente Oracle Cloud di comunicare con i servizi Oracle, è necessario che i gateway nelle subnet siano configurati in modo corretto. Seguire questa procedura per verificare e correggere la configurazione.

  1. Configurare il gateway Internet, il gateway NAT o il gateway di servizi per la subnet nella VCN.
  2. Dopo aver eseguito i passi di configurazione, riavviare i servizi utilizzando i comandi della sezione Verificare che l'istanza possa accedere all'endpoint del servizio di metadati dell'istanza. Dopo aver riavviato i servizi, controllare il file monitoring.log per le richieste riuscite ai servizi Oracle.

Modifica impostazioni server proxy

A volte, i server proxy locali impediscono all'agente Oracle Cloud di comunicare con qualsiasi servizio. Ogni server proxy è diverso.

Spesso, l'impostazione delle variabili di ambiente http_proxy, https_proxy e no_proxy per i servizi oracle-cloud-agent e oracle-cloud-agent-updater nelle istanze del client proxy risolve i problemi del proxy. Dopo aver impostato queste variabili di ambiente, nel file access.log del server proxy (o equivalente, a seconda del sistema in uso), verificare che vengano visualizzate le richieste del client proxy ai servizi a cui Oracle Cloud Agent accede.

Oracle Linux
  1. Eseguire il comando riportato di seguito.

    sudo EDITOR=vi systemctl edit oracle-cloud-agent
  2. Nella finestra dell'editor, aggiungere le voci seguenti, quindi salvare il file.

    [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> è l'URL del proxy.
    • <proxy_port> è la porta proxy.
  3. Ripetere i due passi precedenti per il servizio oracle-cloud-agent-updater.
  4. Eseguire i comandi seguenti, quindi riavviare i servizi.

    sudo systemctl daemon-reload
    sudo systemctl restart oracle-cloud-agent oracle-cloud-agent-updater
Ubuntu
  1. Eseguire il comando riportato di seguito.

    sudo EDITOR=vi systemctl edit snap.oracle-cloud-agent.oracle-cloud-agent
  2. Nella finestra dell'editor, aggiungere le voci seguenti, quindi salvare il file.

    [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> è l'URL del proxy.
    • <proxy_port> è la porta proxy.
  3. Ripetere i due passi precedenti per il servizio snap.oracle-cloud-agent.oracle-cloud-agent-updater.
  4. Eseguire i comandi seguenti, quindi riavviare i servizi.

    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. Eseguire i comandi riportati di seguito in Windows PowerShell come amministratore. Non modificare l'involucro delle variabili di 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> è l'URL del proxy.
    • <proxy_port> è la porta proxy.
  2. Riavviare i servizi oracle-cloud-agent e oracle-cloud-agent-updater.

    net stop OCA
    net start OCA
    net stop OCAU
    net start OCAU
  3. Per verificare che il plugin Custom Logs Monitoring sia in grado di inviare le metriche, adattare il file monitoring.log.

    Windows Server 2019, Windows Server 2022

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

    Versioni di Windows Server precedenti al 2019

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

Passo 4: generare un file di diagnostica per l'agente Oracle Cloud

Per agevolare il supporto Oracle nella risoluzione dei problemi relativi al software Oracle Cloud Agent, è possibile eseguire lo strumento di diagnostica Oracle Cloud Agent nelle istanze di computazione. Lo strumento di diagnostica genera un file contenente le informazioni e i log di debug per i plugin gestiti da Oracle Cloud Agent.

Lo strumento di diagnostica viene installato con Oracle Cloud Agent versione 1.14.0 e successive. Per aggiornare l'agente Oracle Cloud, vedere Aggiornamento del software agente Oracle Cloud.

Dopo aver completato i passi precedenti di risoluzione dei problemi, eseguire lo strumento di diagnostica, quindi archiviare un ticket di supporto con il file contenente le informazioni di debug e i log per i plugin.

Per generare un file di diagnostica su un'istanza Linux
  1. Connettersi all'istanza.
  2. Modificare le directory nella cartella in cui viene salvato lo strumento di diagnostica:

    cd /usr/libexec/oracle-cloud-agent/ocatools
  3. Eseguire lo strumento di diagnostica:

    sudo ./diagnostic

    Lo strumento genera un file TAR con un nome nel formato oca-diag-<date>.<identifier>.tar.gz. Fornire il file quando si apre la richiesta di supporto.

Per generare un file di diagnostica in un'istanza Windows
  1. Connettersi all'istanza.
  2. Aprire PowerShell come amministratore.
  3. Modificare le directory nella cartella in cui viene salvato lo strumento di diagnostica:

    cd C:\Program Files\Oracle Cloud Agent\ocatools
  4. Eseguire lo strumento di diagnostica:

    .\diagnostic.ps1

    Lo strumento genera un file ZIP e lo salva in C:\Users\opc\Desktop\. Fornire il file quando si apre la richiesta di supporto.