Solución de problemas de Oracle Cloud Agent

Al utilizar Oracle Cloud Agent, puede que se produzcan los siguientes problemas:

  • En el separador Oracle Cloud Agent de la página Detalles de instancia, el estado de todos los plugins es No válido.
  • En la sección Métricas del panel de control de la consola no puede ver ninguna métrica de CPU, memoria, red o disco para la instancia.

Si se produce alguno de estos problemas, es posible que Oracle Cloud Agent no esté instalado o en ejecución, o bien que no pueda comunicarse con los servicios de Oracle. Para diagnosticar el problema específico, siga estos pasos de solución de problemas.

Consejo

En este tema, las instrucciones para Oracle Linux también se aplican a las imágenes de CentOS.

Paso 1: Verifique que Oracle Cloud Agent está instalado

Siga estos pasos para confirmar que Oracle Cloud Agent está instalado en la instancia.

  1. Conéctese a la instancia y ejecute uno de los siguientes comandos, en función del sistema operativo.
    Oracle Linux
    rpm -q oracle-cloud-agent && echo "OCA Installed" || echo "OCA not Installed"
    

    Si Oracle Cloud Agent está instalado, se muestra un mensaje similar al siguiente:

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

    Si Oracle Cloud Agent está instalado, se muestra el siguiente mensaje:

    OCA Installed
    Windows Server

    Ejecute el comando en Windows PowerShell como administrador.

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

    Si Oracle Cloud Agent está instalado, se muestra un mensaje similar al siguiente:

    IdentifyingNumber : {<unique_ID>}
    Name              : Oracle Cloud Agent
    Vendor            : Oracle Corporation
    Version           : <version>
    Caption           : Oracle Cloud Agent
            
  2. Si el mensaje que indica que Oracle Cloud Agent está instalado no se muestra después de ejecutar el comando, instale Oracle Cloud Agent. Si Oracle Cloud Agent está instalado, continúe con el siguiente paso para verificar que se está ejecutando.

Paso 2: Verifique que Oracle Cloud Agent se está ejecutando

Después de confirmar que Oracle Cloud Agent está instalado, siga estos pasos para confirmar que se está ejecutando.

  1. Conéctese a la instancia y ejecute uno de los siguientes comandos para reiniciar Oracle Cloud Agent.
    Oracle Linux 6.x
    initctl status oracle-cloud-agent

    Respuesta esperada si Oracle Cloud Agent se está ejecutando:

    oracle-cloud-agent start/running, process 13809
    Oracle Linux 7.x y versiones posteriores
    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"

    Respuesta esperada si Oracle Cloud Agent se está ejecutando:

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

    Respuesta esperada si Oracle Cloud Agent se está ejecutando:

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

    Ejecute el comando en Windows PowerShell como administrador.

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

    Respuesta esperada si Oracle Cloud Agent se está ejecutando:

    STATE : 4 RUNNING
  2. Si el mensaje que indica que Oracle Cloud Agent se está ejecutando no se muestra después de ejecutar el comando, ejecute la herramienta de diagnóstico y, a continuación, envíe un ticket de soporte con el archivo que contiene información de depuración y logs para los plugins. Si Oracle Cloud Agent se está ejecutando, continúe con el siguiente paso para verificar que puede conectarse a los servicios de Oracle.

Paso 3: Verifique que Oracle Cloud Agent puede conectarse a los servicios de Oracle

Si confirma que Oracle Cloud Agent está instalado y en ejecución, pero el estado de todos los plugins de la página Detalles de instancia es No válido o no puede ver ninguna métrica en la sección Métricas del panel de control de la consola, es posible que Oracle Cloud Agent no pueda conectarse a los servicios de Oracle. En las siguientes secciones se exploran los posibles motivos por los que Oracle Cloud Agent no puede conectarse a los servicios de Oracle. Para diagnosticar el problema, siga estos pasos en orden.

  1. Verifique que la instancia puede acceder al punto final del servicio de metadatos de instancia.
  2. Compruebe si hay errores de sesgo de reloj.
  3. Verifique que los gateways están configurados correctamente.
  4. Cambie la configuración del servidor proxy.

Verifique que la instancia puede acceder al punto final del servicio de metadatos de instancia

Estos pasos verifican si la instancia puede acceder al punto final del servicio de metadatos de instancia.

  1. Conéctese a la instancia y ejecute uno de los siguientes comandos, en función del sistema operativo.
    Oracle Linux y Ubuntu
    curl -v -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v2/instance/

    Si Oracle Cloud Agent se está ejecutando, se muestra un mensaje similar al siguiente:

    * 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

    Ejecute el comando en Windows PowerShell como administrador.

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

    Si Oracle Cloud Agent se está ejecutando, se muestra un mensaje similar al siguiente:

    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 obtiene una respuesta correcta sin errores de proxy, compruebe si hay errores de sesgo de reloj. Si se producen errores del servidor proxy, compruebe la configuración del servidor proxy.

Compruebe si hay errores de sesgo de reloj

A veces, el reloj de una instancia no está sincronizado con el servicio NTP. El sesgo de reloj puede provocar un fallo en las negociaciones TLS, lo que impide que la instancia se conecte a los servicios de Oracle. Siga estos pasos para comprobar si hay errores de sesgo de reloj.

  1. Conéctese a la instancia y ejecute uno de los siguientes comandos para generar el archivo monitoring.log.

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

    Ejecute el comando en Windows PowerShell como administrador.

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

    Ejecute el comando en Windows PowerShell como administrador.

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

    Si hay un error de sesgo de reloj, se muestra un mensaje similar al siguiente:

    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. Si se produce un error de sesgo de reloj, configure el servicio NTP de Oracle Cloud Infrastructure para la instancia. Si no se produce ningún error de sesgo de reloj, verifique que los gateways están configurados correctamente.
  3. Si ha configurado el servicio NTP en el paso anterior, después de completar la configuración, ejecute uno de los siguientes comandos para reiniciar Oracle Cloud Agent:
    Oracle Linux 6.x
    sudo initctl restart oracle-cloud-agent
    Oracle Linux 7.x y versiones posteriores
    sudo systemctl restart oracle-cloud-agent
    Ubuntu
    sudo snap restart oracle-cloud-agent
    Windows Server

    Ejecute el comando en Windows PowerShell como administrador.

    net stop OCA
    net start OCA
  4. Vuelva a generar el archivo monitoring.log.

    Si Oracle Cloud Agent se está ejecutando correctamente, una respuesta correcta es 200 OK. En monitoring.log, busque un mensaje similar al siguiente:

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

Verificación de permisos para instancias unidas a dominios de Windows

Si tiene una instancia de Windows unida a un dominio, verifique que se le otorgue a la cuenta virtual el usuario Iniciar sesión como servicio en la política de grupo local. Para definir permisos, siga los pasos para activar el inicio de sesión de servicio mediante una política de grupo local en la guía Habilitar inicio de sesión de servicio de Microsoft. Para Iniciar sesión como servicio, agregue el usuario NT SERVICE\ALL SERVICES o el usuario específico.

Verifique que los gateways están configurados correctamente

Para que Oracle Cloud Agent se comunique con los servicios de Oracle, los gateways de las subredes se deben configurar correctamente. Siga estos pasos para verificar y corregir la configuración.

  1. Configure el gateway de Internet, el gateway de NAT o el gateway de servicio para la subred en la VCN.
  2. Después de seguir los pasos de configuración, reinicie los servicios mediante los comandos de la sección Verifique que la instancia puede acceder al punto final del servicio de metadatos de instancia. Después de reiniciar los servicios, compruebe el archivo monitoring.log para ver si hay solicitudes correctas para los servicios de Oracle.

Cambie la configuración del servidor proxy

A veces, los servidores proxy locales impiden que Oracle Cloud Agent se comunique con cualquier servicio. Cada servidor proxy es diferente.

A menudo, la configuración de las variables de entorno http_proxy, https_proxy y no_proxy para los servicios oracle-cloud-agent y oracle-cloud-agent-updater en las instancias del cliente proxy resuelve problemas de proxy. Después de definir estas variables de entorno, en el archivo access.log del servidor proxy (o equivalente, en función del sistema), compruebe que ve solicitudes del cliente proxy en los servicios a los que accede Oracle Cloud Agent.

Oracle Linux
  1. Ejecute el siguiente comando.

    sudo EDITOR=vi systemctl edit oracle-cloud-agent
  2. En la ventana del editor, agregue las siguientes entradas y, a continuación, guarde el archivo.

    [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> es la URL de proxy.
    • <proxy_port> es el puerto de proxy.
  3. Repita los dos pasos anteriores para el servicio oracle-cloud-agent-updater.
  4. Ejecute los siguientes comandos y, a continuación, reinicie los servicios.

    sudo systemctl daemon-reload
    sudo systemctl restart oracle-cloud-agent oracle-cloud-agent-updater
Ubuntu
  1. Ejecute el siguiente comando.

    sudo EDITOR=vi systemctl edit snap.oracle-cloud-agent.oracle-cloud-agent
  2. En la ventana del editor, agregue las siguientes entradas y, a continuación, guarde el archivo.

    [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> es la URL de proxy.
    • <proxy_port> es el puerto de proxy.
  3. Repita los dos pasos anteriores para el servicio snap.oracle-cloud-agent.oracle-cloud-agent-updater.
  4. Ejecute los siguientes comandos y, a continuación, reinicie los servicios.

    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. Ejecute los siguientes comandos en Windows PowerShell como administrador. No cambie las mayúsculas/minúsculas de las variables de entorno.

    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> es la URL de proxy.
    • <proxy_port> es el puerto de proxy.
  2. Reinicie los servicios oracle-cloud-agent y oracle-cloud-agent-updater.

    net stop OCA
    net start OCA
    net stop OCAU
    net start OCAU
  3. Para verificar que el plugin Custom Logs Monitoring puede enviar métricas, espere el archivo monitoring.log.

    Windows Server 2019, Windows Server 2022

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

    Versiones de Windows Server anteriores a 2019

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

Paso 4: Generar un archivo de diagnóstico para Oracle Cloud Agent

Para que a los Servicios de Soporte Oracle les resulte más fácil ayudarle a solucionar problemas relacionados con el software Oracle Cloud Agent, puede ejecutar la herramienta de diagnóstico de Oracle Cloud Agent en sus instancias informáticas. La herramienta de diagnóstico genera un archivo que contiene información de depuración y registros de los plugins que gestiona Oracle Cloud Agent.

La herramienta de diagnóstico se instala con Oracle Cloud Agent versión 1.14.0 y posteriores. Para actualizar Oracle Cloud Agent, consulte Actualización del software Oracle Cloud Agent.

Después de completar los pasos de solución de problemas anteriores, ejecute la herramienta de diagnóstico y, a continuación, envíe un ticket de soporte con el archivo que contiene información de depuración y logs para los plugins.

Para generar un archivo de diagnóstico en una instancia de Linux
  1. Se conectará a la instancia.
  2. Cambie los directorios a la carpeta donde se guarda la herramienta de diagnóstico:

    cd /usr/libexec/oracle-cloud-agent/ocatools
  3. Ejecute la herramienta de diagnóstico:

    sudo ./diagnostic

    La herramienta genera un archivo TAR con un nombre con el formato oca-diag-<date>.<identifier>.tar.gz. Proporcione el archivo al abrir la solicitud de soporte.

Para generar un archivo de diagnóstico en una instancia de Windows
  1. Se conectará a la instancia.
  2. Abra PowerShell como administrador.
  3. Cambie los directorios a la carpeta donde se guarda la herramienta de diagnóstico:

    cd C:\Program Files\Oracle Cloud Agent\ocatools
  4. Ejecute la herramienta de diagnóstico:

    .\diagnostic.ps1

    La herramienta genera un archivo ZIP y lo guarda en C:\Users\opc\Desktop\. Proporcione el archivo al abrir la solicitud de soporte.