- Collectd
-
collectd Entwickler: Florian Forster Aktuelle Version: 4.6.2
(18. März 2009)Betriebssystem: Unix-Derivate Programmiersprache: C Kategorie: Kapazitätsplanung (Capacity planning) Lizenz: GPL Deutschsprachig: nein http://collectd.org/ collectd ist ein UNIX-Dienst (Daemon) der Leistungsdaten von Computern und (Netzwerk-)Hardware erheben, verarbeiten und speichern kann. Die erhobenen Daten sollen Administratoren helfen einen Überblick über die verfügbaren Ressourcen zu haben, insbesondere um bestehende und voraussichtliche Engpässe zu erkennen.
Eine erste Version des Daemon wurde 2005 von Florian Forster geschrieben und wird seitdem als Freie-Software-Projekt weiterentwickelt. Seitdem haben weitere Autoren Erweiterungen und Verbesserungen geschrieben, die in das Projekt eingeflossen sind.[1] Die meisten Dateien stehen unter der GNU General Public License (Version 2), die Anderen stehen unter anderen Open-Source-Lizenzen.[2]
Inhaltsverzeichnis
Funktionsweise
collectd ist modular aufgebaut: Der Daemon selbst implementiert nur wenig Funktionalität sondern lädt Plugins und stellt ihnen eine Infrastruktur zur Verfügung.[3] Auf diese Weise wird Betriebssystem-spezifischer Code im eigentlichen Daemon größtenteils vermieden. Plugins stehen als dynamische Bibliothek zur Verfügung und haben unter Umständen eigene Abhängigkeiten, zum Beispiel vom Betriebssystem oder von anderen Programmbibliotheken. Die von Plugins ausgeführten Funktionen sind hauptsächlich das Lesen (Sammeln) und Schreiben (Verarbeiten) von Daten, das Verarbeiten von Benutzer-Mitteilungen (notifications) und Statusmeldungen (log messages).
Dieser Ansatz erlaubt die Verwendung des Dienstes in Umgebungen, in denen nur wenig Speicherplatz für Programme zur Verfügung steht, da es möglich ist, nur benötigte Plugins und deren Abhängigkeiten zu installieren. Ein Beispiel sind DSL-Router, die Zielplattformen von OpenWrt.[4]
Die „Lese-Plugins” lassen sich grob in drei Gruppen einteilen:
- Betriebssystem-Plugins erheben Informationen wie die CPU-Auslastung, die Speicher-Nutzung oder die Anzahl der angemeldeten Benutzer auf dem System. Diese Plugins müssen in der Regel für jedes Betriebssystem angepasst werden, so dass nicht alle Plugins für alle Betriebssysteme verfügbar sind.
- Applikations-Plugins ermitteln Daten von/über andere Dienste, beispielsweise den Apache HTTP Server. Diese Plugins verwenden oft andere Programmbibliotheken, sind aber in der Regel unabhängig vom eingesetzten Betriebssystem.
- „Generische Plugins” (generic plugins) bieten grundlegende Funktionen an, die der Benutzer nutzen kann um spezielle Aufgaben zu bewältigen. Beispiele sind das Abfragen eines Netzwerk-Geräts mittels SNMP oder das ausführen eines Programms oder Skripts.
„Schreib-Plugins” bieten die Möglichkeit Daten auf die Festplatte zu speichern, zum Beispiel in RRD- oder CSV-Dateien, oder sie über das Netzwerk zu verschicken.
Einsatz im Netzwerk
Für den Einsatz im Netzwerk enthält collectd das „network“ Plugin, das erhobene Daten versenden oder über das Netzwerk empfangen kann. In einer typischen Netzwerk-Installation läuft auf jedem zu überwachendem Rechner („Client“) der Daemon mit dem Netzwerk-Plugin, welches so konfiguriert ist, dass es die erhobenen Werte versendet. Auf einem oder mehreren „Servern“ läuft ebenfalls der Daemon mit dem Netzwerk-Plugin, hier ist das Plugin aber so konfiguriert, dass es Daten empfängt. Oft werden die empfangenen Daten auf dem Server mit dem RRDtool-Plugin gespeichert.[5]
Das Plugin verwendet ein Binärprotokoll und UDP als Transportprotokoll, als Vermittlungsschicht können sowohl IPv4 als auch IPv6 eingesetzt werden. Sowohl Unicast- (Punkt-zu-Punkt) als auch Multicast-Adressierung (Punkt-zu-Gruppe) werden unterstützt. Eine Authentifizierung oder Verschlüsselung der Daten findet nicht statt.
Siehe auch
Weblinks
Quellen
Wikimedia Foundation.