Es gibt ja die verschiedene Möglichkeiten Graphite mit entsprechenden Metriken zu versorgen. Neben den Klassikern wie zum Beispiel collectd existieren auch zahlreiche andere Tools, die mit Graphite zusammen arbeiten. Eines davon ist host sFlow, welches ich hier nachfolgend vorstellen möchte.
Wie der Name des Tools schon sagt, steht es im Zusammenhang mit sFlow, dem Standard aus dem Netzwerkbereich zur Trafficweiterleitung bzw. -analyse. host sFlow wird u.a. als DEB oder RPM-Paket zum Download angeboten.
Nach der Installation müssen in der Konfigurationsdatei „/etc/hsflowd.conf“ Sammelwerte und die sFlow Kollektoren eingetragen werden, hier ist das nur einer:
sflow{ packetSamplingRate=400 counterPollingInterval=20 collector{ ip = 127.0.0.1 }
Der Daemon hsflowd sollte jetzt bereits gestartet werden, allerdings benötigen wir für den Transfer der Metriken von host sFlow an Graphite noch ein zusätzliches Skript names sflow2graphite. Da dieses auf sflowtool zurück greift, müssen wir das im Vorfeld installieren:
# git clone https://github.com/sflow/sflowtool.git # automake # autoconf # ./configure # make # make install
Schlussendlich benötigen wir eben nur noch sflow2graphite, welches im Anschluss gestartet wird:
# wget # tar -xf sflow2graphite-0.5.2.tar.gz # ./sflow2graphite
Nun sollten die Metriken bereits von Graphite empfangen und als Whisper Files abgelegt werden:
├── cpu │ ├── contexts.wsp │ ├── idle.wsp │ ├── ... ├── disk │ ├── bytes_read.wsp │ ├── bytes_written.wsp │ ├── ... │ ├── ├── load │ ├── load_fifteen.wsp │ ├── load_five.wsp │ └── ... ├── mem │ ├── buffers.wsp │ ├── cached.wsp │ ├── ... └── net ├── bytes_in.wsp ├── bytes_out.wsp ...
Für eine bessere Visualisierung der Metriken bieten sich beispielsweise noch Dashboards mit Grafana an, hier am Beispiel der von host sFlow gesammelten Netzwerkmetriken: