Dépannage de l'agent Oracle Cloud

Lorsque vous utilisez l'agent Oracle Cloud, vous pouvez rencontrer les problèmes suivants :

  • Dans l'onglet Agent Oracle Cloud de la page Détails de l'instance, le statut de tous les modules d'extension est Non valide.
  • Dans la section Mesures du tableau de bord de la console, vous ne voyez pas de mesures d'UC, de mémoire, de réseau ou de disque pour l'instance.

Si vous rencontrez l'un de ces problèmes, l'agent Oracle Cloud n'est peut-être pas installé ou en cours d'exécution, ou pas en mesure de communiquer avec les services Oracle. Pour diagnostiquer précisément le problème, suivez ces étapes de dépannage.

Conseil

Dans cette rubrique, les instructions relatives à Oracle Linux s'appliquent également aux images CentOS.
Conseil

Si vous ne parvenez pas à vous connecter à votre instance, reportez-vous aux sections suivantes :

Etape 1 : vérification de l'installation de l'agent Oracle Cloud

Suivez ces étapes pour vérifier que l'agent Oracle Cloud est installé sur l'instance.

  1. Connectez-vous à l'instance et exécutez l'une des commandes suivantes, en fonction de votre système d'exploitation.
    Oracle Linux
    rpm -q oracle-cloud-agent && echo "OCA Installed" || echo "OCA not Installed"
    

    Si l'agent Oracle Cloud est installé, un message semblable à celui-ci s'affiche :

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

    Si l'agent Oracle Cloud est installé, le message suivant s'affiche :

    OCA Installed
    Windows Server

    Exécutez la commande dans Windows PowerShell en tant qu'administrateur.

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

    Si l'agent Oracle Cloud est installé, un message semblable à celui-ci s'affiche :

    IdentifyingNumber : {<unique_ID>}
    Name              : Oracle Cloud Agent
    Vendor            : Oracle Corporation
    Version           : <version>
    Caption           : Oracle Cloud Agent
            
  2. Si le message indiquant que l'agent Oracle Cloud est installé ne s'affiche pas après l'exécution de la commande, installez l'agent Oracle Cloud. Si l'agent Oracle Cloud est installé, passez à l'étape suivante pour vérifier qu'il est en cours d'exécution.

Etape 2 : vérification de l'exécution de l'agent Oracle Cloud

Une fois que vous avez vérifié que l'agent Oracle Cloud est installé, procédez comme suit pour vérifier qu'il est en cours d'exécution.

  1. Connectez-vous à l'instance et exécutez l'une des commandes suivantes pour redémarrer l'agent Oracle Cloud.
    Oracle Linux 6.x
    initctl status oracle-cloud-agent

    Réponse attendue si l'agent Oracle Cloud est en cours d'exécution :

    oracle-cloud-agent start/running, process 13809
    Oracle Linux 7.x et versions ultérieures
    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"

    Réponse attendue si l'agent Oracle Cloud est en cours d'exécution :

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

    Réponse attendue si l'agent Oracle Cloud est en cours d'exécution :

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

    Exécutez la commande dans Windows PowerShell en tant qu'administrateur.

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

    Réponse attendue si l'agent Oracle Cloud est en cours d'exécution :

    STATE : 4 RUNNING
  2. Si le message indiquant que l'agent Oracle Cloud est en cours d'exécution ne s'affiche pas après l'exécution de la commande, exécutez l'outil de diagnostic, puis soumettez un ticket d'assistance accompagné du fichier contenant les informations de débogage et les journaux relatifs aux modules d'extension. Si l'agent Oracle Cloud est en cours d'exécution, passez à l'étape suivante pour vérifier qu'il parvient à se connecter aux services Oracle.

Etape 3 : vérification de la connectivité entre l'agent Oracle Cloud et les services Oracle

Si l'agent Oracle Cloud est installé et en cours d'exécution, mais que le statut de tous les modules d'extension sur la page Détails de l'instance est Non valide ou que vous ne voyez pas de mesures dans la section Mesures du tableau de bord de la console, l'agent Oracle Cloud n'est peut-être pas en mesure de se connecter aux services Oracle. Les sections suivantes explorent les raisons pour lesquelles l'agent Oracle Cloud peut ne pas être en mesure de se connecter aux services Oracle. Pour diagnostiquer le problème, suivez les étapes dans l'ordre.

  1. Vérifiez que l'instance peut accéder à l'adresse du service de métadonnées d'instance.
  2. Recherchez des erreurs d'écart d'horloge.
  3. Vérifiez que les passerelles sont configurées correctement.
  4. Modifiez les paramètres du serveur proxy.

Vérification de l'accès de l'instance à l'adresse du service de métadonnées d'instance

Ces étapes permettent de vérifier si l'instance peut accéder à l'adresse du service de métadonnées d'instance.

  1. Connectez-vous à l'instance et exécutez l'une des commandes suivantes, en fonction de votre système d'exploitation.
    Oracle Linux et Ubuntu
    curl -v -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v2/instance/

    Si l'agent Oracle Cloud est en cours d'exécution, un message semblable à celui-ci s'affiche :

    * 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

    Exécutez la commande dans Windows PowerShell en tant qu'administrateur.

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

    Si l'agent Oracle Cloud est en cours d'exécution, un message semblable à celui-ci s'affiche :

    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. Si vous obtenez une réponse de réussite sans erreurs de proxy, recherchez des erreurs d'écart d'horloge. Si des erreurs de serveur proxy se produisent, vérifiez les paramètres du serveur proxy.

Recherche des erreurs d'écart d'horloge

Parfois, l'horloge d'une instance n'est pas synchronisée avec le service NTP. L'écart d'horloge peut entraîner l'échec des négociations TLS, ce qui empêche l'instance de se connecter aux services Oracle. Suivez ces étapes pour rechercher des erreurs d'écart d'horloge.

  1. Connectez-vous à l'instance et exécutez l'une des commandes suivantes pour générer le fichier monitoring.log.

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

    Exécutez la commande dans Windows PowerShell en tant qu'administrateur.

    Get-Content -tail 15 C:\Windows\ServiceProfiles\OCA\AppData\Local\OracleCloudAgent\plugins\gomon\monitoring.log
    Versions de Windows Server antérieures à 2019

    Exécutez la commande dans Windows PowerShell en tant qu'administrateur.

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

    En cas d'erreur d'écart d'horloge, un message semblable à celui-ci s'affiche :

    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. En cas d'erreur d'écart d'horloge, configurez le service NTP Oracle Cloud Infrastructure de l'instance. En l'absence d'erreur d'écart d'horloge, vérifiez que les passerelles sont configurées correctement.
  3. Si vous avez configuré le service NTP à l'étape précédente, une fois la configuration terminée, exécutez l'une des commandes suivantes pour redémarrer l'agent Oracle Cloud :
    Oracle Linux 6.x
    sudo initctl restart oracle-cloud-agent
    Oracle Linux 7.x et versions ultérieures
    sudo systemctl restart oracle-cloud-agent
    Ubuntu
    sudo snap restart oracle-cloud-agent
    Windows Server

    Exécutez la commande dans Windows PowerShell en tant qu'administrateur.

    net stop OCA
    net start OCA
  4. Générez à nouveau le fichier monitoring.log.

    Si l'agent Oracle Cloud fonctionne correctement, vous pouvez obtenir la réponse de réussite 200 OK. Dans monitoring.log, recherchez un message semblable à ce qui suit :

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

Vérification des droits d'accès pour les instances Windows jointes à un domaine

Si vous disposez d'une instance Windows jointe à un domaine, vérifiez que le compte virtuel dispose du droit utilisateur Ouvrir une session en tant que service dans la stratégie de groupe locale. Pour définir des droits d'accès, suivez les étapes d'activation de l'ouverture de session du service via une stratégie de groupe locale dans le guide Activation de l'ouverture de session du service de Microsoft. Pour Ouvrir une session en tant que service, ajoutez l'utilisateur NT SERVICE\ALL SERVICES ou l'utilisateur spécifique.

Vérification de la configuration correcte des passerelles

Pour que l'agent Oracle Cloud communique avec les services Oracle, les passerelles des sous-réseaux doivent être configurées correctement. Suivez ces étapes pour vérifier et corriger votre configuration.

  1. Configurez la passerelle Internet, la passerelle NAT ou la passerelle de service du sous-réseau de votre réseau cloud virtuel.
  2. Après avoir suivi les étapes de configuration, redémarrez les services à l'aide des commandes qui figurent dans Vérification de l'accès de l'instance à l'adresse du service de métadonnées d'instance. Après avoir redémarré les services, recherchez dans le fichier monitoring.log des demandes adressées aux services Oracle ayant abouti.

Modification des paramètres de serveur proxy

Parfois, les serveurs proxy locaux empêchent l'agent Oracle Cloud de communiquer avec un service. Chaque serveur proxy est différent.

Souvent, la définition des variables d'environnement http_proxy, https_proxy et no_proxy pour les services oracle-cloud-agent et oracle-cloud-agent-updater sur les instances client proxy permet de résoudre les problèmes de proxy. Après avoir défini ces variables d'environnement, dans le fichier access.log du serveur proxy (ou dans un équivalent, selon votre système), vérifiez que vous voyez des demandes adressées par le client proxy à des services auxquels l'agent Oracle Cloud a accès.

Oracle Linux
  1. Exécutez la commande suivante.

    sudo EDITOR=vi systemctl edit oracle-cloud-agent
  2. Dans la fenêtre de l'éditeur, ajoutez les entrées suivantes, puis enregistrez le fichier.

    [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> est l'URL de proxy.
    • <proxy_port> est le port de proxy.
  3. Répétez les deux étapes précédentes pour le service oracle-cloud-agent-updater.
  4. Exécutez les commandes suivantes, puis redémarrez les services.

    sudo systemctl daemon-reload
    sudo systemctl restart oracle-cloud-agent oracle-cloud-agent-updater
Ubuntu
  1. Exécutez la commande suivante.

    sudo EDITOR=vi systemctl edit snap.oracle-cloud-agent.oracle-cloud-agent
  2. Dans la fenêtre de l'éditeur, ajoutez les entrées suivantes, puis enregistrez le fichier.

    [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> est l'URL de proxy.
    • <proxy_port> est le port de proxy.
  3. Répétez les deux étapes précédentes pour le service snap.oracle-cloud-agent.oracle-cloud-agent-updater.
  4. Exécutez les commandes suivantes, puis redémarrez les services.

    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. Exécutez les commandes suivantes dans Windows PowerShell en tant qu'administrateur. Ne modifiez pas la casse des variables d'environnement.

    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> est l'URL de proxy.
    • <proxy_port> est le port de proxy.
  2. Redémarrez les services oracle-cloud-agent et oracle-cloud-agent-updater.

    net stop OCA
    net start OCA
    net stop OCAU
    net start OCAU
  3. Pour vérifier que le module d'extension Custom Logs Monitoring est en mesure d'envoyer des mesures, limitez le fichier monitoring.log.

    Windows Server 2019, Windows Server 2022

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

    Versions de Windows Server antérieures à 2019

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

Etape 4 : génération d'un fichier de diagnostic pour l'agent Oracle Cloud

Pour que le support technique Oracle puisse plus facilement vous aider à résoudre les problèmes rencontrés avec le logiciel de l'agent Oracle Cloud, vous pouvez exécuter l'outil de diagnostic de l'agent Oracle Cloud sur les instances de calcul. L'outil de diagnostic génère un fichier contenant des informations de débogage et des journaux pour les modules d'extension gérés par l'agent Oracle Cloud.

L'outil de diagnostic est installé avec la version 1.14.0 et versions ultérieures de l'agent Oracle Cloud. Pour mettre à jour l'agent Oracle Cloud, reportez-vous à Mise à jour du logiciel d'agent Oracle Cloud.

Une fois que vous avez terminé les étapes de dépannage précédentes, exécutez l'outil de diagnostic, puis soumettez un ticket d'assistance accompagné du fichier contenant les informations de débogage et les journaux relatifs aux modules d'extension.

Procédure de génération d'un fichier de diagnostic sur une instance Linux
  1. Se connecter à l'instance.
  2. Remplacez les répertoires par le dossier dans lequel l'outil de diagnostic est enregistré :

    cd /usr/bin/ocatools
  3. Exécutez l'outil de diagnostic :

    sudo ./diagnostic

    L'outil génère un fichier TAR portant un nom au format oca-diag-<date>.<identifier>.tar.gz. Fournissez le fichier lorsque vous ouvrez la demande d'assistance.

Procédure de génération d'un fichier de diagnostic sur une instance Windows
  1. Se connecter à l'instance.
  2. Ouvrez PowerShell en tant qu'administrateur.
  3. Remplacez les répertoires par le dossier dans lequel l'outil de diagnostic est enregistré :

    cd C:\Program Files\Oracle Cloud Agent\ocatools
  4. Exécutez l'outil de diagnostic :

    .\diagnostic.ps1

    L'outil génère un fichier ZIP et l'enregistre dans C:\Users\opc\Desktop\. Fournissez le fichier lorsque vous ouvrez la demande d'assistance.