Upload
nine-internet-solutions-ag
View
211
Download
1
Embed Size (px)
Citation preview
1
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
2
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
ZENTRALES METRIKEN SYSTEM
… UND IST DER FLÜGELSCHLAG DES SCHMETTERLINGS SICHTBAR?"
3
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
THEMEN
1. WAS IST MOTIVATION FÜR ZIG
MILLIONEN METRIKEN?
2. WAS IST INFLUXDB UND OPENTSDB?
3. WAS NÜTZT TELEGRAF?
4. DEMO
5. AUSBLICK
4
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
WARUM ZENTRALE METRIKEN?VORHANDENE SITUATION
• > x00’000 RRD und Whisper-Files (25k System-Metriken, 25k zusätzliche für alle vergessene,
viele 10ks Nagios RRDs, 50k Netzwerkmetriken, Whisper für Backup, Redmine, …)
• Die meisten «alten» Tools habe eine eigene Vorstellung von Graphik-Lagerung und Erstellung
• Zugreibarkeit
• Performance
• Daten Korrelationen schwierig bis gar nicht automatisch erstellbar
5
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
WARUM ZENTRALE METRIKEN?
• Ziele und Nutzen für nine.ch:
• ein Zentraler Metrik Speicher
• Die Metriken sind verteilt über alle Datacenters
• Zugreifbarkeit
• Auswertbarkeit
• Korrelationen (!)
• Bereits vorhandene Mathematik
• Modere Schnittstellen
• Supporting Funktionalität (wie Ausdünnung oder Round-Robin)
• Überarbeitung des Monitorings und Alertings durch Anflanschen an Metriken
• Kunden haben Einsicht in die Metriken der eigenen Systeme
• InfluxDB gewann das erste Stechen vor OpenTSDB und Prometheus
6
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
WAS IST INFLUXDB?
• InfluxDB ist eine verteilte Time Series Database
• … ohne weitere Abhängigkeiten
• … und OpenSource (MIT License)
• Rising Star
• Backend und DB komplett in Go geschrieben
(Minimierung der Bibliotheken Abhängigkeiten, Webservices Stack, Concurreny)
• Optimiert auf die Speicherung, Organisation und Auswertung von Metriken
(Timestamps, Tags, Verteilung der Daten mit Shards, SQL like Abfragesprache)
• Automatisches Verdichten und Ausdünnen
• REST API und integriertes Admin-Webinterface
• InfluxDB.com (> 25 Mitarbeiter @ US)
7
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
INFLUXDB @ NINE.CHDESIGN UND WO WAREN WIR TO EARLY TO USE?
• Design und Setup InfluxDB Cluster 0.8.7
(Dezember 2014)
• puppet-influxdb (rewrite)
• Letzte Feature Enhance und Fix
Version des 0.8.x Branches Ende 2014
• Performance Lags (5-30 Sekunden) & Crashes
bei > 50’000 Metriken pro Minute
• Refactoring mit InfluxDB 0.9.x (33 RCs zur 0.9.0)
• bis und mit Version 0.9.2 jeweils am
Datenmengengerüst von nine.ch
und im Cluster gecrashed
• Im August 2015 “InfluxDB: Quo-Vadis? – Krise”
Wechsel auf OpenTSDB als zentraler Metrik-Speicher
8
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
INFLUXDB STAND HEUTE
• InfluxDB auf dem Weg zur Version 1.0.0
• Bestrebung: Speed, neues Clustering, neue und ressourcen schonendere Storage
Engine, Speed
• InfluxDB 0.9.5 stabiler (Single Node Usage)
• InfluxDB 0.9.6 mit neuer Storage Engine (TSM) (WIP, Multi-Node-Cluster)
9
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
WAS IST OPENTSDB?
• OpenTSDB ist eine skalierende Time Series Database
• Datenhaltung und Verteilung ist ausgelagert in ein Cluster Setup mit
• Apache HBase
• Apache Hadoop
• Apache Zookeeper
• Zusätzliche Schreibkapazität mit zusätzlichen Nodes / Slaves
• Die Schreib- und Lese-Performance im BigData Bereich
• 2 Writer - APIs (Line-Protokoll, REST)
• Webinterface zur einfachen und schnellen
Auswertung (Graphiken mit GnuPlot)
• OpenTSDB.net (3 Personen-Projekt)
•
10
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
OPENTSDB @ nine.ch
11
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
METRIKEN SAMMELN, WIE ?INFLUXDB TELEGRAF UM METRIKEN ZU SAMMELN UND SENDEN
• Telegraf ist ein Metrics Collector Deamon und schreibt diese an ein Time Series Backend
• Programmiert in Go und relativ schlank
• Plugins für Input (System-Metriken, Apache, nginx, MySQL, PostgreSQL, Elasicsearch, …)
• Plugins für Outputs (InfluxDB, OpenTSDB, Kafka, …)
• nine.ch Contributions:
• OpenTSDB Output Plugin
• Libvirtd Input Plugin
(und weil externe Abhängigkeit von nine.ch unterhaltenes Linux Package)
• Oekosystem Contributions:
• puppet-telegraf (unterstützt zusätzlich pro-service Config-Snippets (DBs))
12
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
DEMO / BEISPIELE @ nine.ch
13
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
DEMO / BEISPIELE @ nine.ch
14
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursday
AUSBLICK
• nine.ch verfolgt die Entwicklung von OpenTSDB und InfluxDB weiter
• Unsere Tool-Erweiterungen sind so gestrickt, dass sie beide TSDB unterstützen.
• Mehr Disk-Space für mehr Metriken (längere History, Wiederholungseffekte sind einsehbar)
• Mehr Metriken für den Endkunden einsehbar
15
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursdayNine Internet Solutions AG
Albisriederstr. 243a
CH-8047 Zürich
Tel +41 44 637 40 00
Fax +41 44 637 40 01
FRAGEN?
16
TECHTALKTHURSDAY METRIKEN / ÖFFENTLICH ROMAN PLESSL Version 1.0
#TechTalkThursdayNine Internet Solutions AG
Albisriederstr. 243a
CH-8047 Zürich
Tel +41 44 637 40 00
Fax +41 44 637 40 01
DANKE FÜR DIE AUFMERKSAMKEIT!