Grafana meets Monitoring

Wir unternehmen IT.
Grafana meets Monitoring
Vorstellung einer Komplettlösung
Philip Griesbacher
Nürnberg, 18.11.15
16.11.2015
Seite 2
Philip Griesbacher - www.consol.de
Überblick
• Was war/ist das Ziel?
• Aktueller Standard PNP4Nagios
• Eingesetzte Programme
– InfluxDB
– Grafana
• Wie kommt man zu einem Graph?
– Backend
– Frontend
• Produktiv-Einsatz
• Ziele erfüllt?
• Was fehlt noch?
16.11.2015
Seite 3
Philip Griesbacher - www.consol.de
Was war/ist das Ziel?
•
•
•
•
Zeitgemäßes „look and feel“
Alte Stärken beibehalten
Um neue Funktionen erweitern
Produktiv einsetzbar
16.11.2015
Seite 4
Philip Griesbacher - www.consol.de
Aktueller Standard - PNP4Nagios
[1]
16.11.2015
Seite 5
Philip Griesbacher - www.consol.de
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
16.11.2015
Seite 6
Philip Griesbacher - www.consol.de
Eingesetzte Programme – InfluxDB
• “An open-source distributed time series database with no external
dependencies (https://influxdb.com/ 06.11.2015).”
[2]
16.11.2015
Seite 7
Philip Griesbacher - www.consol.de
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).”
[3]
16.11.2015
Seite 8
Philip Griesbacher - www.consol.de
Wie kommt man zu einem Graph?
16.11.2015
Seite 9
Philip Griesbacher - www.consol.de
Backend – Nagflux
• Verbindet „nagiosartige“ Systeme mit InfluxDB
• Schnittstellen:
– Perfdata-Verzeichnis
– Livestatus zur Anreicherung der Performancedaten
– Downtimes
– Notifications
–…
– Daten von Drittsystemen
• Programmiersprache: Go (1.5)
• https://github.com/Griesbacher/nagflux
16.11.2015
Seite 10
Philip Griesbacher - www.consol.de
Nagflux Schnittstellen
16.11.2015
Seite 11
Philip Griesbacher - www.consol.de
Backend – Influxdb
• Demonstration
16.11.2015
Seite 12
Philip Griesbacher - www.consol.de
Frontend – Histou
• Template-Funktionalität für Grafana – erzeugt Dashboards „on the fly“
• Template-Typen:
– dynamisch in PHP
– statisch in JSON
• Programmiersprache: PHP (5)
• https://github.com/Griesbacher/histou
16.11.2015
Seite 13
Philip Griesbacher - www.consol.de
Was macht Histou?
16.11.2015
Seite 14
Philip Griesbacher - www.consol.de
Wie sieht ein Template aus?
• Regelsatz:
host = *
service = *
command = *
perfLabel = load1, load5, load15
• Dashboard
– JSON-Objekt
– PHP Code, der JSON-Objekt erzeugt
16.11.2015
Seite 15
Philip Griesbacher - www.consol.de
Live Demonstration
• Eine eingeschränkte Demo ist auf der thruk.org Demoseite zu sehen
– >>Link<<
• Inhalt der Präsentation
– Erstellung eines Grafana-Dashboards
– Erstellung eines „simple Template“ mithilfe des Dashboards
16.11.2015
Seite 16
Philip Griesbacher - www.consol.de
Live Demonstration
• Grafana wurde so angepasst, dass es Messlücken als solche darstellt.
16.11.2015
Seite 17
Philip Griesbacher - www.consol.de
Live Demonstration
• Messwerte, die während einer Downtime entstehen, werden ausgegraut.
• Ebenso wurden Annotations für Notifications, Comments, Acknowlegements und
Downtimes eingefügt.
16.11.2015
Seite 18
Philip Griesbacher - www.consol.de
Produktiv-Einsatz
• Begin der Aufzeichnung: 15.07.2015
• 38 Hosts
• 242 Services
– → Gesamt: 280 Checks
• InfluxDB(0.9.4): 4,3 GB
– → ~15,73 MB pro Check in 4 Monaten
• → ~3,93 MB pro Check pro Monat
• RRD: 1,1 GB
16.11.2015
Seite 19
Philip Griesbacher - www.consol.de
Produktiv-Einsatz
16.11.2015
Seite 20
Philip Griesbacher - www.consol.de
Produktiv-Einsatz
16.11.2015
Seite 21
Philip Griesbacher - www.consol.de
Produktiv-Einsatz
16.11.2015
Seite 22
Philip Griesbacher - www.consol.de
Ziele erfüllt?
• Zeitgemäßes „look and feel“ ✓
• Alte Stärken beibehalten ✓
– Einfacher Import der Daten
– Programmierbare Templates
• Produktiv einsetzbar ✓
16.11.2015
Seite 23
Philip Griesbacher - www.consol.de
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
16.11.2015
Seite 24
Philip Griesbacher - www.consol.de
Was fehlt noch?
• Templates für Standard-Checks ✗
• Dokumentation ✗
16.11.2015
Seite 25
Philip Griesbacher - www.consol.de
Ausprobieren!
• „Easy Way“ – OMD Labs
– https://labs.consol.de/omd/index.html
– https://labs.consol.de/nagios/omd/2015/10/21/activate-nagflux.html
• „Hard Way“ – Integration in bestehende Installation
– „Build from Source“:
• https://github.com/Griesbacher/nagflux
• https://github.com/Griesbacher/histou
[4]
• Voraussetzung: „nagiosartiges“ System
16.11.2015
Seite 26
Philip Griesbacher - www.consol.de
Ideen, Verbesserungsvorschläge
• [email protected]
• https://github.com/Griesbacher/
16.11.2015
Seite 27
Philip Griesbacher - www.consol.de
Danke!
16.11.2015
Seite 28
Philip Griesbacher - www.consol.de
Fragen?
16.11.2015
Seite 29
Philip Griesbacher - www.consol.de
Quellen
• 1: https://docs.pnp4nagios.org/de/pnp-0.6/start
• 2: https://s3.amazonaws.com/prodheroku/external_greenhouse_job_boards/logos/000/001/259/original/influxdbdark1600.png?1431587275
• 3: https://share.zabbix.com/cat-app/grafana-zabbix
• 4: https://labs.consol.de/omd/index.html
• Stand: 06.11.2015
16.11.2015
Seite 30
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
16.11.2015
Seite 31
Philip Griesbacher - www.consol.de