Monitoring ist ein wichtiges Thema. Egal ob es sich um die technische Überwachung einer Serverlandschaft handelt oder beispielsweise um das Tracking des Userverhaltens beim Einkauf in einem Onlineshop. Es ist immer wichtig, gezielt nach Informationen wie Conversion-Rate oder CPU-Auslastung zu „suchen“, diese aufzubereiten und darzustellen.
Sehr schnell kommt man bei diesem Thema mit dem ELK-Stack – Elasticsearch, Logstash und Kibana – von Elasticsearch in Berührung. Aber es geht natürlich auch anders.
Dieser Beitrag stellt den Auftakt einer Serie von Beiträgen dar, die sich dem Thema aus der Sicht von Solr widmet. Wir werden an Beispielen zeigen, wie man bereits jetzt Solr für Monitoring Aufgaben nutzen kann, wie man Solr mit bestehenden Tools bzw. Frameworks zusammenbringen kann und was für die Zukunft geplant ist.
Status Quo
Wo fängt man am besten mit so einer Blog Serie an? Man trägt mal zusammen was schon existiert.
Aktuell kann man Solr wunderbar nutzen und mit Suchen einen bestehenden Index abfragen. Liegen relevante Informationen im Index vor, lassen diese sich auswerten, auch für Monitoring-Zwecke. Für diese Auswertung gibt es jedoch noch kein grafisches UI, das sich durchsetzen konnte. Gerne schielen wir da zu Kibana, aber dies funktioniert nur mit Elasticsearch als Datenquelle. Es gibt ein Projekt „Kibana4Solr“, welches diese Lücke schließen will. Dieses Projekt wird momentan als Inhouse-Projekt bei uns geführt. Leider ist die Integration von Solr und Kibana noch nicht abgeschlossen, so dass es dabei bleibt: Aktuell gibt es kein grafisches UI für die Visualisierung von Daten eines Solr-Indexes.
Auf der anderen Seite – “Wie kommen die Daten in den Solr?” – ist man schon einen Schritt weiter. Im vergangenen Jahr wurde von Lucidworks Logstash4Solr veröffentlicht. Dieses Projekt dient dazu, Log-Dateien mittels Logstash zu verarbeiten und in Solr zu indexieren. Hierfür wurden von Lucidworks einige Erweiterungen und Anpassungen durchgeführt, nicht nur an Logstash selbst, sondern auch an Solr. Logstash-4-Solr haben wir bereits in einem früheren Blog kurz vorgestellt.
Eine weitere Möglichkeit ist ein kleines Projekt von mir, welches dafür gedacht ist, Log-Events nicht erst in einer Datei zu speichern, sondern direkt an den Solr zu schicken. Hierfür habe ich einen Log4j-Appender entwickelt, mit dem man sofort Log-Events in Solr speichern und somit in (Near) Real Time auswerten kann. Dies ist vor allem bei der Überwachung von Solr sehr hilfreich und minimiert Ausfallzeiten, da man rechtzeitig bei Performanceproblemen eigreifen kann.
Ausblick
Im nächsten Teil werfen wir einen Blick auf das Logstash und zeigen, wie man dieses Framework nutzen kann um Log Dateien in Solr zu indexieren.
WeiterfĂĽhrende Links
- ELK Stack – https://www.elasticsearch.org/overview/elkdownloads/
- Kibana4Solr LuceneRevolution – https://www.youtube.com/watch?v=jTRuhmbNRiA
- Logstash4Solr – https://logstash4solr.lucidworks.com/
- Log4j Appender – https://sourceforge.net/projects/log4jsolr.slugdev.p/
- Einführung in Logstash-4-Solr –https://www.shi-gmbh.com/einfuehrung-logstash-4-solr/