Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
smekal.at :: IT Consulting
RRDTool
„Ein Bild sagt mehr als 1000 Zahlen“
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
smekal.at :: Goesta Smekal
● 15+ Jahre als IT Professional● unterschiedliche Umgebungen:
● 24x7 Operating im medizinischen Bereich● Support, Training, Implementierung● IT Leiter bei einer NPO● Senior Consultant Systemmanagement
● 15+ Jahre Open Source Erfahrung● enger Kontakt zur Community
(Vorstandsmitglied der Linux User Group Austria)
Erfahrungen kann man nicht lernen, man muss sie machen
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDTool :: Beispiele
● RRDTool steckt in vielen Anwendungenzur Überwachung und statistischen Auswertung
● zB: Debian-Pakete, die von rrdtool abhängen:mbmon, torrus, serverstats,rrdcollect, queuegraph,netmrg,nagiosgrapher,munin,jffnms,iptotal, honeyd, gangliawebfrontend, flowscan, dtcxen, digitemp, collectd, cacti, backuppc
● weitere im Web:http://oss.oetiker.ch/rrdtool/rrdworld/
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDTool :: Anwendungen
RRDTool dient zum:● Archivieren langer
Zeitreihen● Darstellung komplexer
zeitlicher Zusammenhänge
● Abschätzen von Trends● Beeindrucken des
Managements
verwendbar in vielen Bereichen:● Systemmonitoring
● Netzwerklast● Plattenplatz● Datendurchsatz● Userzahl● Mailqueue
● Klimadaten● Home Automation● Finanzdaten
● Kontostand● Börsenkurse
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDTool :: Beispiel
● Webserver schaltet sich aus unerfindlichen Gründen ab – mehrmals und zu unterschiedlichen Zeiten
● Vermutung: thermisches Problem
● teilweise richtig: Ursache war CPU Last durch Programmfehler
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRD :: ?
RoundRobinDatabase● sammelt numerische
Daten● verwendet Ringpuffer● fixe Dateigröße über die
Zeit● verdichtet ältere Daten● schnelle Auswertungen
Quelle: http://de.wikipedia.org/wiki/Ringpuffer
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRA :: ?
Archivreihen verdichten Daten durch eine „Consolidation Function“:
● AVERAGE
● MIN
● MAX
● LAST
● RRAs sind ebenfalls Ringpuffer
● durch fixe Zahl der RRAs bleibt Dateigröße begrenzt
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRD :: Vor-/Nachteile
✔ RRDs haben eine definierte Größe, egal wie lange man Daten einfüllt
✔ Schreib-/Lesevorgänge sind effizient und schnell (jeder Datensatz hat eine definierte Position im File)
✗ RRDs speichern nur Zahlen
✗ CF AVERAGE schleift Extremwerte ab (Mittelwerte von Mittlelwerten …)
✗ RRDs sind nicht relational
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRD :: Mittelwertproblem
Extremfall: Stoßfunktion● „singuläres“ Ereignis
hebt sich deutlich vom Rest der Daten ab
● durch Mittelung ebbt das Maximum ab
Abhilfe: CF muss zu Datenreihe passen„one size never fits all“(vgl.: RFC 1925) Rohdaten AVG1 AVG2 AVG3
0
2
4
6
8
10
12
Spalte 1
Spalte 2
Spalte 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 160
2
4
6
8
10
12
Rohdaten
RRA1
RRA2
RRA3
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRD :: anlegen
● start: ältester Datenpunkt (in Epoch)
● step: Intervall in Sekunden
● DS: definiert Datenserie (kann mehrfach verwendet werden)DS:<name>:DST:HB:min:max
● DST: Art der Wertereihe (GAUGE, COUNTER, DERIVE, ABSOLUTE, COMPUTE)
● HB: „Heartbeat“ - maximale Lücke bevor Daten als „unknown“ gelten
● min/max: Unter/Obergrenze der Daten
● RRA: ArchivdatenreihenRRA:CF:xff:step:rows
● CF: (AVERAGE, MIN, MAX, LAST)
● xff: „X-Files Factor“ ähnlich HB
● step: Zahl der zu mittelnden Datenpunkte
● rows: Zahl der gespeicherten Werte
rrdtool create $FILENAME \ start 1314835200 \ step 10 \ DS:Temperatur:GAUGE:300:40:50 \ RRA:AVERAGE:0.5:6:240 \ RRA:AVERAGE:0.5:60:144 \ RRA:AVERAGE:0.5:180:336 \ RRA:AVERAGE:0.5:360:744 \ RRA:AVERAGE:0.5:8640:365
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRD :: Daten schreiben
● mehrere Datenreihen können gleichzeitig geschrieben werden
● Daten werden chronologisch(!) geschrieben
● ohne Timestamp wird aktuelle Zeit genommen
rrdtool update \ $FILENAME \ $TIMESTAMP:$VALUE[:$VALUE] …
eigentlich:
rrdtool {update | updatev} filename [template|t dsname[:dsname]...] [daemon address] [] N|timestamp:value[:value...] attimestamp@value[:value...] [timestamp:value[:value...] ...]
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRD :: Daten lesen
● liest konsolidierte Daten● CF wählbar
● AVERAGE
● MIN/MAX
● LAST
● RRA wählbar (über resolution)
● Zeitraum wählbar
rrdtool fetch \ $FILENAME LAST \ resolution 900 \ start $TIMESTAMP \ end $TIMESTAMP2
eigentlich:
rrdtool fetch <filename> <CF> resolution <res> start <start> end <end>
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDTool :: Praxis
Fallbeispiel Klimadaten● digitale Wetterstation liefert periodisch Messwerte
(Temperatur, Feuchte, Luftdruck, Sonneneinstrahlung, Neiderschlag, Winddaten ...)
● Langzeitaufzeichnung nur als Graphen gefordert
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDgraph :: simpel
rrdtool graph \ /tmp/temperatur.png \ DEF:t=temperatur.rrd\ :Temperatur:AVERAGE \ LINE:t#ff0000
● simpel● schnell● hässlich
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDgraph :: Bildformat
rrdtool graph \ /tmp/temperatur.png \ DEF:t=temperatur.rrd\ :Temperatur:AVERAGE \ LINE:t#ff0000 \ width 400 height 300
● Bildgröße frei wählbar● Dateiformate PNG,
SVG, EPS● hässlich
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDgraph :: Achsen
rrdtool graph \ […] upperlimit 35 \ lowerlimit 20 \ ygrid 5:1 \ verticallabel \ „Temperatur (°C)“ \ start 1325376000 \ end 13358304000
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDgraph :: Legende
rrdtool graph \ […] VDEF:max=t,MAXIMUM \ VDEF:min=t,MINIMUM \ VDEF:avg=t,AVERAGE \ LINE1:0#0000FF \ LINE2:t#ff0000:"aktuell\: " \ GPRINT:t:LAST:"%8.2lf °C\n" \ GPRINT:t:MAX:" Maximum\: %10.2lf °C\n" \ GPRINT:t:MIN:" Minimum\: %10.2lf °C\n" \ LINE1:avg#999999:"Mittel \: " \ GPRINT:t:AVERAGE:"%8.2lf °C\n" \
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDgraph :: Multigraph
rrdtool graph \ […] DEF:t=temperatur.rrd:Temperatur:AVERAGE \ DEF:f=luftfeuchte.rrd:Luftfeuchte:AVERAGE \ CDEF:f2=f,2,/ \ LINE:20 \ AREA:f2#ccccff:"Luftfeuchtigkeit\n":STACK \ VDEF:max=t,MAXIMUM \ VDEF:min=t,MINIMUM \ VDEF:avg=t,AVERAGE \ LINE1:0#0000FF \ LINE2:t#ff0000:"Temperatur\n" \ GPRINT:t:LAST:" aktuell\: %10.2lf °C\n" \ GPRINT:t:MAX:" Maximum\: %10.2lf °C\n" \ GPRINT:t:MIN:" Minimum\: %10.2lf °C\n" \ LINE1:avg#999999:"Mittel \: " \ GPRINT:t:AVERAGE:"%8.2lf °C\n" \
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDgraph :: Trends
„Prognosen sind schwierig, besonders dann, wenn sie die Zukunft betreffen“(wird Karl Valentin zugeschrieben)
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRD :: Pitfalls
● RRD Daten sind abhängig von der Architektur (Endianness!, aber auch i386 - amd64)hier hilft „rrdtool dump | socat … socat | rrdtool restore“
● Reihenfolge der Zeichenbefehle bestimmt Legende und Anordnung im Graphen (zB AREA hinter LINE)
smekal.at :: Ihr Open Source Systemintegratorhttp://smekal.at :: [email protected]
RRDTool :: Quellen
● http://oss.oetiker.ch/rrdtool/● http://oss.oetiker.ch/rrdtool/tut/rrdtutorial.en.html● https://calomel.org/rrdtool.html