Fehler in Oracle Cloud Agent beheben
Wenn Sie Oracle Cloud Agent verwenden, treten möglicherweise folgende Probleme auf:
- Auf der Registerkarte Oracle Cloud Agent der Seite "Instanzdetails" lautet der Status für alle Plug-ins Ungültig.
- Im Abschnitt "Metriken" des Dashboards der Konsole werden keine CPU-, Speicher-, Netzwerk- oder Datenträgermetriken für die Instanz angezeigt.
Wenn eines dieser Probleme auftritt, ist Oracle Cloud Agent möglicherweise nicht installiert, wird nicht ausgeführt oder kann nicht mit Oracle-Services kommunizieren. Um das jeweilige Problem zu diagnostizieren, führen Sie die folgenden Schritte zur Fehlerbehebung aus.
In diesem Thema gelten die Anweisungen für Oracle Linux auch für CentOS-Images.
Wenn Sie keine Verbindung zu Ihrer Instanz herstellen können, wird auf folgende Informationen verwiesen:
Schritt 1: Prüfen, ob Oracle Cloud Agent installiert ist
Führen Sie diese Schritte aus, um sicherzustellen, dass Oracle Cloud Agent auf Ihrer Instanz installiert ist.
- Stellen Sie eine Verbindung zur Instanz her, und führen Sie je nach Betriebssystem einen der folgenden Befehle aus.Oracle Linux
rpm -q oracle-cloud-agent && echo "OCA Installed" || echo "OCA not Installed"
Wenn Oracle Cloud Agent installiert ist, wird eine Meldung ähnlich der folgenden angezeigt:
oracle-cloud-agent-<version>.x86_64 OCA Installed
Ubuntusnap list oracle-cloud-agent &>/dev/null && echo "OCA Installed" || echo "OCA not Installed"
Wenn Oracle Cloud Agent installiert ist, wird die folgende Meldung angezeigt:
OCA Installed
Windows ServerFühren Sie den Befehl in Windows PowerShell als Administrator aus.
Get-WmiObject -Class Win32_Product |where name -eq "Oracle Cloud Agent"
Wenn Oracle Cloud Agent installiert ist, wird eine Meldung ähnlich der folgenden angezeigt:
IdentifyingNumber : {<unique_ID>} Name : Oracle Cloud Agent Vendor : Oracle Corporation Version : <version> Caption : Oracle Cloud Agent
- Wenn die Meldung, dass Oracle Cloud Agent installiert ist, nach der Ausführung des Befehls nicht angezeigt wird, installieren Sie Oracle Cloud Agent. Wenn Oracle Cloud Agent installiert ist, fahren Sie mit dem nächsten Schritt fort, um zu prüfen, ob er ausgeführt wird.
Schritt 2: Prüfen, ob Oracle Cloud Agent ausgeführt wird
Nachdem Sie sichergestellt haben, dass Oracle Cloud Agent installiert ist, führen Sie die folgenden Schritte aus, um zu bestätigen, dass er ausgeführt wird.
- Führen Sie eine Verbindung zur Instanz aus, und starten Sie Oracle Cloud Agent mit einem der folgenden Befehle neu.
Oracle Linux 7.x und spätere Versionen
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"
Erwartete Antwort, wenn Oracle Cloud Agent ausgeführt wird:
OCA is enabled OCA is running
Ubuntusnap services oracle-cloud-agent
Erwartete Antwort, wenn Oracle Cloud Agent ausgeführt wird:
Service Startup Current Notes oracle-cloud-agent.oracle-cloud-agent enabled active -
Windows ServerFühren Sie den Befehl in Windows PowerShell als Administrator aus.
sc.exe query "OCA"|findstr "RUNNING"
Erwartete Antwort, wenn Oracle Cloud Agent ausgeführt wird:
STATE : 4 RUNNING
- Wenn die Meldung, dass Oracle Cloud Agent ausgeführt wird, nach der Ausführung des Befehls nicht angezeigt wird, führen Sie das Diagnosetool aus, und reichen Sie dann ein Supportticket mit der Datei ein, die Debugginginformationen und Logs für die Plug-ins enthält. Wenn Oracle Cloud Agent ausgeführt wird, fahren Sie mit dem nächsten Schritt fort, um zu prüfen, ob er eine Verbindung zu Oracle-Services herstellen kann.
Schritt 3: Prüfen, ob Oracle Cloud Agent eine Verbindung zu Oracle-Services herstellen kann
Wenn Sie sichergestellt haben, dass Oracle Cloud Agent installiert ist und ausgeführt wird, aber der Status für alle Plug-ins auf der Seite "Instanzdetails" Ungültig lautet oder im Abschnitt "Metriken" des Dashboards der Konsole keine Metriken angezeigt werden, kann Oracle Cloud Agent möglicherweise keine Verbindung zu Oracle-Services herstellen. In den folgenden Abschnitten werden mögliche Gründe untersucht, warum Oracle Cloud Agent keine Verbindung zu Oracle-Services herstellen kann. Um das Problem zu diagnostizieren, führen Sie diese Schritte in der angegebenen Reihenfolge aus.
- Prüfen Sie, ob die Instanz auf den Instance Metadata Service-Endpunkt zugreifen kann.
- Prüfen Sie, ob Clock-Skew-Fehler vorliegen.
- Prüfen Sie, ob die Gateways korrekt konfiguriert sind.
- Ändern Sie die Einstellungen des Proxyservers.
Prüfen, ob die Instanz auf den Instance Metadata Service-Endpunkt zugreifen kann
Mit diesen Schritten prüfen Sie, ob die Instanz auf den Instance Metadata Service-Endpunkt zugreifen kann.
- Stellen Sie eine Verbindung zur Instanz her, und führen Sie je nach Betriebssystem einen der folgenden Befehle aus.Oracle Linux und Ubuntu
curl -v -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v2/instance/
Wird Oracle Cloud Agent ausgeführt, wird eine Meldung ähnlich der folgenden angezeigt:
* 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 ServerFühren Sie den Befehl in Windows PowerShell als Administrator aus.
Invoke-WebRequest -Headers @{'Authorization'='Bearer Oracle'} http://169.254.169.254/opc/v2/instance/
Wird Oracle Cloud Agent ausgeführt, wird eine Meldung ähnlich der folgenden angezeigt:
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
- Wenn Sie eine erfolgreiche Antwort ohne Proxyfehler erhalten, prüfen Sie, ob Clock-Skew-Fehler vorliegen. Wenn Proxyserverfehler auftreten, prüfen Sie die Einstellungen des Proxyservers.
Prüfen, ob Clock-Skew-Fehler vorliegen
Manchmal die ist Uhr auf einer Instanz nicht mit dem NTP-Service synchronisiert. Clock Skew kann dazu führen, dass TLS-Verhandlungen nicht erfolgreich verlaufen, sodass die Instanz keine Verbindung zu Oracle-Services herstellen kann. Führen Sie die folgenden Schritte aus, um zu prüfen, ob Clock-Skew-Fehler vorliegen.
-
Verbinden Sie sich mit der Instanz, und führen Sie einen der folgenden Befehle aus, um die Datei
monitoring.log
zu generieren.Linuxsudo tail -15 /var/log/oracle-cloud-agent/plugins/gomon/monitoring.log
Windows Server 2019, Windows Server 2022Führen Sie den Befehl in Windows PowerShell als Administrator aus.
Get-Content -tail 15 C:\Windows\ServiceProfiles\OCA\AppData\Local\OracleCloudAgent\plugins\gomon\monitoring.log
Windows Server vor 2019Führen Sie den Befehl in Windows PowerShell als Administrator aus.
Get-Content -tail 15 C:\Users\OCA\AppData\Local\OracleCloudAgent\plugins\gomon\monitoring.log
Wenn ein Clock-Skew-Fehler vorliegt, wird eine Meldung ähnlich der folgenden angezeigt:
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>
- Wenn ein Clock-Skew-Fehler auftritt, konfigurieren Sie den Oracle Cloud Infrastructure NTP-Service für Ihre Instanz. Wenn kein Clock-Skew-Fehler auftritt, prüfen Sie, ob die Gateways korrekt konfiguriert sind.
- Wenn Sie den NTP-Service im vorherigen Schritt konfiguriert haben, führen Sie nach Abschluss der Konfiguration einen der folgenden Befehle aus, um Oracle Cloud Agent neu zu starten:Oracle Linux 7.x und spätere Versionen
sudo systemctl restart oracle-cloud-agent
Ubuntusudo snap restart oracle-cloud-agent
Windows ServerFühren Sie den Befehl in Windows PowerShell als Administrator aus.
net stop OCA net start OCA
-
Generieren Sie die Datei
monitoring.log
erneut.Wird Oracle Cloud Agent korrekt ausgeführt, lautet eine erfolgreiche Antwort 200 OK. Suchen Sie in der
monitoring.log
nach einer Nachricht ähnlich der folgenden: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>;
Berechtigungen für mit einer Domain verknüpfte Windows-Instanzen prüfen
Wenn eine Windows-Instanz mit einer Domain verknüpft ist, prüfen Sie, ob dem virtuellen Konto in der lokalen Gruppen-Policy die Benutzerberechtigung Log on as a Service zugewiesen ist. Um Berechtigungen festzulegen, führen Sie die Schritte zum Aktivieren der Serviceanmeldung über eine lokale Gruppen-Policy aus, die im Enable Service Logon-Handbuch von Microsoft beschrieben ist. Fügen Sie für Log on as a service den Benutzer NT SERVICE\ALL SERVICES oder den spezifischen Benutzer hinzu.
Prüfen, ob die Gateways korrekt konfiguriert sind
Damit Oracle Cloud Agent mit Oracle-Services kommunizieren kann, müssen Gateways in Subnetzen korrekt konfiguriert sein. Führen Sie diese Schritte aus, um Ihre Konfiguration zu prüfen und zu korrigieren.
- Konfigurieren Sie das Internetgateway, NAT-Gateway oder Servicegateway für das Subnetz in Ihrem VCN.
- Nachdem Sie die Konfigurationsschritte ausgeführt haben, starten Sie die Services mit den Befehlen im Abschnitt Prüfen, ob die Instanz auf den Instance Metadata Service-Endpunkt zugreifen kann neu. Nachdem Sie die Services neu gestartet haben, prüfen Sie die Datei
monitoring.log
auf erfolgreiche Anforderungen an Oracle-Services.
Einstellungen des Proxyservers ändern
Manchmal verhindern lokale Proxyserver, dass Oracle Cloud Agent mit Services kommuniziert. Jeder Proxyserver ist anders.
Häufig werden Proxyprobleme durch das Festlegen der Umgebungsvariablen http_proxy
, https_proxy
und no_proxy
für die Services oracle-cloud-agent
und oracle-cloud-agent-updater
für die Proxyclientinstanzen gelöst. Nachdem Sie diese Umgebungsvariablen festgelegt haben, prüfen Sie in der Datei access.log
(oder ähnlich, je nach System), ob Anforderungen vom Proxyclient an Services angezeigt werden, auf die Oracle Cloud Agent zugreifen kann.
-
Führen Sie den folgenden Befehl aus.
sudo EDITOR=vi systemctl edit oracle-cloud-agent
-
Fügen Sie im Editorfenster die folgenden Einträge hinzu, und speichern Sie die Datei.
[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> ist die Proxy-URL.
- <proxy_port> ist der Proxyport.
- Wiederholen Sie die beiden vorherigen Schritte für den
oracle-cloud-agent-updater
-Service. -
Führen Sie die folgenden Befehle aus, und starten Sie die Services neu.
sudo systemctl daemon-reload sudo systemctl restart oracle-cloud-agent oracle-cloud-agent-updater
-
Führen Sie den folgenden Befehl aus.
sudo EDITOR=vi systemctl edit snap.oracle-cloud-agent.oracle-cloud-agent
-
Fügen Sie im Editorfenster die folgenden Einträge hinzu, und speichern Sie die Datei.
[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> ist die Proxy-URL.
- <proxy_port> ist der Proxyport.
- Wiederholen Sie die beiden vorherigen Schritte für den
snap.oracle-cloud-agent.oracle-cloud-agent-updater
-Service. -
Führen Sie die folgenden Befehle aus, und starten Sie die Services neu.
sudo systemctl daemon-reload sudo systemctl restart snap.oracle-cloud-agent.oracle-cloud-agent snap.oracle-cloud-agent.oracle-cloud-agent-updater
-
Führen Sie die folgenden Befehle in Windows PowerShell als Administrator aus. Ändern Sie die Groß-/Kleinschreibung der Umgebungsvariablen nicht.
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> ist die Proxy-URL.
- <proxy_port> ist der Proxyport.
-
Starten Sie die Services
oracle-cloud-agent
undoracle-cloud-agent-updater
neu.net stop OCA net start OCA net stop OCAU net start OCAU
-
Um zu prüfen, ob das
Custom Logs Monitoring
-Plug-in Metriken senden kann, rufen Sie die Dateimonitoring.log
mit "tail" auf.Windows Server 2019, Windows Server 2022
Get-Content C:\Windows\ServiceProfile\OCA\Appdata\Local\OracleCloudAgent\plugins\gomon\monitoring.log -Wait
Windows Server-Versionen vor 2019
Get-Content C:\Users\OCA\Appdata\Local\OracleCloudAgent\plugins\gomon\monitoring.log -Wait
Schritt 4: Diagnosedatei für Oracle Cloud Agent generieren
Um Oracle Support das Beheben von Fehlern mit der Oracle Cloud Agent-Software zu erleichtern, können Sie das Oracle Cloud Agent-Diagnosetool auf Ihren Compute-Instanzen ausführen. Mit dem Diagnosetool wird eine Datei mit Debugginginformationen und Logs für die Plug-ins generiert, die von Oracle Cloud Agent verwaltet werden.
Das Diagnosetool wird mit Oracle Cloud Agent Version 1.14.0 und höher installiert. Informationen zum Aktualisieren von Oracle Cloud Agent finden Sie unter Oracle Cloud Agent-Software aktualisieren.
Führen Sie nach Abschluss der vorherigen Schritte zur Fehlerbehebung das Diagnosetool aus, und reichen Sie dann ein Supportticket mit der Datei ein, die Debugginginformationen und Logs für die Plug-ins enthält.
- Stellen Sie eine Verbindung zur Instanz her.
-
Wechseln Sie in den Ordner, in dem das Diagnosetool gespeichert ist:
cd /usr/libexec/oracle-cloud-agent/ocatools
-
Führen Sie das Diagnosetool aus:
sudo ./diagnostic
Das Tool generiert eine TAR-Datei mit einem Namen im Format
oca-diag-<date>.<identifier>.tar.gz
. Stellen Sie die Datei zur Verfügung, wenn Sie die Supportanfrage erstellen.
- Stellen Sie eine Verbindung zur Instanz her.
- Öffnen Sie PowerShell als Administrator.
-
Wechseln Sie in den Ordner, in dem das Diagnosetool gespeichert ist:
cd C:\Program Files\Oracle Cloud Agent\ocatools
-
Führen Sie das Diagnosetool aus:
.\diagnostic.ps1
Das Tool generiert eine ZIP-Datei und speichert sie unter
C:\Users\opc\Desktop\
. Stellen Sie die Datei zur Verfügung, wenn Sie die Supportanfrage erstellen.