monitoring workshop kiel 2016 - performancedaten visualisierung mit grafana / influxdb

28
Performancedaten Visualisierung mit Grafana / InfluxDB Philip Griesbacher Kiel, 07.09.2016 Workshop 2016

Upload: philip-griesbacher

Post on 11-Jan-2017

286 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Performancedaten Visualisierung

mit Grafana / InfluxDB

Philip Griesbacher

Kiel, 07.09.2016

Workshop

2016

Page 2: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite 07.09.2016 Philip Griesbacher - www.consol.de2

Page 3: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Überblick

• Aktueller Standard PNP4Nagios

• Was war/ist das Ziel?

• Eingesetzte Programme

– InfluxDB

– Grafana

• Wie kommt man zu einem Graph?

– Backend

– Frontend

• Produktiv-Einsatz

• Ziele erfüllt?

07.09.2016 Philip Griesbacher - www.consol.de3

Page 4: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Aktueller Standard - PNP4Nagios

07.09.2016 Philip Griesbacher - www.consol.de4

[1]

Page 5: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Was war/ist das Ziel?

• Zeitgemäßes „look and feel“

• Alte Stärken beibehalten

• Um neue Funktionen erweitern

• Produktiv einsetzbar

07.09.2016 Philip Griesbacher - www.consol.de5

Page 6: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Gründe für den Wechsel

• Festes Zeitraster

– Informationsverlust durch Normalisierung der Werte

– Feinere Rasterung nur für Neu-Daten

• Primäre Verwendung von RRD-Daten: Erzeugung von RRD-Graphen

– Andere Verwendungszwecke eingeschränkt / Nur über Umwege

07.09.2016 Philip Griesbacher - www.consol.de6

Page 7: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Eingesetzte Programme – InfluxDB

• “An open-source distributed time series database with no external

dependencies (https://influxdb.com/ 06.11.2015).”

07.09.2016 Philip Griesbacher - www.consol.de7

[2]

Page 8: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Eingesetzte Programme – Grafana

• “An open source, feature rich metrics dashboard and graph editor for

Graphite, InfluxDB & OpenTSDB (https://github.com/grafana/grafana 06.11.2015).”

07.09.2016 Philip Griesbacher - www.consol.de8

[3]

Page 9: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Wie kommt man zu einem Graph?

07.09.2016 Philip Griesbacher - www.consol.de9

Page 10: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Backend – Nagflux

• Verbindet „nagiosartige“ Systeme mit einer InfluxDB

• Schnittstellen:

– Perfdata-Verzeichnis

– Gearman

– Livestatus zur Anreicherung der Performancedaten

– Downtimes

– Notifications

– …

– Daten von Drittsystemen

• Programmiersprache: Go (1.5)

• https://github.com/Griesbacher/nagflux

07.09.2016 Philip Griesbacher - www.consol.de10

Page 11: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Nagflux Schnittstellen

07.09.2016 Philip Griesbacher - www.consol.de11

Page 12: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Frontend – Histou

• Template-Funktionalität für Grafana – erzeugt Dashboards „on the fly“

• Template-Typen:

– dynamisch in PHP

– statisch in JSON

• Programmiersprache: PHP (5.3+)

• https://github.com/Griesbacher/histou

07.09.2016 Philip Griesbacher - www.consol.de12

Page 13: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Was macht Histou?

07.09.2016 Philip Griesbacher - www.consol.de13

Page 14: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Wie sieht ein Template aus?

• Regelsatz:

host = *

service = *

command = *

perfLabel = load1, load5, load15

• Dashboard

– JSON-Objekt

– PHP Code, der JSON-Objekt erzeugt

07.09.2016 Philip Griesbacher - www.consol.de14

Page 15: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Live Demonstration

07.09.2016 Philip Griesbacher - www.consol.de15

Page 16: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Produktiv-Einsatz

• Begin der Aufzeichnung: 01.01.2016

• 62 Hosts

• 370 Services

– → Gesamt: 432 Checks

• InfluxDB(0.13): 1,0 GB

• RRD: 1,1 GB

07.09.2016 Philip Griesbacher - www.consol.de16

Page 17: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Produktiv-Einsatz

07.09.2016 Philip Griesbacher - www.consol.de17

Page 18: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Produktiv-Einsatz

07.09.2016 Philip Griesbacher - www.consol.de18

Page 19: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Produktiv-Einsatz

07.09.2016 Philip Griesbacher - www.consol.de19

Page 20: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Produktiv-Einsatz

07.09.2016 Philip Griesbacher - www.consol.de20

Page 21: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Ziele erfüllt?

• Zeitgemäßes „look and feel“ ✓

• Alte Stärken beibehalten ✓– Einfacher Import der Daten

– Programmierbare Templates

• Produktiv einsetzbar ✓

07.09.2016 Philip Griesbacher - www.consol.de21

Page 22: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Ziele erfüllt?

• Um neue Funktionen erweitern ✓– Nagios-Meldungen: Kommentare, Downtimes …

– einfache Template Erstellung

• Regex auf PerfLabel

• GUI (Grafana)

– Daten werden nicht verdichtet

– leicht um Nagios fremde Daten erweiterbar

– Warn/Crit-Linien

• dynamisch

• Bereiche

– Serviceübergreifende Dashboards

07.09.2016 Philip Griesbacher - www.consol.de22

Page 23: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Ausprobieren!

• „Easy Way“ – OMD Labs

– https://labs.consol.de/omd/index.html

– https://labs.consol.de/nagios/omd/2015/10/21/activate-nagflux.html

– Docker Image: https://github.com/Griesbacher/docker-omd-grafana

• „Hard Way“ – Integration in bestehende Installation

– „Build from Source“:

• https://github.com/Griesbacher/nagflux

• https://github.com/Griesbacher/histou

• Voraussetzung: „nagiosartiges“ System

15.09.2016 Philip Griesbacher - www.consol.de23

[4]

Page 24: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Ideen, Verbesserungsvorschläge

• https://github.com/Griesbacher/

• Oder einfach ansprechen!

15.09.2016 Philip Griesbacher - www.consol.de24

Page 25: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

25Seite

Danke!

15.09.2016 Philip Griesbacher - www.consol.de

Page 26: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

26Seite

Fragen?

15.09.2016 Philip Griesbacher - www.consol.de

Page 27: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

Seite

Quellen

• 1: https://docs.pnp4nagios.org/de/pnp-0.6/start

• 2: http://dart.academy/content/images/2016/02/influxdb.png

• 3: https://share.zabbix.com/cat-app/grafana-zabbix

• 4: https://labs.consol.de/omd/index.html

• Stand: 05.05.2016

15.09.2016 Philip Griesbacher - www.consol.de27

Page 28: Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana / InfluxDB

28Seite Philip Griesbacher - www.consol.de

ConSol* Software GmbH

Franziskanerstraße 38

D-81669 München

Tel: +49-89-45841-100

Fax: +49-89-45841-111

[email protected]

www.consol.de

15.09.2016