PDF

Überwachung des Linux Sysctl Filesystem über Telegraf in NetCrunch

Dieses Thema erläutert, wie Linux-Kernel-Dateisystemparameter mit Telegraf überwacht und erfasste Metriken an NetCrunch Telemetry Nodes gesendet werden. Das Linux Sysctl Filesystem Input-Plugin liest Werte aus dem Verzeichnis proc sys fs und leitet sie mithilfe des HTTP Output-Plugins an NetCrunch weiter.

Überblick

Telegraf kann Linux-Kernel-Dateisystemparameter mithilfe des Linux Sysctl Filesystem Input-Plugins erfassen. Das Plugin liest Metriken aus dem Verzeichnis proc sys fs und bietet Einblick in die Nutzung von Dateisystemressourcen auf Kernel-Ebene. Für das Plugin ist keine Konfiguration erforderlich, und es erfasst automatisch alle verfügbaren Metriken. Die Daten werden mithilfe von HTTP POST an einen NetCrunch Telemetry Node-Endpunkt weitergeleitet.

Unterstützung von Linux Sysctl-Metriken durch NetCrunch

NetCrunch empfängt eingehende sysctl-Dateisystemmetriken über einen Telemetry Node-Endpunkt. Telemetry Nodes akzeptieren Daten im JSON-Format und speichern erfasste Werte als Zähler oder Alarmstatus.

Der Endpunkt, sein URL-Aufbau und seine Autorisierung werden einmalig unter Monitoring with Telegraf beschrieben. Für alle folgenden Abschnitte wird vorausgesetzt, dass bereits ein Telemetry Node vorhanden ist — siehe Telemetrieknoten.

Datenfluss

  1. Kernel-Metriken werden von Telegraf aus proc sys fs gelesen.
  2. Telegraf erfasst die Dateisystemstatistiken auf Kernel-Ebene.
  3. Telegraf sendet JSON-Metriken an den NetCrunch Telemetry Node-Endpunkt.
  4. NetCrunch verarbeitet und speichert die erfassten Zähler und Statuswerte.

Telegraf-Konfiguration

Speicherort der primären Konfigurationsdatei:

  • Linux-Pfad: /etc/telegraf/telegraf.conf

Grundlegende Konfiguration

[agent] interval = "10s" flush_interval = "10s" metric_buffer_limit = 10000 debug = false

[[inputs.linux_sysctl_fs]]

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-001@sensor01@node100/update" timeout = "5s" method = "POST" data_format = "json"

Konfigurationsparameter

Agent-Abschnitt

  • interval legt die Häufigkeit der Metrikerfassung fest
  • flush_interval legt die Häufigkeit der Datenübermittlung fest
  • metric_buffer_limit legt die Größe des internen Puffers fest
  • debug aktiviert eine detaillierte Ausgabe

Linux Sysctl Filesystem Input

  • Erfordert keine Konfiguration
  • Erfasst automatisch alle Filesystem-sysctl-Metriken

HTTP Output

  • url legt den NetCrunch Telemetry Node-Endpunkt fest
  • timeout definiert das Zeitlimit für Anforderungen
  • method gibt HTTP POST an
  • data_format legt die JSON-Ausgabe fest

Erfasste Metriken

Das Linux Sysctl Filesystem-Plugin erfasst Dateisystemmetriken auf Kernel-Ebene aus proc sys fs.

Dateideskriptor-Metriken

file nr
Anzahl der zugewiesenen Dateihandles.

file max
Maximale Anzahl von Dateihandles, die Linux zuweisen kann.

Metriken für asynchrone IO

aio nr
Aktuelle Anzahl asynchroner IO-Anforderungen.

aio max nr
Maximale Anzahl gleichzeitig zulässiger asynchroner IO-Anforderungen.

Dentry-Cache-Metriken

dentry nr
Anzahl der verwendeten Verzeichnis-Cache-Einträge.

dentry unused nr
Anzahl der nicht verwendeten Verzeichnis-Cache-Einträge.

dentry age limit
Altersgrenze für Verzeichnis-Cache-Einträge.

dentry want pages
Gibt den mit dem Dentry-Cache verbundenen Speicherdruck an.

Inode-Metriken

inode nr
Zugewiesene Inodes.

inode free nr
Freie Inodes.

inode preshrink nr
Inodes, die im nächsten Verkleinerungszyklus freigegeben werden.

Festplattenkontingent-Metriken

dquot nr
Zugewiesene Festplattenkontingentstrukturen.

dquot max
Maximale Anzahl von Festplattenkontingentstrukturen.

Superblock-Metriken

super nr
Zugewiesene Superblocks.

super max
Maximale Anzahl von Superblocks.

Interpretation der Metriken

Überwachung von Dateihandles

Überwachen Sie file nr im Verhältnis zu file max, um das Risiko einer Erschöpfung der Dateihandles zu erkennen. Wenn file nr nahe an file max herankommt, können das Erstellen neuer Dateien oder der Aufbau von Verbindungen fehlschlagen.

Überwachung des Dentry-Caches

  • dentry nr gibt an, wie viele Einträge aktiv sind
  • dentry unused nr gibt wiederverwendbare Einträge an
  • ein hoher Wert von dentry want pages weist auf Speicherdruck im Verzeichnis-Cache hin

Inode-Überwachung

  • inode nr gibt die Anzahl der zugewiesenen Inodes an
  • inode free nr gibt die Anzahl der verfügbaren Inodes an
  • eine geringe Anzahl freier Inodes kann das Erstellen von Dateien verhindern

Überwachung asynchroner IO

  • aio nr gibt die aktive Last durch asynchrone IO an
  • Vergleichen Sie den Wert mit aio max nr, um Grenzwerte zu erkennen

Mehrere Ausgabeziele

Metriken können an mehr als eine NetCrunch-Instanz übermittelt werden.

[agent] interval = "10s" flush_interval = "10s"

[[inputs.linux_sysctl_fs]]

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-001@sensor01@node100/update" timeout = "5s" method = "POST" data_format = "json"

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-002@sensor02@node200/update" timeout = "5s" method = "POST" data_format = "json"

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-003@sensor03@node300/update" timeout = "5s" method = "POST" data_format = "json"

Anwendungsfälle

Überwachung der Dateideskriptor-Kapazität

Überwachen Sie die Nutzung von Dateihandles, um Dienstunterbrechungen aufgrund erschöpfter Handles zu verhindern.

Überwachung des Zustands des Dateisystem-Caches

Überwachen Sie Dentry- und Inode-Metriken, um Bedingungen mit Speicherdruck zu erkennen.

Überwachung von Anwendungen unter hoher Last

Überwachen Sie Metriken für asynchrone IO bei Anwendungen mit hohem Durchsatz, beispielsweise Datenbanken und Servern.

Langfristige Kapazitätsplanung

Überprüfen Sie Trends bei der Nutzung von Inodes und Dateideskriptoren im Zeitverlauf.

Vergleich mehrerer Systeme

Vergleichen Sie die Nutzung von Dateisystemressourcen zwischen mehreren Linux-Systemen.

Erweiterte Konfiguration

Geringere Erfassungshäufigkeit

Geeignet für stabile Systeme.

[agent] interval = "60s" flush_interval = "60s"

Überwachung mit hoher Frequenz

Geeignet für Systeme mit schnellen Änderungen.

[agent] interval = "5s" flush_interval = "5s"

Kombinieren von Sysctl-Metriken mit anderen Inputs

[agent] interval = "10s" flush_interval = "10s"

[[inputs.linux_sysctl_fs]]

[[inputs.cpu]] percpu = false totalcpu = true

[[inputs.mem]]

[[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs"]

[[inputs.diskio]]

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-001@sensor01@node100/update" timeout = "5s" method = "POST" data_format = "json"

Zusammenfassung

Das Linux Sysctl Filesystem Input-Plugin stellt Dateisystemmetriken auf Kernel-Ebene bereit, ohne dass eine Konfiguration erforderlich ist. Telegraf erfasst Dateideskriptor-Metriken, Inode-Anzahlen, Details zum Dentry-Cache, Statistiken zu asynchroner IO, Superblock-Metriken und Kontingentmetriken und leitet sie an NetCrunch Telemetry Nodes weiter, wo sie überwacht, in Diagrammen dargestellt und für Alarme verwendet werden können.

aiodentryfile descriptorfilesysteminodekernellinuxprocpushsysctltelegraftelemetry node