Cloud Monitoring mit einem eigenständigen Agent einrichten
Mit Cloud Monitoring erhalten Sie Einblick in die Leistung, die Verfügbarkeit und den Status Ihrer Anwendungen und Infrastruktur. Sie können Cloud Monitoring und andere Teile von Google Cloud Observability verwenden, um VMware Engine-Dienste im großen Maßstab zu überwachen, zu debuggen und zu betreiben.
Die Konfiguration der Messwertweiterleitung für jede private Cloud definieren Sie mit einem eigenständigen Agent. Jede private Cloud erfordert einen separaten Agent, der entweder auf einer Compute Engine-VM oder einer VMware-VM gehostet wird.
Sobald Sie die Messwertweiterleitung aktiviert haben, können Sie Messwerte im Metrics Explorer von Cloud Monitoring ansehen. Ressourcentypen und Messwerte von VMware Engine beginnen mit external.googleapis.com/vmware/vcenter
. Der vCenter FQDN wird als Teil des Namespace getaggt.
Hinweis
Bei den Schritten in diesem Dokument wird davon ausgegangen, dass Sie zuerst Folgendes tun:
- Cloud Monitoring API aktivieren
- Identifizieren Sie ein Lösungsnutzerkonto zur Verwendung mit dem eigenständigen Agent und legen Sie ein starkes Passwort für das Lösungsnutzerkonto fest.
Erstellen Sie eine Compute Engine-VM oder eine VMware-VM, die als Host für den eigenständigen Agent verwendet werden soll. Compute Engine-VMs müssen sich in einem VPC-Netzwerk (Virtual Private Cloud) befinden, das über Peering mit dem VPC-Netzwerk der privaten Cloud verbunden ist, das die zu überwachenden Ressourcen enthält.
Ein Beispiel zum Erstellen einer Compute Engine-VM finden Sie in der Compute Engine-Kurzanleitung: Linux-VM verwenden. Ein Beispiel zum Erstellen einer VMware-VM finden Sie unter VMware-VM erstellen.
Wenn Sie eine Compute Engine-VM zum Hosten des eigenständigen Agents verwenden, verwaltet Google die Schlüsselrotation für das Dienstkonto, mit dem Sie eine Verbindung herstellen. Allerdings kann das Erstellen einer VMware-VM kostengünstig sein, wenn Sie in der privaten Cloud nicht genutzte Kapazitäten verwenden und Sie die Schlüsselrotation selbst verwalten.
Unabhängig davon, wo Sie die Agent-Host-VM erstellen, muss sie die folgenden Anforderungen erfüllen:
Voraussetzungen
Ihre Agent-Host-VM muss die folgenden Systemanforderungen erfüllen:
- Unterstützte Linux-Betriebssysteme:
- CentOS 6, 7 oder 8
- Red Hat Enterprise Linux 6, 7 oder 8
- SLES 12 oder 15
- Ubuntu 14, 16, 18 oder 19
- Mindestens 4 GB RAM
- 300 MB Installationsspeicherplatz verfügbar
- Installationsverzeichnis festgelegt auf
/opt/bpagent
curl
-Befehlszeilendienstprogramm installiert
Ihre Agent-Host-VM benötigt außerdem Zugriff auf die folgenden Adressen, um Messwerte und Logs zu erfassen und per Push zu übertragen:
- Port 443 (TCP) für die HTTPS-Verbindung zu Ihrem vCenter-Server (Standard)
monitoring.googleapis.com:443 (external access)
logging.googleapis.com:443 (external access)
Messwertweiterleitung aktivieren
Der Vorgang zum Einrichten der Agent-Host-VM und zum Aktivieren der Messwertweiterleitung besteht aus den folgenden Schritten:
- Agent auf der VM installieren
- Dienstkonto angeben
- Agent für den Zugriff auf Ihre private Cloud für Messwerte konfigurieren
- Agent für den Zugriff auf das Dienstkonto für die Berichterstellung konfigurieren
- Messwerte und Logs erfassen
- Private Cloud für syslog-Weiterleitung konfigurieren
Eigenständigen Agent installieren
So installieren Sie den Agent auf Ihrer Host-VM:
- Stellen Sie eine Verbindung zur Agent-Host-VM her.
Führen Sie das Installationsskript remote aus:
sudo sh -c "$(curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh)"
Bei Systemen, auf die die Agent-Host-VM möglicherweise keinen externen Netzwerkzugriff hat, können Sie den Agent und das Installationsskript mit den folgenden Befehlen herunterladen:
Führen Sie den folgenden Befehl aus, um den eigenständigen Agent zu erhalten:
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/artifacts/bpagent-headless-vmware.tar.gz > agent.tar.gz
Führen Sie den folgenden Befehl aus, um das Installationsskript abzurufen:
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh > install.sh
Führen Sie auf der Agent-Host-VM folgenden Befehl aus, um den Agent zu installieren:
sudo sh install.sh agent.tar.gz
Dienstkonto angeben
Das Weiterleiten von Daten vom Agent an Cloud Monitoring erfordert ein Dienstkonto aus Ihrem Google Cloud-Projekt. Dieses Dienstkonto muss für Messwerte die Rolle Monitoring-Administrator und für Logs die Rolle Log-Autor haben.
Wenn Sie kein Dienstkonto zum Überwachen und Logging von Anwendungen haben, erstellen Sie eines:
Wechseln Sie in der Google Cloud Console zu IAM & Verwaltung > Dienstkonten.
Klicken Sie auf Dienstkonto erstellen.
Geben Sie einen Namen, eine ID und eine Beschreibung für das Dienstkonto ein. Wir empfehlen, das Konto für die Agent-Integration zu verwenden.
Klicken Sie auf Erstellen und fortfahren.
Wählen Sie unter Rolle die Option Monitoring-Administrator aus.
Wählen Sie für Rolle die Option Log-Autor aus.
Klicken Sie auf Weiter.
Klicken Sie auf Fertig.
Wenn Sie eine VMware-VM als Agent-Host-VM erstellt haben, rufen Sie den privaten Schlüssel des Dienstkontos ab, um ihn zur Einrichtung des Agents zu verwenden:
Wechseln Sie in der Google Cloud Console zu IAM & Verwaltung > Dienstkonten.
Suchen Sie Ihr Dienstkonto in der Liste der Dienstkonten.
Klicken Sie in der Spalte Aktionen auf das
Dienstkontoaktionen-Menü und wählen Sie Schlüssel verwalten aus.Klicken Sie auf Schlüssel hinzufügen und wählen Sie Neuen Schlüssel erstellen aus.
Wählen Sie den Schlüsseltyp JSON aus und klicken Sie auf Erstellen.
Öffnen Sie die generierte JSON-Datei und kopieren Sie den gesamten Dateiinhalt. Messwerte und Logging-Sammlungen verwenden dieselbe JSON-Schlüsseldatei.
Kopieren Sie auf der Agent-Host-VM die JSON-Schlüsseldatei in das Verzeichnis
/opt/bpagent/config/destinations/google_cloud
.
Agent für den Zugriff auf Ihre private Cloud für Messwerte konfigurieren
Der eigenständige Agent benötigt Zugriff auf Ihre private Cloud, um Messwerte zu erfassen. Richten Sie auf der Agent-Host-VM den Zugriff durch Kopieren und Konfigurieren der Datei vmware_vcenter.yaml
ein:
Kopieren Sie
vmware_vcenter.yaml
in das Verzeichnisconfig/metrics/sources
:cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
Bearbeiten Sie die
vmware_vcenter.yaml
so, dass sie den Informationen in Ihrer VMware Engine-Umgebung entspricht:collection_interval: 1m0s connection_info: connection_timeout: "30" enable_performance_counters: "true" host: VCSA_FQDN password: SOLUTION_USER_PASSWORD performance_counter_end_time: "" performance_counter_query_timeout: "15" performance_counter_start_time: "" port: "443" sdk_path: "" ssl_config: "No Verify" username: SOLUTION_USER_ACCOUNT
Dabei gilt:
VCSA_FQDN
: der voll qualifizierte Domainname (Fully Qualified Domain Name, FQDN) der vCenter Server Appliance in Ihrer privaten CloudSOLUTION_USER_PASSWORD
: das Passwort, das dem verwendeten Lösungsnutzerkonto entsprichtSOLUTION_USER_ACCOUNT
: das Lösungsnutzerkonto, das der Agent zum Erfassen von Informationen verwendet
Agent für den Zugriff auf das Dienstkonto für die Berichterstellung konfigurieren
Der eigenständige Agent benötigt Zugriff auf Google Cloud Observability, um Messwerte und Logs zu senden. Konfigurieren Sie den Agent für den Zugriff auf das Projekt, das zur Berichterstellung über das Dienstkonto mit Monitoring- und Logging-Berechtigungen verwendet wird.
Kopieren und konfigurieren Sie die Datei log_agent.yaml
auf der Agent-Host-VM:
Kopieren Sie
log_agent.example.yaml
vor dem Bearbeiten inlog_agent.yaml
:cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
Geben Sie unten in
log_agent.yaml
Ihren Projektnamen und den vollständigen Pfad zur JSON-Schlüsseldatei ein. Entfernen Sie bei Agent-Host-VMs, die in Compute Engine erstellt wurden, die Zeilecredentials_file
oder kommentieren Sie sie aus.... - id: my_project_destination project_id:
PROJECT_ID
type: google_cloud_output credentials_file: /opt/bpagent/config/destinations/google_cloud/JSON_KEY_FILE
Dabei gilt:
PROJECT_ID
: ID des Projekts, in dem Logs ausgegeben werden sollenJSON_KEY_FILE
: Name der privaten Schlüsseldatei Ihres Dienstkontos. Entfernen Sie diese Zeile für Agent-Host-VMs, die in Compute Engine erstellt wurden, oder kommentieren Sie sie aus.
Wenn Sie das syslog von ESXi weiterleiten möchten, ändern Sie im eigenständigen Log-Agenten den Standardport von
5142
in514
:- Rufen Sie
/opt/bpagent/config
auf. - Aktualisieren Sie die Portnummer wie unten beschrieben auf
514
:
- id: vmware-vcenter-logs # A syslog address of the form `
: ` listen_address: 0.0.0.0:514 # Enable TLS for the TCP listener enable_tls: false
Messwerte und Logs erfassen
Zum Erfassen von Messwerten oder Logs muss der eigenständige Agent auf Ihrer Agent-Host-VM ausgeführt werden. Stellen Sie eine Verbindung zu Ihrer Agent-Host-VM her. Starten und beenden Sie den Agent dann mit den folgenden Befehlen:
Starten Sie den Agent auf Ihrer Host-VM, indem Sie Folgendes ausführen:
systemctl start bpagent
Beenden Sie den Agent auf Ihrer Host-VM, indem Sie Folgendes ausführen:
systemctl stop bpagent
Private Cloud für syslog-Weiterleitung konfigurieren
VMware Engine kann in Cloud Logging integriert werden. Dazu werden Syslog-Nachrichten von vCenter und NSX-T an den eigenständigen Agent weitergeleitet. Der eigenständige Agent ist so konfiguriert, dass sowohl vCenter- als auch NSX-T-Logs geparst werden, damit Cloud Logging sie lesen kann.
So leiten Sie Syslog-Nachrichten von VMware Engine weiter:
- Führen Sie die Schritte unter Syslog-Nachrichten von vCenter weiterleiten für die Syslog-Weiterleitung von vCenter aus.
Geben Sie im Feld Server die IP-Adresse oder den Hostnamen Ihrer Agent-Host-VM ein. Der eigenständige Agent verwendet das TCP-Kommunikationsprotokoll und überwacht Port
5142
. Der eigenständige Agent muss ausgeführt werden, damit die Syslog-Konfiguration erfolgreich ist. - Folgen Sie der Anleitung unter NSX-T-Syslog-Nachrichten weiterleiten für die NSX-T-Syslog-Weiterleitung.
Geben Sie im Feld FQDN oder IP-Adresse die IP-Adresse oder den Hostnamen Ihrer Agent-Host-VM ein. Der eigenständige Agent verwendet das TCP-Kommunikationsprotokoll und überwacht Port
5142
.
Wenn Sie syslog von ESXi-Hosts weiterleiten möchten, ändern Sie den Standardport, auf dem der Log-Agent liest, von 5142
zu 514
. Verwenden Sie in diesem Fall denselben Port (514
) für die Weiterleitung von Syslog-Nachrichten von vCenter und NSX-T.
Agent deinstallieren
Zum Entfernen des Agents von einer VM stellen Sie eine Verbindung zur Agent-VM her und führen folgende Befehle in der Befehlszeile aus:
Beenden und deaktivieren Sie den eigenständigen Agent:
systemctl stop bpagent
systemctl disable bpagent
Führen Sie folgende Befehle aus, um den eigenständigen Agent-Dienst zu entfernen:
rm /etc/systemd/system/bpagent.service
rm -rf /opt/bpagent
Aktualisieren Sie die Systemkonfiguration anhand der Dienständerungen und löschen Sie fehlgeschlagene Einheiten:
systemctl daemon-reload
systemctl reset-failed
Cloud Monitoring-Dashboards
Nachdem Sie die Messwertweiterleitung aktiviert haben, können Sie vordefinierte Dashboards für VMware Engine installieren. Die folgenden Dashboards enthalten zusammenfassende Informationen zu allen von Ihnen angegebenen Quellen:
- Dashboard „Übersicht“: Allgemeine Ansicht, in der die wichtigsten Ressourcen wie Rechenzentren, Cluster und VMs aufgelistet sind.
- Dashboard „Konflikt“::Ressourcenauslastung für Speicher, CPU, Arbeitsspeicher und Netzwerk, um die Ermittlung der besten VMs und Hosts nach Ressourcenanforderung zu erleichtern
- Dashboard zur Leistungsüberwachung von virtuellen Maschinen: Leistungskennzahlen der VM-Instanzen, die nach Instanznamen gefiltert und zum Vergleichen der Leistung mehrerer VMs miteinander verwendet werden können.
So greifen Sie auf ein VMware Engine-Dashboard zu:
Rufen Sie in der Google Cloud Console Monitoring > Dashboards auf.
Wählen Sie auf dem Tab Beispielbibliothek die Kategorie VMware aus.
Wählen Sie das gewünschte Dashboard aus und klicken Sie auf file_downloadImportieren.
Die Definitionen für diese Dashboards werden auch auf GitHub gespeichert. Schritte zum Installieren oder Aufrufen der Definitionen als benutzerdefinierte Dashboards finden Sie unter Beispiel-Dashboards installieren.
Cloud Monitoring-Benachrichtigungen
Sie können Messwerte aus Ihrer Integration verwenden, um Warnungen und Benachrichtigungen basierend auf benutzerdefinierten Grenzwerten und Vorfällen auszulösen. Sie können sich beispielsweise von Cloud Monitoring per SMS benachrichtigen lassen, wenn jemand in Ihrer privaten Cloud eine neue VM erstellt.
Weitere Informationen finden Sie unter Einführung in Benachrichtigungen.
Liste der erfassten Messwerte
Sobald Sie die Messwertweiterleitung aktiviert haben, können Sie Messwerte im Metrics Explorer von Cloud Monitoring ansehen. Ressourcentypen und Messwerttypen von VMware Engine beginnen mit dem Präfix external.googleapis.com/vmware/vcenter.
im Metrics Explorer.
Im Folgenden finden Sie eine vollständige Liste der für VMware Engine erfassten Messwerte ohne Präfix:
Ressourcen- und Messwerttyp | Beschreibung |
---|---|
cluster.cpu.available |
In einem Cluster verfügbare CPU in Megahertz |
cluster.memory.available |
In einem Cluster verfügbarer Speicher in Byte |
cluster.cpu.threads |
Anzahl der CPU-Threads in einem Cluster |
cluster.cpu.effective |
Effektiver CPU in einem Cluster von allen ausgeführten Hosts. Hosts, die nicht reagieren oder sich im Wartungsmodus befinden, werden nicht gezählt. |
cluster.effective_hosts |
Anzahl der aktiven Hosts in einem Cluster. Hosts, die nicht reagieren oder sich im Wartungsmodus befinden, werden nicht gezählt. |
cluster.memory.effective |
Effektiver Speicher in einem Cluster von allen ausgeführten Hosts. Hosts, die nicht reagieren oder sich im Wartungsmodus befinden, werden nicht gezählt. |
cluster.hosts |
Anzahl der Hosts in einem Cluster |
cluster.vsan.latency |
vSAN-Latenz eines Clusters in Mikrosekunden |
cluster.vsan.throughput |
vSAN-Lese-/Schreibdurchsatz eines Clusters in Byte |
cluster.vsan.iops |
vSAN-IOPS eines Clusters |
cluster.vsan.congestions |
vSAN-Überlastungswert eines Clusters |
cluster.vsan.oio |
Ausstehender vSAN-E/A-Vorgang (oio) in einem Cluster |
datacenter.cpu.average_host_utilization |
Durchschnittliche Hostauslastung eines Rechenzentrums als Prozentsatz |
datacenter.clusters |
Anzahl der Cluster in einem Rechenzentrum |
datacenter.datastores |
Anzahl der Datenspeicher in einem Rechenzentrum |
datacenter.hosts |
Anzahl der Hosts in einem Rechenzentrum |
datacenter.host_systems |
Anzahl der Hostsysteme in einem Rechenzentrum |
datacenter.hosts/powered_on |
Anzahl der eingeschalteten Hosts in einem Rechenzentrum |
datacenter.hosts/powered_off |
Anzahl der ausgeschalteten Hosts in einem Rechenzentrum |
datacenter.disk/space |
Gesamtspeicherplatz in einem Rechenzentrum in Terabyte |
datastore.capacity_bytes |
Kapazität eines Datenspeichers in Byte |
datastore.capacity_utilization |
Kapazitätsauslastung eines Datenspeichers als Prozentsatz |
host_system.network.transmitted_packets |
Anzahl der vom Hostsystem übertragenen Netzwerkpakete |
host_system.network.received_packets |
Anzahl der vom Hostsystem empfangenen Netzwerkpakete |
host_system.dropped_packets |
Anzahl der vom Hostsystem verworfenen Netzwerkpakete |
host_system.network.adapters |
Anzahl der Hostsystem-Netzwerkadapter |
host_system.memory.utilization |
Speicherauslastung des Hostsystems als Prozentsatz |
host_system.memory.utilization_ratio |
Verhältnis der Speicherauslastung des Hostsystems |
host_system.memory.used |
Vom Hostsystem verwendeter Speicher in Megabyte |
host_system.disk.read |
Laufwerk-Lesedurchsatz des Hostsystems in Kilobyte pro Sekunde |
host_system.disk_latency |
Laufwerklatenz des Hostsystems in Millisekunden |
host_system.cpu.usage |
CPU-Auslastung des Hostsystems als Prozentsatz |
host_system.cpu.utilization_ratio |
CPU-Auslastungsverhältnis des Hostsystems |
host_system.cpu.capacity |
CPU-Kapazität des Hostsystems in Megahertz |
host_system.cpu.reserved_capacity |
Reservierte CPU-Kapazität des Hostsystems in Megahertz |
host_system.cpu.average_speed |
Durchschnittliche CPU-Geschwindigkeit des Hostsystems in Megahertz |
host_system.cpu.used |
Vom Hostsystem verwendete CPU in Megahertz |
host_system.vsan.throughput |
vSAN-Lese-/Schreibdurchsatz des Hostsystems in Byte |
host_system.vsan.iops |
vSAN-IOPS des Hostsystems |
host_system.vsan.latency |
vSAN-Latenz des Hostsystems in Mikrosekunden |
host_system.vsan.client_cache_hits |
vSAN-Client-Cache-Treffer des Hostsystems |
host_system.vsan.client_cache_hit_rate |
vSAN-Cache-Trefferrate des Hostsystems als Prozentsatz |
host_system.vsan.congestions |
vSAN-Überlastungswert des Hostsystems |
resource_pool.memory.swapped_bytes |
Ausgetauschter vCenter-Speicher in Megabyte |
resource_pool.memory.shared_bytes |
Gemeinsam genutzter vCenter-Speicher in Megabyte |
resource_pool.memory.private_bytes |
Privater vCenter-Speicher in Megabyte |
resource_pool.memory.shares |
Anzahl der vCenter-Speicherfreigaben |
resource_pool.memory.overhead_usage_bytes |
Overhead-Nutzung des vCenter-Speichers in Megabyte |
resource_pool.memory.host_usage_bytes |
Hostnutzung des vCenter-Speichers in Megabyte |
resource_pool.memory.active_guest_usage_bytes |
Nutzung des vCenter-Speichers durch aktiven Gast in Megabyte |
resource_pool.memory.balloon_size |
Größe des vCenter-Balloon-Speichers in Megabyte |
resource_pool.cpu.usage |
Von vCenter verwendete CPU in Megahertz |
resource_pool.cpu.shares |
Anzahl der CPU-Freigaben im Ressourcenpool in Megabyte |
vm.memory.ballooned |
Größe des VM-Balloon-Speichers in Megabyte |
vm.network.throughput_bytes |
Netzwerkdurchsatz der VM in Kilobyte pro Sekunde |
vm.memory.used_percent |
Von der VM verwendeter Speicher als Prozentsatz des verfügbaren Speichers |
vm.memory.usage_bytes |
Von der VM verwendeter Speicher in Megabyte |
vm.disk.throughput_bytes |
Lese-/Schreibdurchsatz des Laufwerks der VM in Kilobyte pro Sekunde |
vm.disk.used_percent |
Laufwerknutzung der VM als Prozentsatz des verfügbaren Speichers |
vm.disk.usage_bytes |
Laufwerknutzung der VM in Byte |
vm.disk.free_bytes |
Verfügbarer Speicher der VM in Byte |
vm.cpu.used_percent |
CPU-Nutzung der VM als Prozentsatz der verfügbaren CPU |
vm.cpu.usage |
CPU-Auslastung der VM in Megahertz |
vm.cpu.ready_percent |
CPU der VM, die zwar bereit ist, aber nicht ausgeführt werden kann, als Prozentsatz |
vm.vsan.throughput |
vSAN-Lese-/Schreibdurchsatz der VM in Byte |
vm.vsan.iops |
vSAN-IOPS der VM |
vm.vsan.latency |
vSAN-Latenz der VM in Mikrosekunden |
vm.vsan.readCount |
Anzahl der vSAN-Lesevorgänge der VM |
vm.vsan.writeCount |
Anzahl der vSAN-Schreibvorgänge der VM |
vsphere.cpu.available |
In allen von vSphere verwalteten Clustern verfügbare CPU in Gigahertz |
vsphere.memory.available |
In allen von vSphere verwalteten Clustern verfügbarer Speicher in Gigabyte |
vsphere.clusters.total |
Anzahl der von vSphere verwalteten Cluster |
vsphere.clusters |
Anzahl der von vSphere verwalteten Cluster mit dem Farbcode des Clusterstatus (z. B. grün, grau, rot oder gelb) |
vsphere.cpu.cpus |
Gesamtzahl der von vSphere verwalteten Hostsystem-CPU-Kerne |
vsphere.datacenters |
Anzahl der von vSphere verwalteten Rechenzentren |
vsphere.datastores.total |
Anzahl der Datenspeicher in vSphere |
vsphere.datastores |
Anzahl der von vSphere verwalteten Datenspeicher mit dem Farbcode des Datenspeicherstatus (z. B. grün, grau, rot oder gelb) |
vsphere.disk.space |
Gesamter in vSphere angehängter Speicherplatz in Terabyte |
vsphere.host_systems |
Anzahl der Hostsysteme in vSphere |
vsphere.hosts |
Anzahl der von vSphere verwalteten Hostsysteme mit dem Farbcode des Hostsystemstatus (z. B. grün, grau, rot oder gelb) |
vsphere.network.adapters |
Anzahl der Netzwerkadapter in vSphere |
vsphere.hosts.powered_off |
Anzahl der ausgeschalteten Hosts in vSphere |
vsphere.hosts.powered_on |
Anzahl der eingeschalteten Hosts in vSphere |
vsphere.virtual_machines.total |
Anzahl der VMs in allen vSphere-Clustern |
vsphere.virtual_machines |
Anzahl der von vSphere verwalteten VMs mit dem Farbcode des VM-Status (z. B. grün, grau, rot oder gelb) |