Der Ops-Agent und der Legacy-Monitoring-Agent sind standardmäßig so konfiguriert, dass Messwerte erfasst werden, die Informationen zu den Prozessen erfassen, die auf den virtuellen Maschinen (VMs) von Compute Engine ausgeführt werden. Sie können diese Messwerte auch mit dem Monitoring-Agent auf VMs in Amazon Elastic Compute Cloud (EC2) erfassen.
Diese Messwerte, die als Prozessmesswerte bezeichnet werden, sind durch das Präfix agent.googleapis.com/processes
identifizierbar. Diese Messwerte werden nicht in Google Kubernetes Engine (GKE) erfasst.
Ab dem 6. August 2021 werden Gebühren für diese Messwerte eingeführt, wie unter Kostenpflichtige Messwerte beschrieben. Der Satz der Prozessmesswerte wird als kostenpflichtig eingestuft, aber Gebühren wurden nie implementiert.
In diesem Dokument werden Tools zur Visualisierung von Prozessmesswerten beschrieben, wie Sie die Datenmenge ermitteln, die Sie aus diesen Messwerten aufnehmen, und wie Sie die zugehörigen Gebühren minimieren.
Mit Prozessmesswerten arbeiten
Sie können Ihre Prozessmesswerte mit Diagrammen visualisieren, die mit Metrics Explorer oder benutzerdefinierten Dashboards erstellt wurden. Weitere Informationen finden Sie unter Dashboards und Diagramme verwenden. Darüber hinaus enthält Cloud Monitoring Daten aus Prozessmesswerten in zwei vordefinierten Dashboards:
- Dashboard VM-Instanzen in Monitoring
- Dashboard Details für VM-Instanzen in Compute Engine
In den folgenden Abschnitten werden diese Dashboards beschrieben.
Monitoring: Aggregierte Prozessmesswerte ansehen
Wechseln Sie im Dashboard VM-Instanzen zum Tab Prozesse, um aggregierte Prozessmesswerte innerhalb eines Messwertbereichs anzuzeigen:
-
Rufen Sie in der Google Cloud Console die Seite Dashboards auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
Wählen Sie in der Liste das Dashboard VM-Instanzen aus.
Klicken Sie auf Prozesse.
Der folgende Screenshot zeigt ein Beispiel für die Monitoring-Seite Prozesse:
Sie können die Diagramme auf dem Tab Prozesse verwenden, um die Prozesse in Ihrem Messwertbereich zu identifizieren, die die größte CPU- und Arbeitsspeicherauslastung und die höchste Laufwerkauslastung aufweisen.
Compute Engine: Leistungsmesswerte für VMs mit dem höchsten Ressourcenverbrauch ansehen
Wenn Sie die Leistungsdiagramme mit den fünf VMs aufrufen möchten, die in Ihrem Google Cloud-Projekt den größten Teil einer Ressource verbrauchen, rufen Sie den Tab Beobachtbarkeit für Ihre VM-Instanzen auf:
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.
- Klicken Sie auf Beobachtbarkeit.
Der folgende Screenshot zeigt ein Beispiel für die Compute Engine-Seite Observability.
Informationen zur Verwendung dieser Messwerte zur Diagnose von Problemen mit Ihren VMs finden Sie unter Fehlerbehebung bei VM-Leistungsproblemen.
Compute Engine: Prozessmesswerte pro VM ansehen
Wenn Sie eine Liste der Prozesse anzeigen möchten, die auf einer einzelnen virtuellen Maschine (VM) von Compute Engine ausgeführt werden, sowie Diagramme für die Prozesse mit dem höchsten Ressourcenverbrauch öffnen Sie den Tab Beobachtbarkeit für die VM:
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.
Klicken Sie auf dem Tab Instanzen auf den Namen einer VM, die überprüft werden soll.
Klicken Sie auf Beobachtbarkeit, um sich die Messwerte für diese VM anzusehen.
Wählen Sie im Navigationsbereich auf dem Tab Beobachtbarkeit die Option Prozesse aus.
Der folgende Screenshot zeigt ein Beispiel für die Compute Engine-Seite Prozesse:
Prozessmesswerte werden bis zu 24 Stunden lang aufbewahrt, sodass Sie sie in der Zeit zurückblicken und Anomalien im Ressourcenverbrauch bestimmten Prozessen zuordnen oder Ihre teursten Ressourcennutzer ermitteln können. Das folgende Diagramm zeigt beispielsweise die Prozesse, die den höchsten Prozentsatz an CPU-Ressourcen verbrauchen. Mit der Zeitraumauswahl können Sie den Zeitraum des Diagramms ändern. Die Auswahl für den Zeitraum bietet vordefinierte Werte, z. B. die letzte Stunde, und ermöglicht auch die Eingabe eines benutzerdefinierten Zeitraums.
Die Tabelle Laufende Prozesse enthält eine Liste zum Ressourcenverbrauch analog zur Ausgabe des Linux-Befehls top
.
Standardmäßig zeigt die Tabelle einen Snapshot der neuesten Daten an.
Wenn Sie jedoch einen Zeitraum in einem Diagramm auswählen, der in der Vergangenheit endet, zeigt die Tabelle die am Ende dieses Zeitraums ausgeführten Prozesse an.
Informationen zur Verwendung dieser Messwerte zur Diagnose von Problemen mit Ihren VMs finden Sie unter Fehlerbehebung bei VM-Leistungsproblemen.
Vom Agent erfasste Prozessmesswerte
Die Linux-Agents erfassen alle in der folgenden Tabelle aufgeführten Messwerte aus Prozessen, die auf Compute Engine-VMs und (mithilfe des Monitoring-Agents) auf Amazon Elastic Compute Cloud (EC2)-VMs ausgeführt werden. Sie können ihre Erfassung durch den Ops-Agent (Version 2.0.0 und höher) und den Legacy-Monitoring-Agent deaktivieren.
Sie können auch die Erfassung von Prozessmesswerten für den Ops-Agent (Version 2.0.0 und höher) deaktivieren, der auf Windows-VMs ausgeführt wird.
Weitere Informationen finden Sie unter Prozessmesswerte deaktivieren.
Wenn Sie die Erfassung dieser Messwerte unter Windows deaktivieren möchten, empfehlen wir ein Upgrade auf die Ops-Agent-Version 2.0.0 oder höher. Weitere Informationen finden Sie unter Ops-Agent installieren.
Tabelle der Prozessmesswerte
Den Strings vom Typ "metric type" in dieser Tabelle muss agent.googleapis.com/processes/
vorangestellt werden. Dieses Präfix wurde in den Einträgen der Tabelle weggelassen.
Verwenden Sie beim Abfragen eines Labels das Präfix metric.labels.
. Beispiel: metric.labels.LABEL="VALUE"
.
Messwerttyp Startphase (Ebenen der Ressourcenhierarchie) Anzeigename |
|
---|---|
Art, Typ, Einheit Überwachte Ressourcen |
Beschreibung Labels |
count_by_state
GA
(Projekt)
Prozesse |
|
GAUGE , DOUBLE , 1
aws_ec2_instance baremetalsolution.googleapis.com/Instance gce_instance |
Anzahl der Prozesse im angegebenen Status. Nur Linux. Alle 60 Sekunden wird eine Stichprobe erstellt.
state : Derzeit ausgeführt, Ruhemodus, Zombie usw.
|
cpu_time
GA
(Projekt)
Prozess-CPU |
|
CUMULATIVE , INT64 , us{CPU}
aws_ec2_instance baremetalsolution.googleapis.com/Instance gce_instance |
CPU-Zeit des angegebenen Prozesses. Alle 60 Sekunden wird eine Stichprobe erstellt.
process :
Prozessname.
user_or_syst : Gibt an, ob es ein Nutzer- oder Systemprozess ist.
command :
Prozessbefehl.
command_line :
Prozessbefehlszeile, maximal 1.024 Zeichen.
owner :
Prozessinhaber.
pid :
Prozess-ID.
|
disk/read_bytes_count
GA
(Projekt)
Prozesslaufwerk-Lese-E/A |
|
CUMULATIVE , INT64 , By
aws_ec2_instance baremetalsolution.googleapis.com/Instance gce_instance |
Laufwerk-Lese-E/A des Prozesses. Nur Linux. Alle 60 Sekunden wird eine Stichprobe erstellt.
process :
Prozessname.
command :
Prozessbefehl.
command_line :
Prozessbefehlszeile, maximal 1.024 Zeichen.
owner :
Prozessinhaber.
pid :
Prozess-ID.
|
disk/write_bytes_count
GA
(project)
Prozesslaufwerk-Schreib-E/A |
|
CUMULATIVE , INT64 , By
aws_ec2_instance baremetalsolution.googleapis.com/Instance gce_instance |
Prozesslaufwerk-Schreib-E/A Nur Linux. Alle 60 Sekunden wird eine Stichprobe erstellt.
process :
Prozessname.
command :
Prozessbefehl.
command_line :
Prozessbefehlszeile, maximal 1.024 Zeichen.
owner :
Prozessinhaber.
pid :
Prozess-ID.
|
fork_count
GA
(project)
Anzahl der Gabeln |
|
CUMULATIVE , INT64 , 1
aws_ec2_instance baremetalsolution.googleapis.com/Instance gce_instance |
Gesamtzahl der verzweigten Prozesse. Nur Linux. Alle 60 Sekunden wird eine Stichprobe erstellt. |
rss_usage
GA
(Projekt)
Prozessresidenter Arbeitsspeicher |
|
GAUGE , DOUBLE , By
aws_ec2_instance baremetalsolution.googleapis.com/Instance gce_instance |
Residenter Arbeitsspeicherverbrauch des angegebenen Prozesses. Nur Linux. Alle 60 Sekunden wird eine Stichprobe erstellt.
process :
Prozessname.
command :
Prozessbefehl.
command_line :
Prozessbefehlszeile, maximal 1.024 Zeichen.
owner :
Prozessinhaber.
pid :
Prozess-ID.
|
vm_usage
GA
(Projekt)
Virtueller Prozessspeicher |
|
GAUGE , DOUBLE , By
aws_ec2_instance baremetalsolution.googleapis.com/Instance gce_instance |
VM-Nutzung des angegebenen Prozesses. Alle 60 Sekunden wird eine Stichprobe erstellt.
process :
Prozessname.
command :
Prozessbefehl.
command_line :
Prozessbefehlszeile, maximal 1.024 Zeichen.
owner :
Prozessinhaber.
pid :
Prozess-ID.
|
Die Tabelle wurde am 12.09.2024 um 02:25:45 Uhr (UTC) erstellt.
Aktuelle Aufnahme bestimmen
Mit dem Metrics Explorer können Sie sehen, wie viele Daten Sie derzeit für Prozessmesswerte aufnehmen. Gehen Sie dazu so vor:
-
Rufen Sie in der Google Cloud Console die Seite leaderboard Metrics Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
Klicken Sie in der Symbolleiste des Bereichs "Query Builder" auf die Schaltfläche code MQL oder code PromQL.
Prüfen Sie, ob MQL im Schalter Sprache ausgewählt ist. Die Sprachschaltfläche befindet sich in derselben Symbolleiste, mit der Sie Ihre Abfrage formatieren können.
So rufen Sie die Gesamtzahl der Prozessmesswerte für Ihre
gce_instance
- undaws_ec2_instance
-Ressourcen ab:Geben Sie die folgende Abfrage ein:
def tagged_process_metric name = metric 'agent.googleapis.com/processes/'$name | add [metric_suffix: $name]; def process_metrics resource_type = fetch $resource_type | { @tagged_process_metric 'cpu_time' ; @tagged_process_metric 'disk/read_bytes_count' ; @tagged_process_metric 'disk/write_bytes_count' ; @tagged_process_metric 'rss_usage' ; @tagged_process_metric 'vm_usage' ; @tagged_process_metric 'count_by_state' ; @tagged_process_metric 'fork_count' } | within 1d | group_by [metric_suffix], 1m, [row_count: row_count()] | union; { @process_metrics 'gce_instance' ; @process_metrics 'aws_ec2_instance' } | outer_join 0, 0 | { rename [], [out: val(0)] | add [resource_type: 'gce_instance'] ; rename [], [out: val(1)] | add [resource_type: 'aws_ec2_instance'] } | union | group_by drop[metric_suffix], 1d, .sum
Klicken Sie auf Abfrage ausführen. Das resultierende Diagramm zeigt die Werte für jeden Ressourcentyp an.
Kosten für Messwerte schätzen
Die Preisbeispiele für Monitoring zeigen, wie Sie die Kosten für die Aufnahme von Messwerten schätzen können. Diese Beispiele können auf Prozessmesswerte angewendet werden.
Alle Prozessmesswerte werden alle 60 Sekunden abgerufen und alle Datenpunkte werden zur Preisberechnung als acht Byte geschrieben.
Die Preise für die Prozessmesswerte werden auf 5 % der in den Preisbeispielen verwendeten Standardvolumenkosten festgelegt. Wenn Sie also davon ausgehen, dass alle Messwerte in den in diesen Beispielen beschriebenen Szenarien Prozessmesswerte sind, können Sie 5 % der Gesamtkosten für jedes Szenario als Schätzwert für die Kosten der Prozessmesswerte verwenden.
Erfassung von Prozessmesswerten deaktivieren
Es gibt mehrere Möglichkeiten, die Erfassung dieser Messwerte vom Ops-Agent (Version 2.0.0 und höher) und vom Legacy-Monitoring-Agent unter Linux zu deaktivieren.
Die Agents werden nur auf Compute Engine-VMs und (für den Monitoring-Agent) auf Amazon Elastic Compute Cloud (EC2)-VMs ausgeführt. Diese Verfahren gelten nur für diese Plattformen.
Sie können die Erfassung durch den Ops-Agent nicht deaktivieren, wenn Sie Versionen unter 2.0.0 oder den Legacy-Monitoring-Agent unter Windows ausführen. Wenn Sie die Erfassung dieser Messwerte unter Windows deaktivieren möchten, empfehlen wir ein Upgrade auf die Ops-Agent-Version 2.0.0 oder höher. Weitere Informationen finden Sie unter Ops-Agent installieren.
Das allgemeine Verfahren sieht so aus:
Stellen Sie eine Verbindung zur VM her.
Erstellen Sie eine Kopie der vorhandenen Konfigurationsdatei als Sicherung. Speichern Sie die Sicherungskopie außerhalb des Konfigurationsverzeichnisses des Agents, damit der Agent nicht versucht, beide Dateien zu laden. Mit dem folgenden Befehl wird beispielsweise eine Kopie der Konfigurationsdatei für den Monitoring-Agent unter Linux erstellt:
cp /etc/stackdriver/collectd.conf BACKUP_DIR/collectd.conf.bak
Ändern Sie die Konfiguration mit einer der im Folgenden beschriebenen Optionen:
Starten Sie den Agent neu, um die neue Konfiguration zu übernehmen:
- Monitoring-Agent:
sudo service stackdriver-agent restart
- Ops Agent:
sudo service google-cloud-ops-agent restart
- Monitoring-Agent:
Prüfen Sie, ob die Prozessmesswerte für diese VM nicht mehr erfasst werden:
Wählen Sie Metrics Explorer aus.
Klicken Sie auf MQL.
Geben Sie für eine
gce_instance
-Ressource die folgende Abfrage ein und ersetzen Sie dabei VM_NAME durch den Namen dieser VM:fetch gce_instance | metric 'agent.googleapis.com/processes/cpu_time' | filter (metadata.system_labels.name == 'VM_NAME') | align rate(1m) | every 1m
Ersetzen Sie für eine
aws_ec2_instance
-Ressourcegce_instance
in der Abfrage.Klicken Sie auf Abfrage ausführen.
Ops-Agent unter Linux oder Windows
Der Speicherort der Konfigurationsdatei für den Ops-Agent hängt vom Betriebssystem ab:
- Für Linux:
/etc/google-cloud-ops-agent/config.yaml
- Für Windows:
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Fügen Sie der Datei config.yaml
Folgendes hinzu, um die Erfassung aller Prozessmesswerte durch den Ops-Agent zu deaktivieren:
metrics: processors: metrics_filter: type: exclude_metrics metrics_pattern: - agent.googleapis.com/processes/*
Dies schließt Prozessmesswerte von der Erfassung im metrics_filter
-Prozessor aus, die für die Standardpipeline im metrics
-Dienst gilt.
Weitere Informationen zu den Konfigurationsoptionen für den Ops-Agent finden Sie unter Ops-Agent konfigurieren.
Monitoring-Agent unter Linux
Sie haben die folgenden Optionen, um die Erfassung von Prozessmesswerten mit dem Legacy-Monitoring-Agent zu deaktivieren:
In den folgenden Abschnitten werden die einzelnen Optionen beschrieben und die damit verbundenen Vorteile und Risiken aufgeführt.
Ändern Sie die Konfigurationsdatei des Agents.
Mit dieser Option bearbeiten Sie die Hauptkonfigurationsdatei des Agents, /etc/stackdriver/collectd.conf
, um die Abschnitte zu entfernen, die die Erfassung der Prozessmesswerte aktivieren.
Vorgehensweise
Es gibt drei Gruppen von Löschungen, die Sie in der collectd.conf
-Datei vornehmen müssen:
Löschen Sie die folgende
LoadPlugin
-Anweisung und die Plug-in-Konfiguration:LoadPlugin processes <Plugin "processes"> ProcessMatch "all" ".*" Detail "ps_cputime" Detail "ps_disk_octets" Detail "ps_rss" Detail "ps_vm" </Plugin>
Löschen Sie die folgende
PostCacheChain
-Anweisung und die Konfiguration derPostCache
-Kette:PostCacheChain "PostCache" <Chain "PostCache"> <Rule "processes"> <Match "regex"> Plugin "^processes$" Type "^(ps_cputime|disk_octets|ps_rss|ps_vm)$" </Match> <Target "jump"> Chain "MaybeThrottleProcesses" </Target> Target "stop" </Rule> <Rule "otherwise"> <Match "throttle_metadata_keys"> OKToThrottle false HighWaterMark 5700000000 # 950M * 6 LowWaterMark 4800000000 # 800M * 6 </Match> <Target "write"> Plugin "write_gcm" </Target> </Rule> </Chain>
Löschen Sie die von der
PostCache
-Kette verwendeteMaybeThrottleProcesses
-Kette:<Chain "MaybeThrottleProcesses"> <Rule "default"> <Match "throttle_metadata_keys"> OKToThrottle true TrackedMetadata "processes:pid" TrackedMetadata "processes:command" TrackedMetadata "processes:command_line" TrackedMetadata "processes:owner" </Match> <Target "write"> Plugin "write_gcm" </Target> </Rule> </Chain>
Vorteile und Risiken
- Vorteile
- Sie reduzieren den vom Agent genutzten Ressourcen, da die Messwerte nie erfasst werden.
- Wenn Sie weitere Änderungen an Ihrer
collectd.conf
-Datei vorgenommen haben, können Sie diese Änderungen eventuell leicht beibehalten.
- Risiken
- Zum Bearbeiten dieser Konfigurationsdatei müssen Sie das
root
-Konto verwenden. - Sie riskieren dadurch Rechtschreibfehler in der Datei.
- Zum Bearbeiten dieser Konfigurationsdatei müssen Sie das
Ersetzen Sie die Konfigurationsdatei des Agents.
Bei dieser Option ersetzen Sie die Hauptkonfigurationsdatei des Agents durch eine vorab bearbeitete Version, aus der die relevanten Abschnitte für Sie entfernt wurden.
Vorgehensweise
Laden Sie die vorab bearbeitete Datei
collectd-no-process-metrics.conf
aus dem GitHub-Repository in das Verzeichnis/tmp
herunter. Gehen Sie dann so vor:cd /tmp && curl -sSO https://raw.githubusercontent.com/Stackdriver/agent-packaging/master/collectd-no-process-metrics.conf
Ersetzen Sie die vorhandene Datei
collectd.conf
durch die vorab bearbeitete Datei:cp /tmp/collectd-no-process-metrics.conf /etc/stackdriver/collectd.conf
Vorteile und Risiken
- Vorteile
- Sie reduzieren den vom Agent genutzten Ressourcen, da die Messwerte nie erfasst werden.
- Sie müssen die Datei nicht manuell als
root
bearbeiten. - Tools zur Konfigurationsverwaltung können eine Datei problemlos ersetzen.
- Risiken
- Wenn Sie weitere Änderungen an der Datei
collectd.conf
vorgenommen haben, müssen Sie diese Änderungen in der Ersatzdatei zusammenführen.
- Wenn Sie weitere Änderungen an der Datei
Fehlerbehebung
Die in diesem Dokument beschriebenen Verfahren stellen Änderungen an der Agent-Konfiguration dar, sodass die folgenden Probleme sehr wahrscheinlich sind:
- Unzureichende Berechtigungen zum Bearbeiten der Konfigurationsdateien. Konfigurationsdateien müssen über das
root
-Konto bearbeitet werden. - Einführung von Rechtschreibfehlern in die Konfigurationsdatei, wenn Sie diese direkt bearbeiten.
Informationen zur Behebung anderer Probleme finden Sie unter Fehlerbehebung beim Monitoring-Agent.
Monitoring-Agent unter Windows
Sie können die Erfassung von Prozessmesswerten durch den Legacy-Monitoring-Agent, der auf Windows-VMs ausgeführt wird, nicht deaktivieren. Dieser Agent kann nicht konfiguriert werden. Wenn Sie die Erfassung dieser Messwerte unter Windows deaktivieren möchten, empfehlen wir ein Upgrade auf die Ops-Agent-Version 2.0.0 oder höher. Weitere Informationen finden Sie unter Ops-Agent installieren.
Wenn Sie den Ops-Agent ausführen, finden Sie weitere Informationen unter Ops-Agent unter Linux oder Windows.