Risoluzione dei problemi dell'agente Oracle Cloud

Quando si utilizza Oracle Cloud Agent, è possibile che si verifichino i problemi riportati di seguito.

  • 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.

In caso di problemi, l'agente Oracle Cloud potrebbe non essere installato o in esecuzione oppure potrebbe non essere in grado di comunicare con i servizi Oracle. Per diagnosticare un problema specifico, attenersi ai passaggi seguenti 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 confermare che l'agente Oracle Cloud è installato nell'istanza.

  1. Connettersi 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 è installato Oracle Cloud Agent, 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 è installato Oracle Cloud Agent, viene visualizzato il messaggio seguente:

    OCA Installed
    Windows Server

    Eseguire il comando in Windows PowerShell come amministratore.

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

    Se è installato Oracle Cloud Agent, 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 Oracle Cloud Agent è 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 l'installazione di Oracle Cloud Agent, attenersi alla procedura riportata di seguito per confermare che è in esecuzione.

  1. Connettersi all'istanza ed eseguire uno dei comandi riportati di seguito 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 l'agente Oracle Cloud è in esecuzione non viene visualizzato dopo aver eseguito il comando, eseguire lo strumento di diagnostica, quindi inviare un ticket di supporto con il file contenente le informazioni di debug e i log per i plugin. Se l'agente Oracle Cloud è in esecuzione, andare al passo successivo per verificare che sia possibile connettersi ai servizi Oracle.

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

Se si conferma che l'agente Oracle Cloud è 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, è possibile che l'agente Oracle Cloud non sia in grado di connettersi ai servizi Oracle. Nelle sezioni seguenti vengono illustrati i possibili motivi per cui l'agente Oracle Cloud non è in grado di connettersi ai servizi Oracle. Per diagnosticare il problema, attenersi alla procedura riportata di seguito.

  1. Verificare che l'istanza possa accedere all'endpoint del servizio metadati dell'istanza.
  2. Controllare gli errori di disallineamento 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 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 riportati di seguito, a seconda del sistema operativo.
    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 corretta senza errori proxy, verificare la presenza di errori di disallineamento del clock. Se si verificano errori del server proxy, verificare le impostazioni del server proxy.

Controlla errori di sincronizzazione clock

A volte, l'orologio su un'istanza non è sincronizzato con il servizio NTP. Il disallineamento dell'orologio può causare il fallimento delle negoziazioni TLS, impedendo all'istanza di connettersi ai servizi Oracle. Per verificare la presenza di errori di disallineamento del clock, attenersi alla procedura riportata di seguito.

  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

    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 disallineamento 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 disallineamento del clock, configurare il servizio Oracle Cloud Infrastructure NTP per la propria istanza. Se non si verifica alcun errore di sincronizzazione del clock, verificare che i gateway siano configurati correttamente.
  3. Se nel passo precedente è stato configurato il servizio NTP, dopo aver completato la configurazione, eseguire uno dei comandi riportati di seguito per riavviare l'agente Oracle Cloud.
    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 l'agente Oracle Cloud è in esecuzione correttamente, la risposta corretta è 200 OK. Nel file 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>;

Verifica autorizzazioni per istanze con join dominio Windows

Se si dispone di un'istanza di Windows unita a un dominio, verificare che all'account virtuale sia concesso il diritto utente Accedi come servizio nel criterio 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 Accedi come servizio, aggiungere l'utente NT SERVICE\ALL SERVICES o l'utente specifico.

Verificare che i gateway siano configurati correttamente

Affinché l'agente Oracle Cloud possa comunicare con i servizi Oracle, è necessario configurare correttamente i gateway nelle subnet. Attenersi alla procedura riportata di seguito per verificare e correggere la configurazione.

  1. Configura il gateway Internet, il gateway NAT o il gateway del servizio per la subnet nella VCN.
  2. Dopo aver eseguito i passi di configurazione, riavviare i servizi utilizzando i comandi riportati nella sezione Verifica che l'istanza possa accedere all'endpoint del servizio metadati dell'istanza. Dopo aver riavviato i servizi, controllare nel file monitoring.log 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), verificare di visualizzare le richieste del client proxy ai servizi a cui accede l'agente Oracle Cloud.

Oracle Linux
  1. eseguire il comando seguente.

    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 seguente.

    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 in Windows PowerShell i comandi riportati di seguito 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, inserire il file monitoring.log nella coda.

    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 facilitare il supporto Oracle nella risoluzione dei problemi con il software agente Oracle Cloud, è possibile eseguire lo strumento di diagnostica agente Oracle Cloud nelle istanze di computazione. Lo strumento di diagnostica genera un file che contiene informazioni e log di debug per i plugin gestiti dall'agente Oracle Cloud.

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 dell'agente Oracle Cloud.

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

Per generare un file di diagnostica su un'istanza Linux
  1. Connettersi all'istanza.
  2. Spostarsi nella cartella in cui è 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 di Windows
  1. Connettersi all'istanza.
  2. Aprire PowerShell come amministratore.
  3. Spostarsi nella cartella in cui è 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.