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 der Operations-Suite von Google Cloud verwenden, um VMware Engine-Dienste im großen Maßstab zu überwachen, zu debuggen und zu betreiben.

Sie konfigurieren die Konfiguration der Messwertweiterleitung für jede private Cloud mithilfe eines eigenständigen Agents separat. Für jede private Cloud ist ein separater Agent erforderlich, 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:

  1. Cloud Monitoring API aktivieren
  2. Identifizieren Sie ein Lösungsnutzerkonto zur Verwendung mit dem eigenständigen Agent und legen Sie ein starkes Passwort für das Lösungsnutzerkonto fest.
  3. 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 für das Erstellen einer Compute Engine-VM finden Sie in der Kurzanleitung zur Verwendung einer Linux-VM für Compute Engine. Ein Beispiel für das 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 Ihre Agent-Host-VM erstellen, muss sie die folgenden Anforderungen erfüllen:

Voraussetzungen

Die 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 auf /opt/bpagent festgelegt
  • 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:

  1. Agent auf der VM installieren
  2. Dienstkonto angeben
  3. Agent für den Zugriff auf Ihre private Cloud für Messwerte konfigurieren
  4. Agent für den Zugriff auf das Dienstkonto für die Berichterstellung konfigurieren
  5. Private Cloud für syslog-Weiterleitung konfigurieren
  6. Messwerte und Logs erfassen

Eigenständigen Agent installieren

So installieren Sie den Agent auf Ihrer Host-VM:

  1. Stellen Sie eine Verbindung zur Agent-Host-VM her.
  2. Führen Sie das Installationsskript remote aus:

    sudo sh -c "$(curl -S https://storage.googleapis.com/bindplane-agent/bpagent/latest/pkg/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 abzurufen:

    curl -S https://storage.googleapis.com/bindplane-agent/bpagent/latest/pkg/vmware-linux-amd64/installer/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/bindplane-agent/bpagent/latest/pkg/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 die Rolle Monitoring-Administrator für Messwerte und die Rolle Logautor für Logs haben.

Wenn Sie kein Dienstkonto zum Überwachen und Logging von Anwendungen haben, erstellen Sie eines:

  1. Wechseln Sie in der Google Cloud Console zu IAM & Verwaltung > Dienstkonten.

    Zur Seite „Dienstkonten“

  2. Klicken Sie auf Dienstkonto erstellen.

  3. Geben Sie einen Namen, eine ID und eine Beschreibung für das Dienstkonto ein. Wir empfehlen, zu vermerken, dass das Konto für die Agent-Integration verwendet wird.

  4. Klicken Sie auf Erstellen und fortfahren.

  5. Wählen Sie unter Rolle die Option Monitoring-Administrator aus.

  6. Wählen Sie unter Rolle die Option Logautor aus.

  7. Klicken Sie auf Weiter.

  8. 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:

  1. Wechseln Sie in der Google Cloud Console zu IAM & Verwaltung > Dienstkonten.

    Zur Seite „Dienstkonten“

  2. Suchen Sie Ihr Dienstkonto in der Liste der Dienstkonten.

  3. Klicken Sie in der Spalte Aktionen auf das Dienstkontoaktionen-Menü und wählen Sie Schlüssel verwalten aus.

  4. Klicken Sie auf Schlüssel hinzufügen und wählen Sie Neuen Schlüssel erstellen aus.

  5. Wählen Sie den Schlüsseltyp JSON aus und klicken Sie auf Erstellen.

  6. Öffnen Sie die generierte JSON-Datei und kopieren Sie den gesamten Dateiinhalt. Messwerte und Logging-Sammlungen verwenden dieselbe JSON-Schlüsseldatei.

  7. 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:

  1. Kopieren Sie vmware_vcenter.yaml in das Verzeichnis config/metrics/sources:

    cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
    
  2. 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 Cloud
    • SOLUTION_USER_PASSWORD: das Passwort, das dem verwendeten Lösungsnutzerkonto entspricht
    • SOLUTION_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 die Operations-Suite von Google Cloud, 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:

  1. Kopieren Sie log_agent.example.yaml vor dem Bearbeiten in log_agent.yaml:

    cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
    
  2. Geben Sie unten in log_agent.yaml Ihren Projektnamen und den vollständigen Pfad zur JSON-Schlüsseldatei ein. Bei Agent-Host-VMs, die in Compute Engine erstellt wurden, können Sie die Zeile credentials_file weglassen.

    ...
    - id: my_project_destination
      project_id: PROJECT_NAME
      type: google_cloud_output
      credentials_file: /opt/bpagent/config/destinations/google_cloud/JSON_KEY_FILE
    

    Dabei gilt:

    • PROJECT_NAME: Name des Projekts, in dem Logs ausgegeben werden sollen
    • JSON_KEY_FILE: Name der privaten Schlüsseldatei Ihres Dienstkontos. Zeile ist für in Compute Engine erstellte Agent-Host-VMs nicht erforderlich

Private Cloud für syslog-Weiterleitung konfigurieren

Führen Sie die Schritte unter Syslog-Nachrichten an einen Remote-Server weiterleiten aus, um Syslog-Nachrichten von VMware Engine weiterzuleiten.

Geben Sie im Feld Server die IP-Adresse oder den Hostnamen der Agent-Host-VM ein. Der eigenständige Agent verwendet das TCP-Kommunikationsprotokoll und überwacht den Port 5142.

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:

  • Führen Sie den folgenden Befehl aus, um den Agent auf Ihrer Host-VM zu starten:

    systemctl start bpagent
    
  • Beenden Sie den Agent auf Ihrer Host-VM, indem Sie Folgendes ausführen:

    systemctl stop bpagent
    

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.

Die Definitionen für diese Dashboards werden auf GitHub gespeichert. Schritte zum Installieren oder Aufrufen Ihrer 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 deaktivierter 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 Speicherauslastungsverhältnis 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 vCenter-Auslagerungsspeicher 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 Laufwerk-Lese-/Schreibdurchsatz 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-Auslastung 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 CPU-Kerne des Hostsystems
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 deaktivierten 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)