Hervorragende Software und praktische Tutorials
collectd Daemon zur Erfassung von Systemstatistiken
gesammelt ist einDämon, das regelmäßig Leistungsmesswerte für Systeme und Anwendungen sammelt und Mechanismen bereitstellt, um die Werte auf verschiedene Weise zu speichern, beispielsweise in RRDdokumentierenMitte.
collectd sammelt Metriken aus verschiedenen Quellen wie Betriebssystem, Anwendungen, Protokolldateien und externen Geräten und speichert diese Informationen oder stellt sie im Netzwerk zur Verfügung. Diese Statistiken können zur Systemüberwachung, zur Erkennung von Leistungsengpässen (Performance-Analyse) und zur Vorhersage der zukünftigen Systemlast (Kapazitätsplanung) verwendet werden. Auch wenn Sie einfach nur ansprechende Grafiken für Ihren privaten Server benötigen und genug von selbst entwickelten Lösungen haben, sind Sie hier genau richtig!
Was ist collectd
collectd ist ein Daemon-Prozess, der regelmäßig Leistungsmesswerte für Systeme und Anwendungen sammelt und Mechanismen zum Speichern dieser Messwerte auf verschiedene Weise bereitstellt.
collectd sammelt Metriken aus verschiedenen Quellen, wie z. B. dem Betriebssystem, Anwendungen, Protokolldateien und externen Geräten, und speichert diese Informationen oder stellt sie über das Netzwerk zur Verfügung. Diese Statistiken können unter anderem zur Systemüberwachung, zur Erkennung von Leistungsengpässen (Performanceanalyse) und zur Vorhersage der zukünftigen Systemauslastung (Kapazitätsplanung) verwendet werden.
- Es ist vollständig in C geschrieben und bietet daher hohe Leistung und gute Portabilität. Es kann daher auch auf Systemen ausgeführt werden, die weder Skriptsprachen noch Cron-Daemon unterstützen, wie beispielsweise eingebettete Systeme. Gleichzeitig bietet es neue Funktionen zur Optimierung und Verarbeitung von Hunderten von Datensätzen.
- collectd enthält über 100 Plugins. Gleichzeitig bietet collectd leistungsstarke Netzwerkfunktionen und ist vielfältig erweiterbar.
Offizielle Collectd-Website:https://collectd.org/
Collectd-Wiki-Adresse:https://collectd.org/wiki/index.php/Main_Page
So installieren Sie collectd
wget https://storage.googleapis.com/collectd-tarballs/collectd-5.12.0.tar.bz2 tar xf collectd-5.12.0.tar.bz2 cd collectd-5.12.0 ./configure make all install
Sie können am Ende auch einige andere optionale Optionen hinzufügen, beispielsweise:
--prefix=/usr --sysconfdir=/etc -localstatedir=/var --libdir=/usr/lib --mandir=/usr/share/man --enable-all-plugins alles installieren
Oder führen Sie den Installationsbefehl direkt aus:
dnf installiere collectd
- Verzeichnis der Konfigurationsdatei: /etc/collectd/collectd.conf
- Startdateiverzeichnis: /etc/init.d/collectd
- Protokolldateiverzeichnis: /var/log/syslog
- Datenspeicherverzeichnis: /var/lib/collectd/rrd/
So konfigurieren Sie collectd
vim /opt/collectd/etc/collectd.conf
Aktivieren Sie das entsprechende Plug-In für alle Systemelemente, die überwacht werden müssen. Dazu gehören im Allgemeinen CPU, Speicher, Prozesse, Auslastung, Schnittstelle, Festplatte, Swap usw.
Im Allgemeinen müssen Sie nur das Netzwerk-Plugin ändern:
Netzwerk-Plugins können Daten an eine Remote-Instanz von collectd senden (z. B. eine Datenbank, CSV-Datei oder einen Cache) oder Daten von einem Remote-Server empfangen.
LoadPlugin Netzwerk # Entfernen Sie #, um das Plugin zu laden# #-Client-Setup: Server "10.24.106.1" "25826" # Die Adresse und der Port sind die Adresse und der Port des Servers, der Daten empfängt, zum Beispiel: die Adresse und der Port des Servers, auf dem die Datenbank (Influxdb usw.) installiert ist # # Wenn Sie verschlüsselte Daten übertragen müssen, konfigurieren Sie diesen kleinen Teil # SecurityLevel Encrypt # Benutzername „user“ # Passwort „secret“ # Schnittstelle „eth0“ # ResolveInterval 14400 # # TimeToLive 128 # # # Server-Setup: # Listen "ff18::efc0:4a42" "25826" # Wenn dieser Teil konfiguriert ist, bedeutet dies, dass Daten empfangen werden, die von anderen Collectd-Instanzen gesendet wurden ## SecurityLevel Sign # AuthFile "/etc/collectd/passwd" # Schnittstelle "eth0" # # MaxPacketSize 1452 # # # Proxy-Setup (Client und Server wie oben): # Forward true # # # Statistiken über das Netzwerk-Plugin selbst # ReportStats false # # # "Garbage Collection" # CacheFlush 1800
So starten Sie collectd
Befehl ausführen sudo /etc/init.d/collectd starten
oder systemctl starte collectd
Und stellen Sie den Boot systemctl enable collectd
So zeigen Sie Collectd-Daten an
Wenn das rrdtool-Plugin aktiviert ist, können Sie /var/lib/collectd/rrd/ Die entsprechenden Statistiken finden Sie unter dem Verzeichnis.
Sie können bestimmte Daten mit dem folgenden Befehl anzeigen:
rrdtool holt *.rrd DURCHSCHNITT
*.rrd steht für alle Dateien mit der Endung .rrd. Sie können Baidu nach einer detaillierteren Beschreibung des Befehls rrdtool durchsuchen.
Sie sehen, dass die erste Spalte den Zeitstempel enthält. Mit dem Befehl date -d @timestamp können Sie den Zeitstempel (in Sekunden) in dasselbe Zeitformat konvertieren, das vom Befehl date angezeigt wird. Der Befehl date +%s stellt die Zeit in Form eines Zeitstempels dar.
Einführung in Collectd-bezogene Plug-Ins
Plugin: CPU
- jiffies: ist eine Einheit. jiffies ist eine globale Variable im Kernel, die die Anzahl der seit dem Systemstart generierten Ticks aufzeichnet. Unter Linux kann ein Tick grob als die minimale Zeiteinheit für die Prozessplanung des Betriebssystems verstanden werden. Verschiedene Linux-Kernel können unterschiedliche Werte haben, üblicherweise zwischen 1 ms und 10 ms.
- Benutzer: Die Laufzeit im Benutzermodus vom Systemstart bis zur aktuellen Zeit, ausgenommen Prozesse mit negativen Nice-Werten.
- nice: Die CPU-Zeit, die von Prozessen mit negativen Nice-Werten vom Systemstart bis zum aktuellen Zeitpunkt belegt wurde.
- Leerlauf: Die Wartezeit außer der E/A-Wartezeit, die vom Systemstart bis zur aktuellen Zeit angesammelt wurde.
- wait-io: Wartezeit für E/A-Vorgänge vom Systemstart bis zur aktuellen Zeit.
- System: Die Laufzeit im Kernelzustand, kumuliert vom Systemstart bis zur aktuellen Zeit.
- softIRQ: Die vom Systemstart bis zum aktuellen Zeitpunkt angesammelte Soft-Interrupt-Zeit.
- IRQ: Die vom Systemstart bis zum aktuellen Zeitpunkt angesammelte harte Interruptzeit.
- Stehlen: Zeit, die mit dem Ausführen anderer Betriebssysteme in einer virtuellen Umgebung verbracht wurde.
Plugin: Schnittstelle
Das Interface-Plugin sammelt Informationen über den Datenverkehr (Oktette pro Sekunde), Pakete pro Sekunde und Schnittstellenfehler (in einer Sekunde).
- rxpck/s: pro Sekunde empfangene Pakete
- txpck/s: pro Sekunde gesendete Datenpakete
- rxbyt/s: die Anzahl der pro Sekunde empfangenen Bytes
- txbyt/s: die Anzahl der pro Sekunde gesendeten Bytes
Plugin: Prozesse
Plugin: Speicher
Erfasst die physische Speicherauslastung des Systems
Plugin: Swap
Erfassen der Swap-Speicherplatznutzung
Unter Linux können systembezogene Daten über den Befehl abgerufen werden cd /proc/
Schauen Sie in diesem Verzeichnis nach.