Ü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
- Kernel-Metriken werden von Telegraf aus proc sys fs gelesen.
- Telegraf erfasst die Dateisystemstatistiken auf Kernel-Ebene.
- Telegraf sendet JSON-Metriken an den NetCrunch Telemetry Node-Endpunkt.
- 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.
- Was ist ein Node in NetCrunch?
Dieses Thema erläutert die Definition eines Node in NetCrunch. Es erklärt, warum ein Node als Service-Endpunkt und nicht als physisches Gerät behandelt wird und wie diese Unterscheidung die Überwachungsgenauigkeit moderner Infrastrukturen verbessert.
- NetCrunch Monitoring Objects
Everything NetCrunch monitors is an object with a state - nodes, interfaces, services, sensors, alerts, and the statuses calculated from them. Knowing which object you are looking at tells you what you can alert on, put on a dashboard, and roll up into a service status.
- Monitoring External Sources
How NetCrunch monitors data originating outside built-in collectors using telemetry, scripts, files, and external APIs.
- NetCrunch Native Data Formats
Native payload formats used by NetCrunch to ingest external monitoring data as counters, statuses, and contextual data objects using JSON, XML, and CSV.
- Monitoring with Telegraf
Use Telegraf, the open-source metrics agent, to collect from systems NetCrunch does not poll directly and push the results into NetCrunch as ordinary counters and statuses.
- MQTT-Telemetrie über Telegraf in NetCrunch
In diesem Thema wird erläutert, wie über MQTT veröffentlichte Systemmetriken erfasst, mit Telegraf verarbeitet und mithilfe von JSON-basierter Telemetrie an einen NetCrunch Telemetry Node-Endpunkt weitergeleitet werden.
- SQL Server-Überwachung über Telegraf in NetCrunch
Dieses Thema erklärt, wie Telegraf für die Erfassung von Microsoft SQL Server-Metriken und deren Weiterleitung an einen NetCrunch Telemetry Node-Endpunkt mithilfe JSON-basierter Telemetriedaten konfiguriert wird. Es behandelt die Einrichtung des SQL Server-Logins, Verbindungszeichenfolgen, die Telegraf-Eingabekonfiguration und unterstützte Metriktypen.
- Azure-Ressourcenüberwachung mit Telegraf in NetCrunch
Dieses Dokument beschreibt, wie Telegraf konfiguriert wird, um Metriken aus verschiedenen Azure-Ressourcen (z. B. Virtual Machines, Storage Accounts und Datenbanken) zu erfassen und über den Telemetry Node-Endpunkt an NetCrunch zu senden.