Agent-Richtlinien werden mithilfe der
gcloud compute instances ops-agents policies
-Befehl
in der Google Cloud CLI oder der
ops-agent-policy
Terraform-Modul.
Agent-Richtlinien verwenden die
VM Manager -Tools in
Compute Engine zum Verwalten von Betriebssystemrichtlinien,
die die Bereitstellung und Wartung von Softwarekonfigurationen
wie die
Ops-Agent. Diese Richtlinien können nicht auf den Legacy-Monitoring-Agent oder den Legacy-Logging-Agent angewendet werden.
gcloud compute os-config os-policy-assignments
, die Befehlsgruppe gcloud compute instances ops-agents policies
ist jedoch speziell für die in diesem Dokument beschriebenen Agent-Richtlinien konzipiert.
Hinweise
Das Terraform-Modul ops-agent-policy
basiert auf dem
gcloud compute instances ops-agents policies
-Befehle aus dem Google Cloud SDK. Informationen zur Funktionsweise von Terraform finden Sie unter
Terraform verwenden
Bevor Sie die Google Cloud CLI oder das Terraform-Modul zum Erstellen des Agents verwenden führen Sie die folgenden Schritte aus:
Wenn Sie die
gcloud compute instances ops-agents policies
-Befehle verwenden und die Sie noch nicht installiert haben, Google Cloud CLIWenn Sie das Terraform-Modul verwenden möchten, gehen Sie so vor:
Informationen zum Installieren von Terraform finden Sie unter Terraform installieren und konfigurieren. In Cloud Shell ist Terraform bereits installiert.
Klonen Sie das Repository
terraform-google-cloud-operations
, das enthält das Modulops-agent-policy
:git clone https://github.com/terraform-google-modules/terraform-google-cloud-operations
Laden Sie das Skript
prepare-for-ops-agents-policies.sh
herunter und führen Sie es aus, um die erforderlichen APIs zu aktivieren und die richtigen Berechtigungen für die Verwendung des Google Cloud CLI oder Terraform festzulegen.Weitere Informationen zum Skript finden Sie unter Skript
prepare-for-ops-agents-policies.sh
.
Legacy-Monitoring-Agent und Logging-Agent deinstallieren
Achten Sie beim Erstellen einer Richtlinie für den Ops-Agent darauf, dass auf Ihren VMs nicht der Legacy-Logging-Agent oder der Legacy-Monitoring-Agent installiert ist. Das Ausführen des Ops-Agents und der Legacy-Agents auf derselben VM kann dazu führen, dass doppelte Logs oder ein Konflikt bei der Messwertaufnahme entstehen. Deinstallieren Sie bei Bedarf den Monitoring-Agent und deinstallieren Sie den Logging-Agent, bevor Sie eine Richtlinie zur Installation des Ops-Agents erstellen.Prüfen, ob der OS Config-Agent installiert ist
Möglicherweise müssen Sie den OS Config-Agent manuell auf VMs installieren und konfigurieren, die vor OS Config liegen. Informationen zum manuellen Installieren und Prüfen des OS Config-Agents finden Sie in der Checkliste zur Bestätigung für VM Manager.
Werte für Informationen zum Betriebssystem ermitteln
Wenn Sie Agentrichtlinien auf bestimmte Betriebssysteme oder Versionen anwenden möchten, müssen Sie die Werte kennen, die in OS Config für die Verweise darauf verwendet werden.
Mit den folgenden Befehlen können Sie Werte für die Felder osShortName
und osVersion
für eine VM ermitteln:
gcloud compute instances os-inventory describe INSTANCE_NAME \
--zone ZONE | grep "^ShortName: "
gcloud compute instances os-inventory describe INSTANCE_NAME \
--zone ZONE | grep "^Version: "
Für diese Befehle muss der OS Config-Agent auf der VM installiert sein.
Agent-Richtlinie zum Verwalten des Ops-Agents erstellen
Befehlszeile
Verwenden Sie zum Erstellen einer Zugriffsrichtlinie den Befehlgcloud compute instances ops-agents policies
create
.
Dieser Befehl hat die folgende Struktur:
gcloud compute instances ops-agents policies
create
POLICY_ID \
--zone ZONE \
--file path/to/policy-description-file.yaml \
--project PROJECT_ID
Ersetzen Sie bei Verwendung dieses Befehls die Variablen so:
- POLICY_ID ist der Name der Richtlinie.
- ZONE ist eine Compute Engine-Zone. Agent-Richtlinien werden nur auf VMs in der angegebenen Zone angewendet. Wenn Sie eine Richtlinie in mehreren Zonen anwenden möchten, müssen Sie mehrere Richtlinien erstellen.
- path/to/policy-description-file.yaml ist der Pfad zu einer YAML-Datei, in der die Richtlinie beschrieben wird. Informationen zur Struktur dieser Datei finden Sie unter Agent-Richtlinien beschreiben.
- PROJECT_ID ist die ID des Google Cloud-Projekts.
Informationen zu den anderen Befehlen in der Befehlsgruppe und den verfügbaren Optionen finden Sie in der Dokumentation zu gcloud compute instances ops-agents policies
.
Agent-Richtlinien beschreiben
Sie stellen Richtlinieninformationen für diegcloud compute instances ops-agents policies
create
bereit, indem Sie eine YAML-Datei erstellen, in der die Richtlinie beschrieben wird, und diese Datei an den Befehl als Wert der Option --file
übergeben.
In diesem Abschnitt wird die Struktur der Datei mit der Richtlinienbeschreibung beschrieben. Weitere Informationen finden Sie unter Beispiele für Dateien mit Richtlinienbeschreibungen.
Format der YAML-Datei mit der Richtlinienbeschreibung
Die Beschreibungsdatei für eine Agent-Richtlinie muss zwei Feldgruppen enthalten:
agentsRule
: Gibt der Agent-Richtlinie an, ob der Ops-Agent installiert oder entfernt werden soll, und gibt die Version des Ops-Agents an, mit der der Vorgang ausgeführt werden soll.instanceFilter
: Gibt die VMs an, auf die die Richtlinie angewendet werden soll.
Struktur der Feldgruppe agentsRule
Die Feldgruppe agentsRule
hat die folgende Struktur:
agentsRule:
packageState: installed|removed
version: latest|2.*.*|2.x.y
- Das Feld
packageState
teilt der Richtlinie den beabsichtigten Status des Ops-Agents mit. Gültige Werte sindinstalled
undremoved
. Das Feld
version
gibt die Version des Ops-Agents an, die installiert oder entfernt werden soll. Sie können die folgenden Werte angeben:latest
ist die neueste Version des Ops-Agents.2.*.*
ist der neueste Release der Hauptversion 2 des Ops-Agents.2.x.y
gibt eine bestimmte Version der Hauptversion 2 an.
Informationen zu den verfügbaren Versionen des Ops-Agents finden Sie im GitHub-Repository des Agents.
Struktur der Feldgruppe instanceFilter
Die Feldgruppe instanceFilter
gibt die VMs in einer Zone an, auf die der Filter angewendet wird. Diese Feldgruppe ist eine YAML-Darstellung der InstanceFilter
-Struktur, die von der Ressource OSPolicyAssignment
in der OS Config API verwendet wird.
Die Feldgruppe instanceFilter
hat eine der folgenden Strukturen:
So wenden Sie die Agent-Richtlinie auf alle VMs in einer Zone an:
instanceFilter: all: True
Wenn Sie den Filter
all: True
verwenden, können Sie keine anderen Kriterien angeben.Um die Agent-Richtlinie auf eine bestimmte Gruppe von VMs in einer Zone anzuwenden, beschreiben Sie die VMs mit einer Kombination der folgenden Optionen:
- Labels auf der VM, entweder zum Ein- oder Ausschließen:
inclusionLabels:
exclusionLabels:
- Betriebssystem:
inventories:
Mit dem folgenden Filter wird beispielsweise die Agent-Richtlinie auf die VMs mit den angegebenen Betriebssystemen angewendet, die das Label "env=prod" und nicht das Label "app=web" haben:
instanceFilter: inclusionLabels: - labels: env: prod exclusionLabels: - labels: app: web inventories: - osShortName: rhel osVersion: '7.*' - osShortName: debian osVersion: '11'
Informationen zum Ermitteln der Betriebssystemwerte finden Sie unter Informationen zum Betriebssystem ermitteln.
- Labels auf der VM, entweder zum Ein- oder Ausschließen:
Terraform
Verwenden Sie zum Erstellen einer vollständig benutzerdefinierten Agent-Richtlinie den
Modul ops-agent-policy
in der modules
des Repositorys terraform-google-cloud-operations
.
Dieses Modul benötigt dieselben Informationen,
Der Befehl
ist erforderlich.
Eine Beschreibung aller Felder zur Beschreibung einer Agent-Richtlinie
wählen Sie den Tab Command-line (Befehlszeile) aus.gcloud compute instances ops-agents policies
create
Das Verzeichnis examples
im
Das Repository terraform-google-cloud-operations
enthält Dateien, die
viele der Variablen bereitstellen, die für das ops-agent-policy
-Modul erforderlich sind.
für Sie. Weitere Informationen finden Sie unter
Beispiele für Richtlinienkonfigurationen
Informationen zum Anwenden oder Entfernen einer Terraform-Datei Informationen zur Konfiguration finden Sie unter Grundlegendes Terraform Informationen zur Funktionsweise von Terraform finden Sie unter Terraform verwenden.
Status von Agent-Richtlinien prüfen
In diesem Abschnitt wird beschrieben, wie Sie den Status von erstellten Richtlinien und die Installation des Ops-Agents prüfen können. Diese Informationen können auch bei der Fehlerbehebung in Bezug auf Ihre Agent-Richtlinien hilfreich sein.
Compute Engine-Seite Betriebssystemrichtlinien
Die Seite Betriebssystemrichtlinien für Compute Engine enthält Informationen zu den Agent-Richtlinien, die den Ops-Agent verwalten, und zu VMs auf dem Tab VM-Instanzen. Beispiel:
- Die Spalte Status gibt an, ob eine Richtlinie erfolgreich installiert wurde ("Konform"), in Bearbeitung ("Ausstehend"), möglicherweise fehlgeschlagen ("Unbekannt") oder nicht vorhanden ("Keine Richtlinien").
- Die Spalte VM überwacht gibt an, ob der Ops-Agent von OS Config verwaltet wird ("Überwacht") oder nicht ("Nicht überwacht").
Wenn eine Richtlinie „Konform“ ist, wird die VM jedoch „Nicht überwacht“ angezeigt, und es liegt möglicherweise ein Problem bei der Installation des Ops-Agents vor. Unter Umständen ist bereits ein Legacy-Agent installiert.
Öffnen Sie in der Google Cloud Console die Seite Betriebssystemrichtlinien:
Zu „Betriebssystemrichtlinien“
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.
Auf dem Tab Betriebssystemrichtlinien von Compute Engine werden unter VM-Instanzen Informationen zu Agents angezeigt, die von allen Betriebssystemrichtlinien in Ihrem Google Cloud-Projekt verwaltet werden. Diese Richtlinien sind mit goog-ops-agent-policy
gekennzeichnet.
- Der Indikator
goog-ops-agent-policy
enthält mehrere Arten von Richtlinien:- Mit den
gcloud compute instances ops-agents policies
-Befehlen erstellte Richtlinien. - Richtlinien, die für Sie erstellt wurden, wenn Sie die Installation des Ops-Agents beim Erstellen der VM angefordert haben.
- Richtlinien, die mit Terraform zum Verwalten des Ops-Agents erstellt wurden.
Zur Unterscheidung zwischen Richtlinien verwenden Sie den Tab Zuweisungen von Betriebssystemrichtlinien auf der Seite. Dort finden Sie die Richtlinien-IDs für alle Richtlinienzuweisungen in Ihrem Google Cloud-Projekt.
- Mit den
- Diese Spalte VM überwacht spiegelt nicht die Installation des Ops-Agents auf andere Weise wider, z. B. durch eine manuelle Installation oder durch Beta-Agent-Richtlinien.
Cloud Monitoring-Seite VM-Instanzen
Die Seite VM-Instanzen in Cloud Monitoring enthält die Spalte Agent, in der der auf jeder VM installierte Agent aufgeführt ist. Der Ops-Agent enthält einen Indikator für installierte Agents, die älter als die neueste Version sind.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
Beispiele für Richtlinienkonfigurationen
In diesem Abschnitt werden Beispiele zum Einrichten von Agent-Richtlinien bei der Verwendung von Google Cloud SDK oder Terraform.
Befehlszeile
Beispiele für Dateien mit Richtlinienbeschreibungen
Dieser Abschnitt enthält einige Beispiele für YAML-Dateien mit Richtlinienbeschreibungen für eine Vielzahl von Szenarien. In den Beispielen wird davon ausgegangen, dass Sie den YAML-Inhalt in eine Datei mit dem Namenagent-policy-description.yaml
einfügen und die Richtlinie in der Zone us-central1-a
mit einem Befehl wie diesem erstellen:
gcloud compute instances ops-agents policies
create
POLICY_ID \
--zone us-central1-a \
--file agent-policy-description.yaml \
--project PROJECT_ID
Auf allen VMs installieren
Verwenden Sie die folgende Richtlinienbeschreibung, um die neueste Version des Ops-Agents auf allen VMs in der Zone us-central1-a
zu installieren:
agentsRule:
packageState: installed
version: latest
instanceFilter:
all: True
Aus allen VMs entfernen
Verwenden Sie die folgende Richtlinienbeschreibung, um die neueste Version des Ops-Agents auf allen VMs in der Zone us-central1-a
zu entfernen:
agentsRule:
packageState: removed
version: latest
instanceFilter:
all: True
Auf VMs basierend auf Labels installieren
Verwenden Sie die folgende Richtlinienbeschreibung, um die neueste Version des Ops-Agents auf allen VMs in der Zone us-central1-a
mit dem Label „env=prod“ oder „app=web“ zu installieren:
agentsRule:
packageState: installed
version: latest
instanceFilter:
inclusionLabels:
- labels:
env: prod
- labels:
app: web
Wenn Sie mehrere labels:
-Einträge für den Ein- oder Ausschluss angeben, stimmt eine VM überein, wenn eines der Labels vorhanden ist. Das heißt, die ein- oder auszuschließenden Labels werden als logischer OR
-Vorgang und nicht als logischer AND
-Vorgang abgeglichen.
Auf VMs basierend auf anderen Labels installieren
Verwenden Sie die folgende Richtlinie, um die neueste Version des Ops-Agents auf allen VMs in der Zone us-central1-a
zu installieren, auf denen Debian 11 ausgeführt wird, außer denen mit den Labels „env=prod“ und „app=web6“. Befolgen Sie dabei die Richtlinienbeschreibung:
agentsRule:
packageState: installed
version: latest
instanceFilter:
exclusionLabels:
- labels:
env: prod
app: web6
inventories:
- osShortName: debian
osVersion: '11'
Wenn Sie mehrere Schlüssel/Wert-Paare unter einem einzelnen labels:
-Eintrag für den Ein- oder Ausschluss angeben, stimmt eine VM überein, wenn alle Labels vorhanden sind, d. h. die Labels werden als logischer AND
-Vorgang und nicht als logischer OR
-Vorgang abgeglichen.
Auf VMs je nach Betriebssystem installieren
Um die neueste Version 2 des Ops-Agents auf allen VMs zu installieren, auf denen Debian 11 oder RHEL 7.* in der Zone us-central1-a
ausgeführt wird, verwenden Sie die folgende Richtlinienbeschreibung:
agentsRule:
packageState: installed
version: 2.*.*
instanceFilter:
inventories:
- osShortName: rhel
osVersion: '7.*'
- osShortName: debian
osVersion: '11'
Terraform
In diesem Abschnitt werden die Beispiele im Verzeichnis examples
des terraform-google-cloud-operations
-Repositorys beschrieben. Diese Beispiele enthalten Dateien, in denen viele der vom ops-agent-policy
-Modul benötigten Variablen für Sie konfiguriert werden. Sie können die Spalte
Beispiele. Beispielsweise wird in diesen Beispielen der Ops-Agent installiert.
können Sie sie ändern, um den Agent stattdessen zu löschen.
Informationen zum Anwenden oder Entfernen einer Terraform-Datei Informationen zur Konfiguration finden Sie unter Grundlegendes Terraform
Beispiel: ops_agent_policy_install_all
In diesem Beispiel wird die neueste Version des Ops-Agents auf allen infrage kommenden VMs in Ihrem Google Cloud-Projekt installiert.
Wenn Sie den Befehl terraform plan
oder terraform apply
ausführen, werden Sie aufgefordert, die folgenden Werte einzugeben:
- PROJECT_ID: Die ID Ihres Google Cloud-Projekts
Beispiel: ops_agent_policy_install_all_in_region
In diesem Beispiel wird die neueste Version des Ops-Agents auf allen
zulässigen VMs in einer bestimmten Region, z. B. us-west1
. Eine Region enthält
mehreren Zonen, in diesem Fall us-west-1a
, us-west-1b
und us-west-1c
.
Wenn Sie die terraform plan
- oder
terraform apply
verwenden, werden Sie zur
Werte:
- PROJECT_ID: Die ID Ihres Google Cloud-Projekts
- REGION: Region, in der der Agent auf VMs installiert werden soll
Beispiel: ops_agent_policy_install_all_in_zone
In diesem Beispiel wird die neueste Version des Ops-Agents auf allen
zulässigen VMs in einer bestimmten Zone, z. B. us-central1-a
.
Wenn Sie die terraform plan
- oder
terraform apply
verwenden, werden Sie zur
Werte:
- PROJECT_ID: die ID Ihres Google Cloud-Projekts
- ZONE: Die Zone, in der der Agent auf VMs installiert werden soll
Fehlerbehebung bei GA-Agent-Richtlinien
Dieser Abschnitt enthält Informationen zur Behebung von Problemen mit GA-Agent-Richtlinien für den Ops-Agent. Die unter Status von Agent-Richtlinien prüfen beschriebenen Informationen können ebenfalls hilfreich sein.
Die ops-agents policy
-Befehle schlagen fehl
Wenn ein gcloud compute instances ops-agents policies
-Befehl fehlschlägt, wird in der Antwort ein Validierungsfehler angezeigt. Korrigieren Sie diesen Fehler. Ändern Sie dafür die Befehlsargumente sowie die Flags wie in der Fehlermeldung vorgeschlagen.
Zusätzlich zu den Validierungsfehlern können Fehler angezeigt werden, die auf die folgenden Bedingungen hinweisen:
- Unzureichende IAM-Berechtigung
- Die OS Config API ist nicht aktiviert
- Die angegebene Richtlinie existiert nicht
Diese Schritte werden in den folgenden Abschnitten näher erläutert.
Unzureichende IAM-Berechtigung
Wenn ein gcloud compute instances ops-agents policies
-Befehl mit einem Berechtigungsfehler fehlschlägt, führen Sie das Skript prepare-for-ops-agents-policies.sh
wie unter Vorbereitung beschrieben aus. um die OS Config-Richtlinienrollen einzurichten:
-
OSPolicyAssignment-Administrator (
roles/osconfig.osPolicyAssignmentAdmin
): Gewährt vollständigen Zugriff auf Zuweisungen von Betriebssystemrichtlinien.
-
OSPolicyAssignment-Bearbeiter
(
roles/osconfig.osPolicyAssignmentEditor
): Nutzer können Zuweisungen von Betriebssystemrichtlinien abrufen, aktualisieren und auflisten.
-
OSPolicyAssignment-Betrachter
(
roles/osconfig.osPolicyAssignmentViewer
): Bietet Lesezugriff für das Abrufen und Auflisten von Zuweisungen von Betriebssystemrichtlinien.
Weitere Informationen zum Skript prepare-for-ops-agents-policies.sh
finden Sie unter Skript prepare-for-ops-agents-policies.sh
.
OS Config API ist nicht aktiviert
Ein Beispielfehler sieht in etwa so aus:
API [osconfig.googleapis.com] not enabled on project PROJECT_ID.
Would you like to enable and retry (this will take a few minutes)?
(y/N)?
Sie können y
eingeben, um die API zu aktivieren, oder das Skript prepare-for-ops-agents-policies.sh
ausführen, wie in Vorbereitung beschrieben, um alle erforderlichen Berechtigungen zuzuweisen. Wenn Sie bei der Eingabeaufforderung in der Fehlermeldung y
eingeben, müssen Sie dennoch das Skript prepare-for-ops-agents-policies.sh
ausführen, um die erforderlichen Berechtigungen festzulegen.
Mit den folgenden Befehlen können Sie prüfen, ob die OS Config API für das Projekt aktiviert ist:
gcloud services list --project PROJECT_ID | grep osconfig.googleapis.com
Die erwartete Ausgabe sieht so aus:
osconfig.googleapis.com Cloud OS Config API
Die Richtlinie existiert nicht.
Ein Beispiel für einen solchen Fehler sieht so aus:
NOT_FOUND: Requested entity was not found
Dieser Fehler kann bedeuten, dass die Richtlinie nie erstellt oder gelöscht wurde oder dass die angegebene Richtlinien-ID falsch ist. Achten Sie darauf, dass die in einem gcloud compute instances ops-agents policies
describe
-, update
- oder delete
-Befehl verwendete POLICY_ID einer vorhandenen Richtlinie entspricht. Eine Liste der Agent-Richtlinien rufen Sie mit dem Befehl gcloud compute instances ops-agents policies
list
ab.
Die Richtlinie wurde erstellt, hat aber scheinbar keine Auswirkungen
OS Config-Agents werden auf jeder Compute Engine-Instanz bereitgestellt, um die Pakete für die Logging- und Monitoring-Agents zu verwalten. Die Richtlinie hat möglicherweise keine Auswirkungen, weil der zugrunde liegende OS Config-Agent nicht installiert ist.
Linux
Mit dem folgenden Befehl können Sie prüfen, ob der OS Config-Agent installiert ist.
gcloud compute ssh instance-id \
--project project-id \
-- sudo systemctl status google-osconfig-agent
Die Ausgabe sieht beispielsweise so aus:
google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
└─369 /usr/bin/google_osconfig_agent
Windows
Mit den folgenden Schritten können Sie prüfen, ob der OS Config-Agent installiert ist.
Stellen Sie mithilfe von RDP oder einem ähnlichen Tool eine Verbindung zu Ihrer Instanz her und melden Sie sich bei Windows an.
Öffnen Sie ein PowerShell-Terminal und führen Sie den folgenden PowerShell-Befehl aus. Sie benötigen keine Administratorberechtigungen.
Get-Service google_osconfig_agent
Die Ausgabe sieht beispielsweise so aus:
Status Name DisplayName
------ ---- -----------
Running google_osconfig_a… Google OSConfig Agent
Wenn der OS Config-Agent nicht installiert ist, verwenden Sie möglicherweise ein Betriebssystem, das VM Manager nicht unterstützt. Im Dokument Details zu Betriebssystemen von Compute Engine wird angegeben, welche VM Manager-Features für die einzelnen Compute Engine-Betriebssysteme unterstützt werden.
Wenn das Betriebssystem VM Manager unterstützt, können Sie den OS Config-Agent manuell installieren.
Der OS Config-Agent ist installiert, aber installiert den den Ops-Agent nicht
Um festzustellen, ob Fehler auftreten, wenn der OS Config-Agent Richtlinien anwendet, können Sie das Log des OS Config-Agents prüfen. Verwenden Sie dazu entweder den Log-Explorer oder verwenden Sie SSH bzw. RDP, um einzelne Compute Engine-Instanzen zu überprüfen.
Verwenden Sie zum Aufrufen der OS Config-Agent-Logs im Log-Explorer den folgenden Filter:
resource.type="gce_instance"
logId(OSConfigAgent)
So rufen Sie die Logs des OS Config-Agents auf:
CentOS, RHEL,
SLES, SUSE
Führen Sie dazu diesen Befehl aus:
gcloud compute ssh INSTANCE_ID \
--project PROJECT_ID \
-- sudo cat /var/log/messages \
| grep "OSConfigAgent\|google-fluentd\|stackdriver-agent"
Debian, Ubuntu
Führen Sie dazu diesen Befehl aus:
gcloud compute ssh INSTANCE_ID \
--project PROJECT_ID \
-- sudo cat /var/log/syslog \
| grep "OSConfigAgent\|google-fluentd\|stackdriver-agent"
Windows
Stellen Sie mithilfe von RDP oder einem ähnlichen Tool eine Verbindung zu Ihrer Instanz her und melden Sie sich bei Windows an.
Öffnen Sie die Anwendung „Ereignisanzeige“, wählen Sie Windows-Logs > Anwendung aus und suchen Sie nach Logs, bei denen
Source
gleichOSConfigAgent
ist.
Wenn beim Herstellen der Verbindung zum OS Config-Dienst ein Fehler auftritt, führen Sie das Skript prepare-for-ops-agents-policies.sh
aus, wie unter Vorbereitung beschrieben, um die Metadaten von OS Config einzurichten.
Mit dem folgenden Befehl können Sie prüfen, ob die OS Config-Metadaten aktiviert sind.
gcloud compute project-info describe \
--project PROJECT_ID \
| grep "enable-osconfig\|enable-guest-attributes" -A 1
Die erwartete Ausgabe sieht so aus:
- key: enable-guest-attributes
value: 'TRUE'
- key: enable-osconfig
value: 'TRUE'
Der Ops-Agent ist installiert, funktioniert aber nicht ordnungsgemäß
Weitere Informationen zur Fehlerbehebung bei Ops-Agent-Problemen finden Sie unter Fehlerbehebung beim Ops-Agent.
Logs auf Debug-Ebene für den OS Config-Agent aktivieren
Beim Melden eines Problems kann es nützlich sein, das Logging auf Debug-Ebene im OS Config-Agent zu aktivieren.
Sie können die osconfig-log-level: debug
-Metadaten festlegen, um das Logging auf Debug-Ebene für den OS Config-Agent zu aktivieren Die dabei erfassten Logs bieten Ihnen weitere Informationen für die Untersuchung.
Führen Sie den folgenden Befehl aus, um das Logging auf Debug-Ebene für das gesamte Projekt zu aktivieren:
gcloud compute project-info add-metadata \
--project PROJECT_ID \
--metadata osconfig-log-level=debug
Führen Sie den folgenden Befehl aus, um das Logging auf Debug-Ebene für eine VM zu aktivieren:
gcloud compute instances add-metadata INSTANCE_ID \
--project PROJECT_ID \
--metadata osconfig-log-level=debug
Hilfsskripts
In diesem Abschnitt finden Sie zusätzliche Informationen zu den in diesem Dokument beschriebenen Hilfsskripts:
Das Skript prepare-for-ops-agents-policies.sh
Nachdem Sie das Skript prepare-for-ops-agents-policies.sh
heruntergeladen haben, können Sie mithilfe des Skripts die folgenden Aktionen auf der Grundlage der von Ihnen angegebenen Argumente ausführen:
Für das Projekt werden die Cloud Logging API, die Cloud Monitoring API und die OS Config API aktiviert.
Wenn die OS Config API noch nicht aktiviert wurde, wird sie im Modus mit eingeschränkten Features aktiviert. Dies reicht für die Verwaltung von Agent-Richtlinien aus. Weitere Informationen finden Sie unter Preise.
Gewähren Sie dem Compute Engine-Standarddienstkonto die Identitäts- und Zugriffsverwaltungsrollen Logs Writer (
roles/logging.logWriter
) und Monitoring Metric Writer (roles/monitoring.metricWriter
) zu, damit die Agenten Protokolle und Metriken an die Protokollierungs- und Cloud-Überwachungs-APIs schreiben können.Aktivieren Sie die OS Config-Metadaten für das Projekt, damit der OS Config-Agent auf jeder VM aktiv ist.
Weisen Sie dem Nicht-Inhaber-Nutzer oder Dienstkonto, das zum Erstellen und Verwalten von Richtlinien erforderlich ist, eine der folgenden IAM-Rollen zu. Projektinhaber haben vollständigen Zugriff zum Erstellen und Verwalten von Richtlinien. Allen anderen Nutzern oder Dienstkonten muss eine der folgenden Rollen zugewiesen sein:
-
OSPolicyAssignment-Administrator (
roles/osconfig.osPolicyAssignmentAdmin
): Gewährt vollständigen Zugriff auf Zuweisungen von Betriebssystemrichtlinien.
-
OSPolicyAssignment-Bearbeiter
(
roles/osconfig.osPolicyAssignmentEditor
): Nutzer können Zuweisungen von Betriebssystemrichtlinien abrufen, aktualisieren und auflisten.
-
OSPolicyAssignment-Betrachter
(
roles/osconfig.osPolicyAssignmentViewer
): Bietet Lesezugriff für das Abrufen und Auflisten von Zuweisungen von Betriebssystemrichtlinien.
Beim Ausführen des Skripts können Sie die OSPolicyAssignment-Rollen als
admin
,editor
oderviewer
angeben. Das Skript ordnet diese Werte den Rollennamenroles/osconfig.osPolicyAssignment*
zu.-
OSPolicyAssignment-Administrator (
Die folgenden Beispiele zeigen einige gängige Aufrufe für das Skript. Weitere Informationen finden Sie in den Kommentaren im Skript selbst.
Zum Aktivieren der APIs weisen Sie dem Standarddienstkonto die erforderlichen Rollen zu und aktivieren die OS Config-Metadaten für ein Projekt. Gehen Sie dazu so vor:
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID
So führen Sie das Skript aus, um einem Nutzer, der nicht die Rolle "Inhaber" (roles/owner
) für das Projekt hat, eine der OS Config-Rollen zuzuweisen:
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID \ --iam-user=USER_EMAIL \ --iam-policy-access=[admin|editor|viewer]
So führen Sie das Skript aus, um einem nicht standardmäßigen Dienstkonto zusätzlich eine der OS Config-Rollen zuzuweisen:
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID \ --iam-service-account=SERVICE_ACCT_EMAIL \ --iam-policy-access=[admin|editor|viewer]
Das Skript diagnose_policies.sh
Wenn eine Projekt-ID, eine Compute Engine-Instanz-ID, eine Compute Engine-Zone und die Agent-Richtlinien-ID festgelegt sind, erfasst das Skript diagnose_policies.sh
automatisch die erforderliche Informationen zur Diagnose von Problemen mit der Richtlinie:
- Die Version des OS Config-Agents
- Die zugrunde liegende Zuweisung von Betriebssystemrichtlinien
- Die Zuweisungen von Betriebssystemrichtlinien, die für diese Compute Engine-Instanz gelten
- Eine Beschreibung dieser Compute Engine-Instanz
Führen Sie den folgenden Befehl aus, um das Skript aufzurufen:
bash diagnose_policies.sh --project-id=PROJECT_ID \ --gce-instance-id=INSTANCE_ID \ --policy-id=POLICY_ID \ --zone=ZONE
Preise
Die gcloud compute instances ops-agents policies
-Befehle werden mithilfe von Ressourcen für die Zuweisung von Betriebssystemrichtlinien aus VM Manager implementiert.
Das Skript prepare-for-ops-agents-policies.sh
, das unter Bevor Sie beginnen beschrieben wird, richtet VM Manager im Modus mit eingeschränkten Funktionen (OSCONFIG_B
) ein, der für die Erstellung und Verwaltung von Agentenrichtlinien ausreichend ist. Die Nutzung von VM Manager im eingeschränkten Modus ist kostenlos.
Wenn Sie VM Manager im Modus mit allen Funktionen (OSCONFIG_C
) konfiguriert haben, können Kosten anfallen.