TICK Stack
von Bernd Waibel
Was ist TICK Stack
TICK Stack ist ein (weiteres) Monitoring und Auswertungs-Tool. Es basiert auf der InfluxDB von influxdata, die folgende Vorteile verspricht:
-
InfluxDB is a time series database designed to handle high write and query loads.
-
Real-time visibility into stacks, sensors and systems.
Die Influx Produkte gibt es kostenlos, oder aber als Enterprise Variante.
Welche Komponenten hat der TICK Stack?
Der TICK Stack ergibt sich aus den Komponenten:
- (T)elegraf
- (I)nfluxDB
- (C)hronometer
- (K)apacitor
Folgendes Schaubild verdeutlicht die Komponenten:
Quelle: influxdata
Welche Aufgaben hat der TICK Stack?
Quelle: influxdata
Use Cases
Wir haben uns folgende Use Cases umgesetzt
- Sandbox zum Laufen kriegen
- Daten für TICK Stack erzeugen
- Visualisierung verschiedener Quellen
- Wetterstationen
- Stress Test
- Bestehendes Beispiel ausführen und werten
- Anbindung einer eigenen Anwendung
- SpringBoot Anwendung
- Bestehende Anwendung überwachen
- MySQL, Apache HTTP mit Benachrichtigung (Alert)
- Cloud verwenden
- AWS Amazon Beispiel
Wie waren die Erfahrungen?
Topic
|
Bewertung |
---|---|
Lernkurve |
Lernkurve war niedrig Einfach, es gibt ein Sandbox Beispiel (Basis Docker) das auch funktioniert. Die Anwendungsoberfläche leistet erstmal viel. |
Gefühlte |
Der Hauptspeicherbedarf war enorm. Kleine Konfigurationsfehler bewirken ein komplette „tut nicht“. Die Konfiguration ist nicht einheitlich (mal als Konfigurationsdatei, mal über Umgebungsvariablen). Als Production-ready empfinden wir es nicht: Der Hauptspeicherbedarf ist enorm, Restart oft notwendig, oft tut was nicht und "reset" ist die einzige Möglichkeit. |
Anbindung eigener Anwendungen |
Über eine Standardprotokoll (statsD) einfach. Anwendung muss nichts über TICK wissen. |
Resümee
So, und nun, würden wir es nutzen oder empfehlen?
Topic
|
Bewertung
|
---|---|
Umgebung | Die Umgebung ist schnell und leicht aufgesetzt, das Sandbox Beispiel ist ein einfacher Einstieg. Ein PoC wäre einfach. |
Cloud Ready |
Das ganze ist dank der AWS Examples auch als "cloud-ready" einzustufen. Hier zeigt sich jedoch, dass es an der aktualität der Beispiele und des "kostenlosen" Beispiel Codes entscheidend ist. Genau da, wo diese nicht funktionenern, oder inkosistent sind und auf alten Versionen aufbauen, scheitert man, und benötigt dann viel Zeit. Das hat auch, aber nicht nur, mit AWS Problemen und genutzten Frameworks (helm, tiller) zu tun, die dann nicht mehr aktuell sind oder eigene Bugs mitbringen. |
Datenbank InfluxDB |
Die Datenbank ist performant, und wird kommerziell weiterentwickelt (Enterprise Lizenz). Hier zeigt sich eine gute Performanz. Allerdings wird deutlich mehr (>10G) an Speicher verwendet als in den AWS Empfehlungen (8B) empfohlen wird. |
Chronograph |
Die Visualisierung wirkt nicht ganz passend zu den anderen Produkten. Die Konfiguration erfolgt hier via Umgebungsvariablen, nicht via config-file. Wenn man in InfluxDB ein Kennwort setzt, kommt Chronograph nicht mehr weiter. Es verwendet ein eigenens User/Security Konzept. Im Gegensatz zu Telegraf werden hier keine Plugins verwendet, alle sind hard-coded. Nun ja, und es geht auch anders (Grafana, Kibana, …) |
Telegraf | Verwendet Plugins, und unterstützt die wichtigsten und gängigsten Schnittstellen, wie z.B. statsD. |
Kapacitor | Hier zeigt sich, dass sehr wenig konfiguriert werden kann. |
Highlights
Während eines CodeCamps geht man irgendwie immer davon aus, dass GitHub sowas ist wie die "alte" Telefonie: immer verfügbar. Falsch.
So sehen wir zum ersten Mal ein rosa Einhorn. Meine Tochter wäre begeistert gewesen...