In diesem Dokument wird beschrieben, wie Sie Probleme mit VM Manager beheben.
Weitere Informationen zu VM Manager finden Sie unter VM Manager.
Hinweise
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Jede von der VM protokollierte Fehlermeldung oder Warnung. Dies ist ideal, um Fehler auf VM-Ebene oder von anderen Diensten zu identifizieren, die auf Ihrer VM ausgeführt werden. Informationen zum Prüfen dieser Logs finden Sie unter Cloud Logging prüfen.
- Ausführliche Debug-Informationen, die vom OS Config-Agent protokolliert wurden. Dies ist hilfreich, um Probleme mit einem der Vorgänge zu identifizieren, die von VM Manager ausgeführt werden. Informationen zum Untersuchen von Debug-Logs für den OS Config-Agent finden Sie unter Debug-Logs ansehen.
- Rufen Sie in der Google Cloud Console auf der Seite OS Patch Management den Tab Patch-Jobs auf.
- Klicken Sie auf den Namen des Patchjobs, den Sie debuggen möchten.
- Scrollen Sie nach unten zu Aktualisierte VM-Instanzen.
- Klicken Sie für eine bestimmte VM unter Logs auf Aufrufen.
- Rufen Sie in der Google Cloud Console den Tab VM-Instanzen auf der Seite OS Configuration Management auf.
- Klicken Sie auf den Namen der VM, die Sie debuggen möchten.
- Scrollen Sie nach unten zu Richtlinien.
- Klicken Sie unter Logs auf Aufrufen.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der VM, für die Sie den Metadatenwert festlegen möchten.
Klicken Sie auf der Seite Instanzdetails auf Bearbeiten, um die Einstellungen zu bearbeiten.
Fügen Sie unter Benutzerdefinierte Metadaten die folgenden Metadateneinträge hinzu:
Schlüssel:
osconfig-log-level
Wert:debug
Klicken Sie auf Speichern, um Ihre Änderungen für die VM zu übernehmen.
- Cloud Logging: Verwenden Sie die Google Cloud Console oder die Google Cloud CLI.
Serielle Port-Konsole
Rufen Sie in der Google Cloud Console die Seite Logging > Log-Explorer auf:
Wählen Sie bei Bedarf oben auf der Seite ein vorhandenes Google Cloud-Projekt aus oder erstellen Sie ein neues Projekt.
Wählen Sie in der Drop-down-Liste Ressource die Option VM-Instanz aus. Eine Liste der verfügbaren VMs (
instance_id
) wird angezeigt.Klicken Sie auf die VM, die Sie aufrufen möchten.
Klicken Sie auf Hinzufügen.
Wählen Sie in der Drop-down-Liste Logname die Option OSConfigAgent aus.
Klicken Sie auf Hinzufügen.
Die Abfrage sollte in etwa so aussehen:
resource.type="gce_instance" resource.labels.instance_id="INSTANCE_ID" logName="projects/PROJECT_ID/logs/OSConfigAgent"
Klicken Sie auf Abfrage ausführen.
- Ein angehängtes Dienstkonto. VM Manager verwendet dieses Dienstkonto, um Anfragen an den API-Dienst zu signieren.
- Prüfen Sie, ob das angehängte Dienstkonto die Rolle
roles/logging.logWriter
zum Schreiben von Logs in die Logging API hat. - Google Cloud OS Config-Dienst-Agent. VM Manager erstellt diesen Dienst-Agent beim Starten von Patch-Jobs und weist ihm die Rolle „Cloud OS Config-Dienst-Agent“ zu. Zum Erstellen von Betriebssystemrichtlinien müssen Sie diesen Dienst-Agent nicht konfigurieren.
- Prüfen Sie, ob alle VMs ein angehängtes Dienstkonto haben.
Prüfen Sie, ob die Rolle „Cloud OS Config-Dienst-Agent“ (
roles/osconfig.serviceAgent
) für den Google Cloud OS Config-Dienst-Agent festgelegt ist.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com' \ --role='roles/osconfig.serviceAgent'
Dabei gilt:
PROJECT_ID
: Ihre Projekt-IDPROJECT_NUMBER
: Ihre Projektnummer
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Übersicht
Um Probleme zu beheben, prüfen Sie zuerst, ob VM Manager ordnungsgemäß eingerichtet ist. Wenn die Einrichtung korrekt ist und weiterhin Probleme auftreten, prüfen Sie die Logs. Beim Prüfen von Logs können Sie Probleme mit Ihrer VM oder in Ihrem VM Manager-Workflow ermitteln, z. B. Fehler in Befehlen oder Skripts, die Sie isolieren und beheben können.
Sie können die folgenden Informationen aus Logs erfassen:
Nachdem Sie die Probleme oder Fehler ermittelt haben, können Sie im Abschnitt Häufige Fehler mögliche Lösungen finden.
Cloud Logging prüfen
Sie können die Google Cloud Console-Quick-Links für jedes Feature verwenden, um Logs für eine bestimmte VM aufzurufen.
OS patch
Betriebssystemrichtlinien
Dieses Verfahren wird für Betriebssystemrichtlinien unterstützt. Verwenden Sie für Gastrichtlinien (Beta) die Option für Fehlerbehebungslogs im folgenden Abschnitt.
Debug-Logs prüfen
Sie können Probleme mit einem beliebigen VM Manager-Feature ermitteln, indem Sie das Debugging für den OS Config-Agent aktivieren und das Debug-Log aufrufen.
Debug-Logging für den OS Config-Agent aktivieren
Sie können das Debug-Logging durch Festlegen der Metadaten
osconfig-log-level=debug
für die VM-Instanz oder das Projekt aktivieren.Führen Sie die folgenden Schritte aus, um das Debug-Logging auf Ihrer VM zu aktivieren:
Console
gcloud
Führen Sie den Befehl
instances add-metadata
mit dem Flag--metadata=osconfig-log-level=debug
aus.gcloud compute instances add-metadata VM_NAME \ --metadata=osconfig-log-level=debug
Ersetzen Sie
VM_NAME
durch den Namen Ihrer VM.REST
Wie Sie Instanzmetadaten festlegen, erfahren Sie in der API-Anleitung unter Metadaten der Instanz festlegen.
Das folgende Schlüssel/Wert-Paar ist als Teil des Metadatenattributs erforderlich:
Schlüssel:
osconfig-log-level
Wert:debug
Debug-Logs ansehen
Wenn das Debug-Logging aktiviert ist, schreibt der OS Config-Agent Logeinträge in Cloud Logging und in die serielle Port-Konsole.
Nachdem Sie das Debug-Logging auf der VM aktiviert haben, dauert es etwa zehn Minuten, bis der OS Config-Agent Debug-Nachrichten in Cloud Logging schreibt. Sie können die Wartezeit verkürzen, indem Sie den Agent neu starten oder Ihre VM neu starten. Weitere Informationen zu Cloud Logging finden Sie unter Logs von Cloud Logging ansehen.
Sie können die folgenden Optionen verwenden, um Debug-Logs aufzurufen:
Console
gcloud
Führen Sie den Befehl
gcloud logging read
aus:gcloud logging read "resource.type=gce_instance AND logName=projects/PROJECT_ID/logs/OSConfigAgent"
Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.Serieller Port
Wenn Sie Informationen zu Debug-Logs über die serielle Port-Konsole ansehen möchten, finden Sie dazu weitere Informationen unter Ausgabe des seriellen Ports ansehen.
Häufige Fehler
Authentifizierungsprobleme
Damit VM Manager funktioniert, müssen folgende Voraussetzungen erfüllt sein:
Wenn Sie VM Manager verwenden und kein angehängtes Dienstkonto oder keinen Google Cloud OS Config-Dienst-Agent haben, werden bei der Arbeit mit Patch-Jobs möglicherweise die folgenden Fehler angezeigt:
Service account permissions are missing. Verify that the service account has the correct permissions and try again.
OSConfigAgent Error main.go:88: error getting token from metadata: metadata: GCE metadata "instance/service-accounts/default/identity?audience=osconfig.googleapis.com&format=full" not defined
message: "Error running OPERATION_NAME: error calling OPERATION_NAME: code: "PermissionDenied", message: "The caller does not have permission", details: []"
Authentifizierungsprobleme können auch verhindern, dass VM-Instanzen im Patch-Dashboard angezeigt werden.
Versuchen Sie Folgendes, um diese Probleme zu beheben:
Fehler beim Ausschließen von Paketen für Patchupdates
Wenn Sie Platzhalter oder Sonderzeichen für den Namen des Pakets angeben, wenn Sie Pakete in einem Patch-Job ausschließen, ignoriert OS Patch Management die Liste möglicherweise und aktualisiert alle Pakete.
Um dieses Problem zu beheben, aktualisieren Sie den OS Config-Agent auf Version
20220829.00
und verwenden Sie Schrägstriche (/
), um den Paketnamen zu umschließen.Im folgenden Beispiel schließt OS Patch Management
yum
-Pakete mit dem Präfixgoogle-
im Paketnamen aus.gcloud compute os-config patch-jobs execute --instance-filter-all
--yum-excludes=/google-.*/Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-11-25 (UTC).
-