Echtzeitmonitoring-Architektur mit Cassandra und Solr - Capgemini

Die Seite wird erstellt Rene Schröter
 
WEITER LESEN
Echtzeitmonitoring-Architektur mit Cassandra und Solr - Capgemini
06/2018                                              Fachartikel: Echtzeitmonitoring-Architektur mit Cassandra und Solr

                                                                                                    Sonderdruck aus OBJEKTspektrum

Echtzeitmonitoring-Architektur
mit Cassandra und Solr
Praxisbeispiel Bundesagentur für Arbeit
Monitoringdaten von geschäftskritischen Informationssystemen sind, je nach Beschaffenheit und Verwendung,
selbst wertvolle und kritische Daten. Damit sind aber auch ähnliche Anforderungen wie an Nutzdaten zu stellen.
Eine wesentliche Anforderung an diese Daten ist die Durabilität, sprich eine dauerhafte Speicherung. Zudem sind
Monitoringdaten von den eigentlichen Nutzdaten zu trennen, damit Monitoringabfragen und Analysen durchge-
führt werden können, ohne den Produktivbetrieb zu gefährden. Das Monitoring muss ebenfalls wie das operative
Bestandssystem hochverfügbar sein. Ein konkretes Beispiel hierfür ist das IT-Systemhaus der Bundesagentur für
Arbeit (BA).

Dort werden teils hochkritische Systeme
eingesetzt, deren Weiterentwicklung und
Betrieb auf konsistente und langfristig
gespeicherte Monitoringdaten angewie-
sen sind. Aufgrund dieser Anforderungen
wurde eine hochverfügbare Echtzeitmoni-
toring-Lösung entwickelt und evaluiert,
die auf dem Architekturstack Cassandra
– Solr – Grafana aufbaut.
Dabei wurden die Fähigkeiten von Grafa-
na bei der Abbildung von umfangreichen
Zeitreihen mit dem robusten und einfa-
chen Betrieb von Cassandra kombiniert.
Die bisherige Lücke zu Solr schließt ein ei-
gens entwickeltes Grafana-Plug-in, sodass
Abfragen flexibel aus Grafana heraus an
Solr und Cassandra erstellt werden kön-
nen.
Der Architekturstack, dessen Einsatz und
die sich daraus ergebenden Möglichkeiten
in der Private Cloud, werden nachfolgend
anhand des Beispiels BA vorgestellt.

Ausgangssituation:
Aufbau eines NoSQL-Umfeldes
inklusive Monitoring
Mit Blick auf die langfristige DevOps-
und Agilitätsstrategie des IT-Systemhau-
ses der BA in der Softwareentwicklung          Abb. 1: IST-Architektur für das Monitoring des Bestandssystems
wurde ein Team geschaffen, das mit den
Bereichen Private Cloud und konventi-
onellen Datenbanken vertraut ist. Ziel         zugrunde gelegt wurde. Eine Herausfor-          Diese musste somit erst auf dem Stack auf-
dabei war es, zusätzliches Wissen im           derung bestand darin, dass so zwar eine         bauend entwickelt und evaluiert werden.
NoSQL-Umfeld proaktiv aufzubauen und           leistungsstarke Infrastruktur vorhanden         Abbildung 1 zeigt die IST-Architektur für
entsprechende Lösungen anzubieten. Eine        war, die als ausgereifte Plattform auch         das Monitoring des Bestandssystems.
dieser Lösungen beinhaltet den Architek-       Big Data verarbeiten kann. Was jedoch
turstack Cassandra, Solr, Spark und Gra-       fehlte, war eine Out-of-the-Box(OOTB)-          Architektur:
fenfunktionen.                                 Monitoring-Lösung oder gar eine OOTB-           Abwägung zwischen Neubau
Dieser Architekturstack wurde ermög-           Lösung für echtzeitnahes Monitoring, um
                                                                                               und Out-of-the-Box
licht, indem eine lastfähige und hochska-      die eingangs erwähnten Anforderungen
lierbare Infrastruktur – ein sogenanntes       wie Durabilität, Hochverfügbarkeit und          In Hinblick auf die Architektur musste
„Bare Metal“ – aufgebaut und dem Stack         analytische Leistungsfähigkeit zu erfüllen.     damit folgende Frage beantwortet wer-

40
Echtzeitmonitoring-Architektur mit Cassandra und Solr - Capgemini
www.objektspektrum.de

den: Baut man eine Lösung basierend auf                                                     Grafana                 Kibana
der vorhandenen Infrastruktur auf, oder
greift man auf eine OOTB-Lösung wie            GitHub Stars                                 23,6 Tsd.               10 Tsd.
den ELK-Stack zurück und errichtet hier-
                                               GitHub Forks                                 4,23 Tsd.               3,89 Tsd.
für eine Umgebung mit entsprechender
Infrastruktur?                                 GitHub Commits Master Branch Aug. 2018       227 von 28 Autoren      232 von 60 Autoren
Diese Frage lässt sich nicht pauschal be-
antworten. Vielmehr sollte zuerst erörtert     Reddit Points                                476                     191
werden, was eigentlich erreicht werden         Stack Overflow Questions                     1,17 Tsd.               3,06 Tsd.
soll, um dann den Fokus entsprechend
zu legen. Im konkreten Beispiel steht das      Tabelle 1: GitHub-Statistiken von Grafana und Kibana im Vergleich
Monitoring eines großen und kritischen
Informationssystems im Mittelpunkt. Das
Ziel war dabei die Verlagerung der Mo-         auf Stack Overflow führend ist, während            deutlicht, dass neben technischen Bedin-
nitoringfunktionalität aus dem operativen      auf Reddit Grafana deutlich mehr Erwäh-            gungen auch organisatorische Umstände
System in einen unabhängig zu betreiben-       nung findet.                                       bei Architekturentscheidungen berück-
den Monitoringservice. Zudem sollte das        Letztlich kam für die Nutzung der Cas-             sichtigt werden sollten. Im vorliegenden
operative Bestandssystem durch die neue        sandra-Infrastruktur nur Grafana in­               Fall spricht die Mehrzahl technischer Ar-
Lösung nicht beeinträchtigt werden.            frage, da sich nur damit beliebige Da-             gumente für den DataStax-Architektur-
Weiterhin sollten Nutzer des Monito-           tenquellen per Plug-in einbinden lassen.           stack (Cassandra mit Solr), es sind jedoch
rings nicht mehr, etwa für zeitaufwendi-       Kibana ist hingegen auf Elasticsearch              auch Szenarien denkbar, wo die organisa-
ge Abfragen an die Operativdatenbank,          angewiesen.                                        torischen Gegebenheiten ausschlaggebend
auf die Ressourcen des Bestandssystems                                                            für die Architekturwahl sein können. Im
zugreifen müssen, sondern risikolos auf        Organisatorische                                   hier beschriebenen Fall lag für die An-
einem replizierten Datenbestand arbeiten                                                          bindung an Cassandra noch keine fertige
                                               Entscheidungsaspekte
können.                                                                                           Lösung vor, sodass zu Beginn ein Plug-in
                                               Hinzu kommt, dass die Cassandra-Infra-             entwickelt werden musste.
Technische                                     struktur einschließlich Server, Plattformen        Für das Auslagern und (redundante) Spei-
                                               und Lizenzen im IT-Systemhaus der BA               chern der Daten war, wie beschrieben,
Entscheidungsaspekte
                                               bereits vorhanden war. Das Beispiel ver-           eine auf Cassandra aufbauende Lösung in
Diese Anforderung ist besonders wichtig,
da das zugrunde liegende Bestandssystem
die meisten fachlichen Monitoringdaten
bereits parallel zu den Fachdaten in einer
relationalen Datenbank speichert. Mit der
Zeit werden die entsprechenden Tabellen
immer größer und flexible Abfragen die-
                                                                                   TEST TOOL = AUTOMATED TESTING?
ser Daten ohne Beeinträchtigung der ope-
rativen Fachprozesse im System zuneh-
mend schwieriger.
Die Beschaffenheit der Daten hingegen ist
einfach: Jeder Eintrag besitzt einen Zeit-
stempel und diverse Metriken wie Anzahl
oder Laufzeiten von Geschäftsvorgängen,
Schnittstellenaufrufen usw. Diese Art
der Datenverwaltung entspricht also der

                                                                                           Kennen Sie
Speicherung von Zeitreihen, bei denen
ein konstanter Strom von Sensorwerten

                                                                                           Ihre echten
(fachliche und technische Metriken) über
die Zeit verteilt wird. Grafana ist auf die

                                                                                             Kosten?
Visualisierung dieser Art von Daten spezi-
alisiert und stellt gemäß der Anforderun-
gen an Abfrage und grafische Auswertung
die bessere Alternative im Vergleich zu
Kibana dar.
Ein Blick auf die Statistiken von GitHub
zeigt, dass Grafana (https://github.com/
grafana/grafana) sowohl bei GitHub Stars
als auch bei Forks (siehe Tabelle 1) vor Ki-
bana (https://github.com/elastic/kibana)
liegt. Beide Plattformen besitzen sehr akti-                                       Sehen Sie jetzt die Vollkostenrechnung unter
                                                                     – Anzeige –

ve Communities mit täglich durchgeführ-
                                                                                           https://testresults.io/costs
ten Aktualisierungen am Codebestand,
wobei Kibana hinsichtlich der Aktivitäten

                                                                                                                                         41
Echtzeitmonitoring-Architektur mit Cassandra und Solr - Capgemini
06/2018                                          Fachartikel: Echtzeitmonitoring-Architektur mit Cassandra und Solr

der Organisation vorhanden, die wie das       Auswertung von langzeitgespeicherten         und Korrelieren von Fehlermeldungen
operative System hochverfügbar ist. Der       Daten mit echtzeitnaher Visualisierung       (Exceptions) ist direkt möglich – ohne den
verwendete Storage ist, bedingt durch         und Verzögerungen im Sekundenbereich.        nachgelagerten Sammelprozess von Logs
die verteilte Architektur von Cassandra,      Zum anderen ein Echtzeitmonitoring von       über 256 Server. Perspektivisch ergibt sich
flexibel erweiterbar. Die in Cassandra        ephemeren Durchlaufdaten mit Visu­           eine Kostenersparnis dank günstigerem
verwendete vereinfachte Darstellung der       alisierung in Echtzeit ohne Verzögerung,     Speicher anstelle des Oracle RACs.
Daten als eingebettete Key-/Value-Paare       deren Monitoringdaten nicht für die          Die neuen Auswertungsmöglichkeiten
und die schemalose Struktur sind für die      Langzeitspeicherung vorgesehen sind.         beinhalten unter anderem die Identifika-
dargestellten „Sensorwerte“ geeignet. Die     Vor dem Hintergrund der Anforderung,         tion von Engpässen und langer Latenz
hohe Insert-Rate von Cassandra stellt         Monitoringdaten langfristig vorzuhal-        in bestimmten Dienststellen. Analysen
ebenfalls keinen Engpass für den unstruk-     ten, wurde hier der erstgenannte Ansatz      sind über den vollen Datenzeitraum,
turierten Datenstrom an Monitoringwer-        gewählt. Eingesetzt wurde dazu der Da-       beispielsweise bei Langzeitanalysen der
ten dar und ermöglicht es, die operative      taStax-Architekturstack, der als „Unter-     Performanz, möglich. Da Abfragen im
Datenbank zu entlasten. Insgesamt lag         bau“ die Cassandra-Datenbank nutzt.          Vergleich zu relationalen Datenbanken
also eine hochverfügbare Datenbank mit        Dadurch wird ein sowohl technisch als        deutlich schneller sind, können diese auch
vergleichsweise günstigen Storage-Optio-      auch fachlich flexibleres Monitoring er-     häufiger als einmal pro Woche durchge-
nen vor, die zur Beschaffenheit der Daten     möglicht, einschließlich komplexerer Ab­     führt werden. Zudem lassen sich mit dem
passte.                                       fragen mit NoSQL. Die Visualisierung         neuen Architekturstack neue Monitoring-
                                              findet in einem zentralen Dashboard statt,   anforderungen schneller umsetzen. Wäh-
Die Lösung: DataStax-Stack                    Exporte und Nachbearbeitungen in Excel       rend Tabellen in der relationalen Daten-
mit Cassandra-Datenbank                       sind nicht mehr notwendig. Auswertun-        bank sehr groß und daher nicht einfach
                                              gen können auch vom Fachbereich direkt       um neue Spalten erweiterbar sind, sind
Grundsätzlich lassen sich zwei Ausprä-        im Dashboard eingesehen werden, das          Schemaoperationen in Cassandra sogar
gungen von Monitoringsystemen unter-          Risiko der Produktionsbeeinträchtigung       im Nachgang und unabhängig von der
scheiden: Zum einen die fortlaufende          durch Abfragen entfällt. Das Auswerten       Größe deutlich effizienter.
                                                                                           Aufgrund der Langzeitspeicherung der
                                                                                           Monitoringdaten können Metriken zu-
                                                                                           dem noch im Nachhinein ermittelt wer-
                                                                                           den. Ansonsten wären beispielsweise für
                                                                                           Daten, die älter als ein Monat sind und
                                                                                           für die nur der Durchschnitt beibehalten
                                                                                           wurde, nachträglich keine Perzentile mehr
                                                                                           zu ermitteln.
                                                                                           Die Cassandra-Datenbank hingegen ist
                                                                                           für eine effiziente Big-Data-Verarbeitung
                                                                                           ausgelegt und ermöglicht Incident-bezo-
                                                                                           gene Abfragen – zum Beispiel Finde alle
                                                                                           Fehler, die im letzten Monat in einer be-
                                                                                           stimmten Java-Klasse aufgetreten sind.
                                                                                           Die Nachverfolgung von Incidents wird
                                                                                           durch den neuen Architekturstack verein-
                                                                                           facht. Tritt ein Fehler in einer bestimm-
                                                                                           ten Java-Klasse auf, kann dank der neuen
                                                                                           Monitoringarchitektur ermittelt werden,
                                                                                           wann und wo das Problem überall aufge-
                                                                                           treten ist.
                                                                                           Weiterhin bietet Cassandra eine sehr hohe
                                                                                           Kompression und kommt im Vergleich
                                                                                           zur Oracle DB mit 25 Prozent des Spei-
                                                                                           cherplatzes aus – ein Wert, der nur von
                                                                                           wenigen Datenbanken wie Dalmatiner
                                                                                           DB oder InfluxDB übertroffen wird. Diese
                                                                                           sind allerdings kein Standard der Bundes-
                                                                                           agentur.
                                                                                           Weitere Vorteile resultieren daraus, dass
                                                                                           Produktionskopien des operativen Be-
                                                                                           standssystems ohne Monitoringdaten
                                                                                           einfacher und schneller anzufertigen sind.
                                                                                           Die Monitoringarchitektur liefert zusätz-
                                                                                           liche Erkenntnisgewinne hinsichtlich der
                                                                                           Performanz technischer Komponenten
                                                                                           und ist aufgrund von Synergieeffekten für
                                                                                           weitere IT-Verfahren interessant. Hinzu
Abb. 2: Gesamtarchitektur des NoSQL-basierten Monitorings                                  kommt, dass der neue Architekturstack

42
Echtzeitmonitoring-Architektur mit Cassandra und Solr - Capgemini
www.objektspektrum.de

etabliert ist: Bekannte quelloffene Lösun-     chanismus, sprich den in Hadoop enthal-                 in Ruby geschrieben, sodass Logstash in
gen bauen auf demselben Stack auf – nur        tenen Koordinationsdienst ZooKeeper,                    einer Ruby-Umgebung läuft. Das Plug-in
ein Beispiel dafür ist die Monitoringplatt-    sowie eine Konfiguration der Solr-Knoten                basiert auf dem Vitalyros Logstash Cas-
form Graphite in Kombination mit Cy-           für Master-/Slave-Indexreplikation. Ge-                 sandra Output-Plug-in [Vita16].
anite, einer auf Cassandra aufbauenden         nutzt wird hierbei allerdings ein gesamter              Eine weitere Herausforderung bestand in
Zeitreihendatenbank [Dixo17]. Während          Architekturstack, der über Solr hinaus-                 der Entwicklung eines Grafana-Plug-ins
Influx nur clusterfähig in der kommerziel-     geht und die verteilte Suche auf Cassan-                für die Anbindung von Solr als Daten-
len, nicht-quelloffenen Variante InfluxEn-     dra-Ebene vollzieht. Dadurch wird das                   quelle. Im Gegensatz zu verschiedenen
terprise ist, ist Solr generell cluster- und   verteilte, hochverfügbare Suchen nach                   Datenquellen wie Kairos, Prometheus,
cloudfähig.                                    Peer-to-Peer- anstelle des Master-/Slave-               Graphite, CloudWatch, InfluxDB usw.
                                               Ansatzes ermöglicht, und zwar ohne ex-                  gibt es für Solr keine Plug-ins.
Beschaffenheit                                 terne Prozesse wie etwa ZooKeeper.                      Da Grafana auf Go und Angular basiert
des Architekturstacks                          Abbildung 2 zeigt die gesamte Architek-                 und Solr eine RESTful-Programmier-
                                               tur des beschriebenen NoSQL-basierten                   schnittstelle besitzt, lässt sich eine Integra-
Oberhalb der Datenbankschicht befin-           Monitorings. Daraus geht hervor, dass                   tion nach Best-Practice-Ansätzen durch-
det sich ein Solr-Index, der komplexere,       neben Cassandra und Solr noch drei wei-                 führen. Zu erwähnen ist, dass Grafana
lange und verschachtelte Abfragen er-          tere Schichten existieren: die WebLogic                 Angular 1 verwendet und es nicht geplant
möglicht. Solr verfügt über Statistikfea-      Server Farm, in der die zu loggenden Er-                ist, auf eine höhere Version zu migrieren.
tures wie die Abfrage von Perzentilen,         eignisse auftreten, Logstash, eine Vermitt-             Das liegt daran, dass die Entwickler von
Durchschnittswerten,       Standardabwei-      lerschicht zur Übertragung der Ereignisse/              Grafana die komplette Codebasis von
chungen oder der Approximation der             Lognachrichten an Cassandra, sowie die                  Angular zu dem leichtgewichtigen Frame-
Kardinalität von Attributwerten mittels        Präsentationsschicht Grafana, einschließ-               work React migrieren wollen, was sie
HyperLogLog-Algorithmus. Die Abfra-            lich Monitoring-Dashboard.                              selbst als mehrjähriges Vorhaben bezeich-
gen selbst können mittels JSON oder            Wie eingangs erwähnt, ist die Konzipie-                 nen [Graf15].
XML erfolgen, wobei hier die Wahl auf          rung und das Umsetzen eines dediziert                   Die aktuelle, auf AngularJS und Type­
JSON fiel, da das auf Grafana basieren-        auf hohe Anforderungen ausgerichteten                   Script aufbauende Plug-in-Architektur
de Frontend in JavaScript geschrieben ist      Architekturstacks gegenüber dem bloßen                  wird genutzt, um das eigens entwickelte
und sich JSON für REST-Schnittstellen          Einsatz einer OOTB-Lösung aufwendiger.                  Datasource-Plug-in für die Anbindung an
besser eignet.                                 Die Entwicklung des Cassandra-Output-                   Solr umzusetzen. Die Aufbauarchitektur
Solr unterstützt zudem mit der Facettie-       Plug-ins für Logstash zählt dazu. Es ist                zur Interaktion von Grafana und Solr
rung einen Mechanismus, der das Sucher-
gebnis anhand verschiedener Filterkriteri-
en organisiert, verfeinert und formatiert:
„Faceting is the mechanism provided by
Solr to categorize results in a meaningful
arrangement on indexed fields.“[NMV18]
Ein simples Beispiel ist die Facette der
Displaygröße mindestens 6 Zoll und Ge-
räteklasse Highend bei einer Smartpho-
ne-Suche in einem Onlineshop. Im Vor-
dergrund steht letztlich die analytische
Fähigkeit einer Suche. So können Facetten
beliebig verschachtelt werden. Solr bietet
auch eine Pivot-Facette. Sie gibt Aggre-
gatberechnungen in mehrere Ebenen von
hierarchischen Ergebnis-Facetten zurück,
die, ähnlich zu Pivot-Tabellen in Excel,
Werte aus unterschiedlichen Feldern pi-
votiert.
Die Antwort einer einzelnen Solr-Abfrage
enthält somit die Berechnung einer Mehr-
zahl von Aggregataufteilungen. Ein tref-
fendes Beispiel ist die Abfrage als 3-Le-
vel-Pivot-Facette der Anzahl von 4- bis
5-Sterne-Restaurants in den Top-3-Städ-
ten der Top-3-Bundesländer [GrPo14].
                                                                                  KLEINE DETAILS MACHEN
Das Ergebnis dieser Abfrage enthält die
Daten in dreifacher Aufschlüsselung –
                                                                                  DICH WAHNSINNIG?
nach den Feldern Bundesland, Stadt und                                            Du entwickelst Softwareprodukte mit Liebe zum Detail und
dem Sterne-Rating.                                                                findest Software muss kompromisslos gut funktionieren?
Setzt man Solr als Einzellösung ein, dann
                                                                    – Anzeige –

profitiert man von den Replikationsme-                                            Jetzt als Software Engineer bewerben.
chanismen, die Solr generell mitbringt.                                           www.yatta.de/karriere
Hierzu zählen ein cloud-orientierter Me-

                                                                                                                                                  43
Echtzeitmonitoring-Architektur mit Cassandra und Solr - Capgemini
06/2018                                             Fachartikel: Echtzeitmonitoring-Architektur mit Cassandra und Solr

Abb. 3: Interaktion des Grafana-Backends mit unserem Plug-in für die Anbindung von Solr als Datenquelle

über das eigens implementierte Solr-Plug-        die Trennung von Direktiven, Controller          MVC-Prinzip. Es gibt eine Klasse, die sich
in ist in Abbildung 3 dargestellt.               und Services in Module. So werden grund-         um die Kommunikation mit der jeweili-
Die Architektur ist gegliedert in Model          legende Querschnittsfunktionalitäten von         gen Datenquelle kümmert, beziehungs-
(Daten), Controller (Funktionen) und             Grafana dem Kernmodul (Grafana-Core)             weise um den Datenbezug (Data Retrie-
Views (graphische Oberfläche), was letzt-        zugeordnet, eher fachliche Funktionalitä-        val) aus der Quelle.
lich auf AngularJS zurückzuführen ist.           ten den spezifischen Modulen.                    Hier kommt der Controller SolrQueryCtrl
Des Weiteren gibt es Direktiven, welche          Wie funktioniert aber nun die Einbindung         ins Spiel, der verantwortlich für die Kon-
HTML um individuelle Funktionen er-              unseres Solr-Plug-ins sowie dessen Inter-        figuration der Metriken ist. Abbildung 4
weitern, und Services, welche in Form von        aktion mit dem Grafana-Backend? Plug-            zeigt das in Grafana integrierte Plug-in.
Singletons diverse Funktionen mit hohem          in-Module werden dynamisch mittels               Im Metrics-Tab wird die an Solr zu stel-
Wiederverwendungswert für Controller             SystemJS geladen (siehe Abbildung 3).            lende Abfrage konfiguriert sowie ein Ja-
oder Direktiven bereitstellen. Ein weiteres      Die Plug-in-Struktur orientiert sich an          vaScript, welches die von Solr gegebene
architekturelles Gliederungsinstrument ist       dem durch AngularJS vorgegebenen                 Antwort in das von Grafana vorgege­bene

Abb. 4: Screenshot des Grafana-Plug-ins für die Anbindung der Solr-Datenquelle

44
Echtzeitmonitoring-Architektur mit Cassandra und Solr - Capgemini
www.objektspektrum.de

  Literatur & Links
  [Dixo17] J. Dixon, Monitoring with Graphite: Tracking Dynamic Host and Application Metrics at Scale, O’Reilly, 2017

  [Graf15] Grafana Frontend: Code structure, architecture and plans for the future, siehe:
  https://github.com/grafana/grafana/wiki/Frontend:-Code-structure,-architecture-and-plans-for-the-future

  [Graf18] Grafana: Developing Datasource Plugins, siehe: http://docs.grafana.org/plugins/developing/datasources/

  [GrPo14] T. Grainger, T. Potter, Solr in Action, Manning, 2014

  [NMV18] S. Nair, C. Mehta, D. Vasoya, Mastering Apache Solr 7.x: An expert guide to advancing, optimizing, and scaling your enterprise search, Packt
  Publishing, 2018

  [Sul17] E. Sultanow u. a., Praxisbeispiel des IT-Systemhauses der Bundesagentur für Arbeit, in: OBJEKTspektrum, 06/17

  [Vita16] Vitalyros Logstash Cassandra Output Plugin, siehe: https://github.com/vitalyros/logstash-output-cassandra/

Format transformiert. Wie die JSON-                   denkbar: Es können beliebig komplexe                   stellte Vorgehen, einen Architekturstack
Antwort von Solr beschaffen ist, hängt                Abfragen an Solr im Grafana-Dashboard                  für komplexe Monitoringanforderungen
von der Abfrage ab. So können Daten in                eingestellt sowie eine eigene JavaScript-              aufzubauen.
unterschiedlichen Facetten abgefragt und              Funktion definiert werden, welche die                  Die Grundlage hierfür bildet eine hoch-
von Solr anforderungsgemäß per Facettie-              von Solr zurückgelieferten Ergebnisse                  skalierbare, auf dem DataStax-Archi-
rung unterschiedlich strukturiert und hie-            in das Grafana-Zeitreihenformat über-                  tekturstack basierende Infrastruktur, die
rarchisiert zurückgeben werden.                       führt.                                                 dank modularer Plug-in-Struktur flexibel
Wie in Abbildung 3 dargestellt, ist dem                                                                      erweiterbar ist. Im Gegenzug wurde dazu
Controller SolrQueryCtrl die View solr.               Resümee                                                ein eigenes Grafana-Plug-in entwickelt,
query.editor zugeordnet. Dieser View ist                                                                     das Solr als Datenquelle verwendet, so-
genau der Teil der grafischen Oberflä-                In der Architektenwelt gilt nicht immer                wie ein Cassandra-Output-Plug-in für
che, in dem die Solr-URL, -Abfrage und                das Out-of-the-Box-Prinzip. Es gibt Situ-              Logstash, welches die Log-Daten in diese
das dazugehörende JavaScript festgelegt               ationen, in denen eine vorhandene Infra-               Infrastruktur schreibt.
werden. Die Werte (URL, Abfrage und                   struktur nicht mit einer fertigen OOTB-                Zusammenfassend bleibt festzuhalten,
JavaScript) der Eingabefelder übergibt                Lösung zusammenpasst. In einem solchen                 dass sich der getätigte Aufwand gelohnt
Grafana beim Aufruf der in SolrData-                  Fall besteht die Herausforderung darin,                hat. Der Proof-of-Concept hat nachge-
Source implementierten Funktion query,                diejenige Architekturlösung zu erarbeiten,             wiesen, dass der Architekturstack die
innerhalb der die Kommunikation mit                   die unter den gegebenen Umständen am                   Anforderungen an den Umgang mit ge-
Solr stattfindet.                                     besten und für künftige Anforderungen                  schäftskritischen Monitoringdaten erfüllt
Mit dieser Offenheit in puncto Konfigu-               langfristig und nachhaltig geeignet ist.               und Betrieb und Weiterentwicklung des
ration sind zahlreiche Abfrageszenarien               Diesem Ansatz entspricht das hier vorge-               operativen Systems entlastet.          ||

                                                                   Die Autoren

      Dr. Eldar Sultanow                                     Oliver Weiß                                            Matthias Seßler
      (eldar.sultanow@capgemini.com)                         (oliver.weiss@capgemini.com)                           (matthias.sessler@arbeitsagentur.de)
      ist Architekt bei Capgemini Deutschland.               hat mehr als zehn Jahre Erfahrung in                   ist im IT-Systemhaus der Bundesagentur
      Davor war er fünf Jahre CIO eines mittel-              Softwaregroßprojekten des Public Sektors.              für Arbeit der Service-Betrieb-Infrastruktur
      ständischen Pharmagroßhändlers, nachdem                Er ist bei Capgemini aktiv und nimmt in                (SBI)-verantwortliche Lead Architekt für
      er über vier Jahre als JEE-Entwickler/Archi-           Kundenprojekten eine Führungsrolle bei der             Datenbanktechnologie. Davor war er 16
      tekt für ein E-Commerce-Unternehmen in                 Evolution komplexer Systemlandschaften                 Jahre bei Microsoft im Bereich Data Insights
      Berlin tätig war, das ein führendes Verbrau-           ein. Aktuell ist Oliver Weiß Chefarchitekt in          verantwortlich.
      cherinformationsportal Europas entwickelt              einem der größten öffentlichen IT-Verfahren,
      und betreibt.                                          welches Hunderttausende Transaktionen pro
                                                             Tag mit einem Jahresvolumen von über 25
                                                             Milliarden EUR vollzieht.

                                                                                                                                                             45
Echtzeitmonitoring-Architektur mit Cassandra und Solr - Capgemini
Sie können auch lesen