21
smekal.at :: Ihr Open Source Systemintegrator http://smekal.at :: [email protected] smekal.at :: IT Consulting RRDTool „Ein Bild sagt mehr als 1000 Zahlen“

RRDTool - smekal.atsmekal.at/uploads/media/RRDtool.pdf · 2012-05-04 · smekal.at :: Ihr Open Source Systemintegrator :: [email protected] smekal.at :: IT Consulting RRDTool „Ein

  • 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, ganglia­webfrontend, flowscan, dtc­xen, 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  ds­name[:ds­name]...]  [­­daemon address] [­­]  N|timestamp:value[:value...]  at­timestamp@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 \  […]  ­­upper­limit 35 \  ­­lower­limit ­20 \  ­­y­grid 5:1 \  ­­vertical­label \  „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