Erfassen von Prozessmetriken mit dem procstat-Plugin - Amazon CloudWatch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erfassen von Prozessmetriken mit dem procstat-Plugin

Das procstat-Plugin ermöglicht es Ihnen, Metriken aus einzelnen Prozessen zu erfassen. Das Plugin wird auf Linux-Servern und auf Servern unterstützt, auf denen eine unterstützte Version von Windows Server ausgeführt wird. In diesem Abschnitt wird beschrieben, wie Sie den CloudWatch Agenten für procstat konfigurieren und die Metriken anzeigen, die der CloudWatch Agent importiert. Er listet auch die Metriken auf, die procstat sammelt.

Anmerkung

Das procstat Plugin wird für den Fargate-Starttyp in ECS Amazon-Umgebungen nicht unterstützt.

Konfigurieren Sie den CloudWatch Agenten für procstat

Um das procstat-Plug-In zu verwenden, fügen Sie dem procstat Abschnitt der CloudWatch Agenten-Konfigurationsdatei einen metrics_collected Abschnitt hinzu. Es gibt drei Möglichkeiten, die zu überwachenden Prozesse festzulegen. Sie können nur eine dieser Methoden verwenden, aber Sie können diese Methode verwenden, um einen oder mehrere Prozesse zur Überwachung anzugeben.

  • pid_file: Wählt Prozesse anhand der Namen der Dateien mit der Prozessidentifikationsnummer (PID) aus, die sie erstellen.

  • exe: Wählt die Prozesse mit Prozessnamen aus, die mit der von Ihnen angegebenen Zeichenkette übereinstimmen, unter Verwendung von Abgleichsregeln für reguläre Ausdrücke. Die Übereinstimmung ist eine „enthält“ -Übereinstimmung, d. h., wenn Sie agent als übereinstimmender Begriff angeben, werden Prozesse mit Namen wie cloudwatchagent mit der Angabe übereinstimmen. Weitere Informationen finden Sie unter Syntax.

  • pattern: Wählt Prozesse über die Befehlszeilen aus, die zum Starten der Prozesse verwendet werden. Es werden alle Prozesse ausgewählt, deren Befehlszeilen mit Hilfe von Regeln für den Abgleich mit regulären Ausdrücken mit der angegebenen Zeichenkette übereinstimmen. Die gesamte Befehlszeile wird überprüft, einschließlich der Parameter und Optionen, die mit dem Befehl verwendet werden.

    Die Übereinstimmung ist eine „enthält“ -Übereinstimmung, d. h., wenn Sie -c als abzugleichenden Ausdruck angeben, werden Prozesse mit Parametern wie -config als Übereinstimmung interpretiert.

  • drop_original_metrics Optional. Wenn Sie das aggregation_dimensions-Feld im metrics-Abschnitt verwenden, um Metriken zu aggregierten Ergebnissen zusammenzufassen, dann sendet der Agent standardmäßig sowohl die aggregierten Metriken als auch die ursprünglichen Metriken, die für jeden Wert der Dimension getrennt sind. Wenn Sie nicht möchten, dass die ursprünglichen Metriken an gesendet werden CloudWatch, können Sie diesen Parameter mit einer Liste von Metriken angeben. Für die zusammen mit diesem Parameter angegebenen Metriken werden keine nach Dimension aufgeschlüsselten Kennzahlen gemeldet CloudWatch. Stattdessen werden nur die aggregierten Metriken gemeldet. Dadurch verringert sich die Anzahl der Metriken, die der Agent erfasst, was Ihre Kosten senkt.

Der CloudWatch Agent verwendet nur eine dieser Methoden, auch wenn Sie mehr als einen der obigen Abschnitte angeben. Wenn Sie mehr als einen Abschnitt angeben, verwendet der CloudWatch Agent den pid_file Abschnitt, sofern er vorhanden ist. Wenn nicht, verwendet er den exe-Abschnitt.

Auf Linux-Servern werden die Zeichenfolgen, die Sie in einem exe- oder pattern-Abschnitt angeben, als reguläre Ausdrücke ausgewertet. Auf Servern, auf denen Windows Server ausgeführt wird, werden diese Zeichenfolgen als WMI Abfragen ausgewertet. Ein Beispiel wäre pattern: "%apache%". Weitere Informationen finden Sie unter LIKEOperator.

Welche Methode Sie auch immer verwenden, Sie können einen optionalen metrics_collection_interval-Parameter einschließen, der angibt, wie oft diese Metriken in Sekunden erfasst werden sollen. Wenn Sie diesen Parameter weglassen, wird der Standardwert von 60 Sekunden verwendet.

In den Beispielen in den folgenden Abschnitten ist der procstat-Abschnitt der einzige Abschnitt, der im metrics_collected-Abschnitt der Agent-Konfigurationsdatei enthalten ist. Tatsächliche Konfigurationsdateien können auch andere Abschnitte in metrics_collected enthalten. Weitere Informationen finden Sie unter Erstellen oder bearbeiten Sie die CloudWatch Agenten-Konfigurationsdatei manuell.

Mit pid_file konfigurieren

Im folgenden procstat Beispielabschnitt werden die Prozesse überwacht, die die PID Dateien example1.pid und erstellenexample2.pid. Von jedem Prozess werden unterschiedliche Metriken erfasst. Metriken, die aus dem Prozess erfasst wurden, der example2.pid erstellt, werden alle 10 Sekunden erfasst, während die Metriken aus dem Prozess example1.pid alle 60 Sekunden (Standardwert) erfasst werden.

{ "metrics": { "metrics_collected": { "procstat": [ { "pid_file": "/var/run/example1.pid", "measurement": [ "cpu_usage", "memory_rss" ] }, { "pid_file": "/var/run/example2.pid", "measurement": [ "read_bytes", "read_count", "write_bytes" ], "metrics_collection_interval": 10 } ] } } }

Konfigurieren mit exe

Das folgende Beispiel eines procstat-Abschnitts überwacht alle Prozesse mit Namen, die mit den Zeichenfolgen agent oder plugin übereinstimmen. Von jedem Prozess werden die gleichen Metriken gesammelt.

{ "metrics": { "metrics_collected": { "procstat": [ { "exe": "agent", "measurement": [ "cpu_time", "cpu_time_system", "cpu_time_user" ] }, { "exe": "plugin", "measurement": [ "cpu_time", "cpu_time_system", "cpu_time_user" ] } ] } } }

Konfigurieren mit Muster

Das folgende Beispiel eines procstat-Abschnitts überwacht alle Prozesse mit Befehlszeilen, die den Zeichenfolgen config oder -c entsprechen. Von jedem Prozess werden die gleichen Metriken gesammelt.

{ "metrics": { "metrics_collected": { "procstat": [ { "pattern": "config", "measurement": [ "rlimit_memory_data_hard", "rlimit_memory_data_soft", "rlimit_memory_stack_hard", "rlimit_memory_stack_soft" ] }, { "pattern": "-c", "measurement": [ "rlimit_memory_data_hard", "rlimit_memory_data_soft", "rlimit_memory_stack_hard", "rlimit_memory_stack_soft" ] } ] } } }

Von Procstat erfasste Metriken

Die folgende Tabelle listet die Metriken auf, die Sie mit dem procstat-Plug-in erfassen können.

Der CloudWatch Agent fügt procstat am Anfang der folgenden Metriknamen hinzu. Es gibt eine unterschiedliche Syntax, je nachdem, ob sie von einem Linux-Server oder einem Server mit Windows-Server erfasst wurde. Zum Beispiel erscheint die cpu_time-Metrik als procstat_cpu_time, wenn sie unter Linux erfasst wurde, aber als procstat cpu_time, wenn sie unter Windows Server erfasst wurde.

Metrikname Verfügbar am Beschreibung

cpu_time

Linux

Die Zeitspanne, die der Prozess verwendetCPU. Diese Metrik wird in Hundertstelsekunden gemessen.

Einheit: Anzahl

cpu_time_guest

Linux

Die Zeitspanne, die der Vorgang im Gastmodus ist. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: keine

cpu_time_guest_nice

Linux

Die Zeit, in der der Prozess bei einem netten Gast ausgeführt wird. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: keine

cpu_time_idle

Linux

Die Zeitspanne, die der Prozess im Ruhezustand ist. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: keine

cpu_time_iowait

Linux

Die Zeitspanne, die der Prozess auf den Abschluss von E/A-Operationen wartet. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: keine

cpu_time_irq

Linux

Die Zeitspanne, in der der Prozess Unterbrechungen behandelt. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: keine

cpu_time_nice

Linux

Die Zeitspanne, in der sich der Prozess im Nice Mode befindet. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: keine

cpu_time_soft_irq

Linux

Die Zeitspanne, in der der Prozess Software-Unterbrechungen behandelt. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: keine

cpu_time_steal

Linux

Die Zeitspanne, die in anderen Betriebssystemen verbracht wird, wenn das Programm in einer virtualisierten Umgebung läuft. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: keine

cpu_time_stolen

Linux, Windows Server

Die Zeitspanne, in der sich der Prozess in gestohlener Zeit befindet, also die Zeit, die in anderen Betriebssystemen in einer virtualisierten Umgebung verbracht wird. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: keine

cpu_time_system

Linux, Windows Server, macOS

Die Zeit, die sich der Prozess im Systemmodus befindet. Diese Metrik wird in Hundertstelsekunden gemessen.

Typ: Float

Einheit: Anzahl

cpu_time_user

Linux, Windows Server, macOS

Die Zeit, die sich der Prozess im Benutzermodus befindet. Diese Metrik wird in Hundertstelsekunden gemessen.

Einheit: Anzahl

cpu_usage

Linux, Windows Server, macOS

Der Prozentsatz der Zeit, in der der Prozess in beliebiger Funktion aktiv ist.

Einheit: Prozent

memory_data

Linux, macOS

Die Menge an Speicher, die der Prozess für Daten benötigt.

Einheit: Byte

memory_locked

Linux, macOS

Die Menge an Speicher, die der Prozess gesperrt hat.

Einheit: Byte

memory_rss

Linux, Windows Server, macOS

Die Menge des realen Speichers (resident set), die der Prozess verwendet.

Einheit: Byte

memory_stack

Linux, macOS

Die Menge an Stackspeicher, die der Prozess verwendet.

Einheit: Byte

memory_swap

Linux, macOS

Die Menge an Auslagerungsspeicher, die der Prozess verwendet.

Einheit: Byte

memory_vms

Linux, Windows Server, macOS

Die Menge an virtuellem Speicher, die der Prozess verwendet.

Einheit: Byte

num_fds

Linux

Die Anzahl der Dateideskriptoren, die dieser Prozess geöffnet hat.

Einheit: keine

num_threads

Linux, Windows, MacOS

Die Anzahl der Threads in diesem Prozess.

Einheit: keine

pid

Linux, Windows Server, macOS

Prozesskennung (ID).

Einheit: keine

pid_count

Linux, Windows Server, macOS

Die Anzahl der Prozesse, die dem Prozess IDs zugeordnet sind.

Auf Linux-Servern und macOS-Computern lautet der volle Name dieser Metrik procstat_lookup_pid_count und auf Windows-Servern procstat_lookup pid_count.

Einheit: keine

read_bytes

Linux, Windows Server

Die Anzahl der Bytes, die der Prozess von Datenträgern gelesen hat.

Einheit: Byte

write_bytes

Linux, Windows Server

Die Anzahl der Bytes, die der Prozess auf Datenträger geschrieben hat.

Einheit: Byte

read_count

Linux, Windows Server

Die Anzahl der Datenträgerlesevorgänge, die der Prozess ausgeführt hat.

Einheit: keine

rlimit_realtime_priority_hard

Linux

Das feste Limit für die Echtzeitpriorität, die für diesen Prozess festgelegt werden kann.

Einheit: keine

rlimit_realtime_priority_soft

Linux

Das weiche Limit für die Echtzeitpriorität, die für diesen Prozess festgelegt werden kann.

Einheit: keine

rlimit_signals_pending_hard

Linux

Das feste Limit für die maximale Anzahl von Signalen, die von diesem Prozess in die Warteschlange gestellt werden können.

Einheit: keine

rlimit_signals_pending_soft

Linux

Das weiche Limit für die maximale Anzahl von Signalen, die von diesem Prozess in die Warteschlange gestellt werden können.

Einheit: keine

rlimit_nice_priority_hard

Linux

Das feste Limit für die maximale Nice-Priorität, die von diesem Prozess festgelegt werden kann.

Einheit: keine

rlimit_nice_priority_soft

Linux

Das weiche Limit für die maximale Nice-Priorität, die von diesem Prozess festgelegt werden kann.

Einheit: keine

rlimit_num_fds_hard

Linux

Das feste Limit für die maximale Anzahl von Dateideskriptoren, die dieser Prozess geöffnet haben kann.

Einheit: keine

rlimit_num_fds_soft

Linux

Das weiche Limit für die maximale Anzahl von Dateideskriptoren, die dieser Prozess geöffnet haben kann.

Einheit: keine

write_count

Linux, Windows Server

Die Anzahl der Festplattenschreibvorgänge, die der Prozess ausgeführt hat.

Einheit: keine

involuntary_context_switches

Linux

Die Anzahl der unfreiwilligen Kontextwechsel des Prozesses.

Einheit: keine

voluntary_context_switches

Linux

Die Anzahl der freiwilligen Kontextwechsel des Prozesses.

Einheit: keine

realtime_priority

Linux

Die aktuelle Nutzung der Echtzeit-Priorität für den Prozess.

Einheit: keine

nice_priority

Linux

Die aktuelle Verwendung angenehmer Priorität für den Prozess.

Einheit: keine

signals_pending

Linux

Die Anzahl der Signale, die noch ausstehen, um vom Prozess verarbeitet zu werden.

Einheit: keine

rlimit_cpu_time_hard

Linux

Das harte CPU Ressourcenlimit für den Prozess.

Einheit: keine

rlimit_cpu_time_soft

Linux

Das CPU Soft-Time-Ressourcenlimit für den Prozess.

Einheit: keine

rlimit_file_locks_hard

Linux

Die harte Dateisperren-Ressourcenbegrenzung für den Prozess.

Einheit: keine

rlimit_file_locks_soft

Linux

Die weiche Dateisperren-Ressourcenbegrenzung für den Prozess.

Einheit: keine

rlimit_memory_data_hard

Linux

Die harte Ressourcenbegrenzung im Prozess für den Speicher, der für Daten verwendet wird.

Einheit: Byte

rlimit_memory_data_soft

Linux

Die weiche Ressourcenbegrenzung im Prozess für den Speicher, der für Daten verwendet wird.

Einheit: Byte

rlimit_memory_locked_hard

Linux

Die harte Ressourcenbegrenzung im Prozess für gesperrten Speicher.

Einheit: Byte

rlimit_memory_locked_soft

Linux

Die weiche Ressourcenbegrenzung im Prozess für gesperrten Speicher.

Einheit: Byte

rlimit_memory_rss_hard

Linux

Die harte Ressourcenbegrenzung im Prozess für physischen Speicher.

Einheit: Byte

rlimit_memory_rss_soft

Linux

Die weiche Ressourcenbegrenzung im Prozess für physischen Speicher.

Einheit: Byte

rlimit_memory_stack_hard

Linux

Die harte Ressourcenbegrenzung im Prozessstapel.

Einheit: Byte

rlimit_memory_stack_soft

Linux

Die weiche Ressourcenbegrenzung im Prozessstapel.

Einheit: Byte

rlimit_memory_vms_hard

Linux

Die harte Ressourcenbegrenzung im Prozess für virtuellen Speicher.

Einheit: Byte

rlimit_memory_vms_soft

Linux

Die weiche Ressourcenbegrenzung im Prozess für virtuellen Speicher.

Einheit: Byte

Vom CloudWatch Agenten importierte Prozessmetriken anzeigen

Nachdem Sie Prozessmetriken in importiert haben CloudWatch, können Sie diese Metriken als Zeitreihendiagramme anzeigen und Alarme erstellen, die diese Metriken überwachen und Sie benachrichtigen, wenn sie einen von Ihnen angegebenen Schwellenwert überschreiten. Das folgende Verfahren zeigt, wie Sie Prozess-Metriken als Zeitreihendiagramm anzeigen. Weitere Informationen zum Einrichten eines -Alarms finden Sie unter CloudWatch Amazon-Alarme verwenden.

Um Prozessmetriken in der CloudWatch Konsole anzuzeigen
  1. Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Metriken aus.

  3. Wählen Sie den Namespace für die vom Agent zu erfassenden Metriken. Standardmäßig ist dies der Fall CWAgent, aber Sie haben möglicherweise einen anderen Namespace in der CloudWatch Agentenkonfigurationsdatei angegeben.

  4. Wählen Sie eine Metrikdimension aus (z. B. Per-Instance Metrics (Metriken pro Instance)).

  5. Die Registerkarte All metrics zeigt alle Metriken für diese Dimension im Namespace an. Sie haben die folgenden Möglichkeiten:

    1. Um eine Metrik grafisch darzustellen, müssen Sie das Kontrollkästchen neben der Metrik aktivieren. Um alle Metriken auszuwählen, aktivieren Sie das Kontrollkästchen in der Kopfzeile der Tabelle.

    2. Um die Tabelle sortieren, verwenden Sie die Spaltenüberschrift.

    3. Um nach Ressource zu filtern, müssen Sie zunächst die Ressourcen-ID und dann die Option Zu Suche hinzufügen auswählen.

    4. Um nach Metrik zu filtern, müssen Sie den Metriknamen und anschließend Add to search (Zur Suche hinzufügen) auswählen.

  6. (Optional) Um dieses Diagramm zu einem CloudWatch Dashboard hinzuzufügen, wählen Sie Aktionen, Zum Dashboard hinzufügen aus.