Überwachung von Apache Solr und Lucidworks mit Zabbix

Wenn Sie Apache Solr in der Produktion einsetzen, verlassen Sie sich darauf, dass es eine solide Leistung erbringt, und erwarten,…

Wenn Sie Apache Solr in der Produktion einsetzen, verlassen Sie sich darauf, dass es eine solide Leistung erbringt, und erwarten, dass es jederzeit verfügbar ist. Selbst wenn Sie Ihre Einrichtung mit der erwarteten Daten- und Abfragelast getestet haben, kann etwas schief gehen. Diese Probleme zu lösen, wenn sie auftreten, verursacht nicht nur Ausfallzeiten, sondern ist auch eine sehr unangenehme Aufgabe. Stellen Sie sich schlaflose Nächte vor, wenn Sie versuchen herauszufinden, warum Ihr Produktionssystem mit einem OutOfMemory-Fehler ausgefallen ist. Ähnliche Situationen kommen häufiger vor, als man denkt – kein freier Festplattenspeicher, keine freien Dateideskriptoren, kein freier Speicher für den Cache des Betriebssystems, hohe CPU-Auslastung usw. Es gibt eine spezielle Klasse von Softwareprogrammen, die Überwachungssoftware genannt werden und unter System- und Netzwerkadministratoren weit verbreitet sind. In unserem Fall möchten wir nicht nur die Metriken auf Betriebssystemebene, sondern auch die internen Parameter von Solr überwachen und entsprechend handeln.

Lucidworks und Apache Solr liefern viele wertvolle Informationen über eine JMX-Schnittstelle, die Sie in Ihr Überwachungsprogramm einbinden können.

Zabbix ist eines der beliebtesten Open-Source-Überwachungstools. Es verfügt über viele Funktionen wie eine benutzerfreundliche Weboberfläche, verschiedene Möglichkeiten zum Sammeln von Metrikdaten, die Möglichkeit, diese Daten dauerhaft zu speichern, integrierte Diagramme, Benachrichtigungen und Warnmeldungen, flexible Konfiguration und vieles mehr. Eines der überzeugendsten Merkmale der Integration mit Apache Solr ist die integrierte JMX-Unterstützung (nur in der Zabbix 2.0 Beta-Version verfügbar). Mit dieser Funktion können Sie den Zabbix-Server einfach so konfigurieren, dass er JMX-Metriken aus jeder Lucidworks- oder Solr-Anwendung abruft. Der Grund dafür ist, dass alle Konfigurationseinstellungen (JMX-Attribute, Graphen, Trigger) zentral auf einem Zabbix-Server gespeichert werden. Das bedeutet, dass Sie mit einem einzigen Klick ein neues Attribut für alle überwachten Server hinzufügen oder die Abrufhäufigkeit für Server ändern können.

Hier finden Sie Beispielgrafiken, die Sie in Zabbix erstellen können:

1. Gesamtzahl der Dokumente im Solr-Index

Gesamtzahl der Dokumente Solr Index

2. Suchaktivität – Anzahl der Suchanfragen, Fehler und Timeouts

Solr Anfrage-Handler

Solr-Request-Handler bieten einen kumulativen Zähler für die Anzahl der Anfragen, aber Sie sind wahrscheinlich eher an der Anzahl der Suchanfragen pro bestimmter Zeitspanne interessiert, z.B. pro Minute oder pro Sekunde. Der Trick dabei ist, dass Zabbix eine Möglichkeit bietet, die Überwachung so einzurichten, dass nicht der Wert als solcher, sondern als Delta (einfacher Änderungswert oder Geschwindigkeit pro Sekunde) gespeichert wird.

3. Solr Dokumentoperationen (Hinzufügen, Löschen nach ID oder Abfrage)

Solr Dokument Operationen

4. Krabbeltätigkeit

Lucidworks Crawling

Lucidworks bietet verschiedene Konnektoren/Crawler, mit denen Sie Dokumente in Solr indizieren können. Außerdem bietet es zusätzliche Statistiken über das Crawler-Verhalten, wie z.B. die Gesamtzahl der Dokumente, neue und gelöschte Dokumente, die Anzahl der aktualisierten Dokumente beim iterativen Crawlen, Fehlschläge usw.

5. Solr-Indexoperationen (Übertragungen, Optimierungen, Rollbacks)

Solr Index Operationen

6. Suche Durchschnittliche Antwortzeit

Durchschnittliche Antwortzeit der Solr-Suche

Solr Search Request Handler liefert den kumulativen Wert avgTimePerRequest. Das Problem bei diesem Attribut ist, dass, wenn Ihre Anwendungen über einen längeren Zeitraum in der Produktion laufen, kurzfristige Leistungsprobleme keine nennenswerten Auswirkungen auf diese aggregierte Metrik haben werden. Die Lösung ist die Verwendung eines von Zabbix berechneten Elements zur Delta-Änderung für die Attribute totalTime und requests. Hier ist ein mathematischer Ausdruck zur Berechnung der durchschnittlichen Suchantwortzeit für die letzten 5 Minuten:

sum("jmx["solr/collection1:type=/lucid,id=org.apache.solr.handler.StandardRequestHandler","totalTime"]",300)/sum("jmx["solr/collection1:type=/lucid,id=org.apache.solr.handler.StandardRequestHandler","requests"]",300)

7. Aufwärmzeit für Solr-Sucher

Solr Suche

Dies ist eine wichtige Kennzahl, wenn Sie eine schnelle Commit-Rate (Indizierung nahezu in Echtzeit) anstreben und keine Abstriche bei der schnellen Facettierungsleistung machen wollen. Sie können das Überwachungstool so konfigurieren, dass es einen Alarm sendet, wenn die Aufwärmzeit einen vordefinierten Schwellenwert überschreitet.

8. Statistiken zu Filtern, Abfrageergebnissen und Dokumenten-Caches (Cache-Größe, Treffer, Trefferquote, Evictions usw.)

Filter-Cache Filter-Cache-Trefferrate Größe des Dokument-Cache Trefferquote im Dokument-Cache Größe des Cache für Abfrageergebnisse Trefferquote der Abfrageergebnisse im Cache

9. Java Heap-Speicherverwendung

Java Heap-Speicherverbrauch

Wie kann ich wissen, ob mein Suchserver ausgefallen ist?

Es gibt zwei Möglichkeiten – die offensichtliche ist, Ihr Überwachungstool so einzurichten, dass es Suchanfragen stellt und den Antwortstatus oder einen bestimmten Text auf einer Suchergebnisseite überprüft. Eine andere Möglichkeit besteht darin, zu prüfen, wann Ihr Überwachungstool das letzte Mal ein beliebiges JMX-Attribut von Ihrer Anwendung abgerufen hat, und anzunehmen, dass der Server ausgefallen ist, wenn dies länger als erwartet dauert. In Zabbix gibt es eine spezielle Funktion nodata, mit der Sie dies erreichen können.

Wie kann ich wissen, ob ich an eine Grenze meines Servers stoße und proaktiv darauf reagieren?

Dies ist ein komplexes Thema, denn es gibt viele Dinge, die schief gehen können (z.B. JVM-Heap-Speicher, CPU-Last, Festplattenspeicher, Dateideskriptoren usw.) und Sie sollten sie alle überwachen. Zabbix bietet großartige Beispielvorlagen für OS- und Java-Trigger, mit denen Sie all diese Parameter im Auge behalten können. Weitere Informationen über die Unterstützung von Solr und Lucidworks JMX, Anleitungen zur Konfiguration von Zabbix und Nagios, Zabbix-Konfigurationsvorlagen und andere hilfreiche Tipps finden Sie im Abschnitt Integration von Überwachungsdiensten im Lucid-Dokumentationsportal.

You Might Also Like

Analytics Studio: Verwandeln Sie Ihre E-Commerce-Daten in verwertbare Einblicke

Entdecken Sie, wie Analytics Studio Teams in die Lage versetzt, datengestützte Entscheidungen...

Read More

Wenn KI schief geht: Fehlschläge in der realen Welt und wie man sie vermeidet

Lassen Sie nicht zu, dass Ihr KI-Chatbot einen 50.000 Dollar teuren Tahoe...

Read More

Lucidworks Kernpakete: Branchenoptimierte KI-Such- und Personalisierungslösungen

Entdecken Sie unsere umfassenden Core Packages, die Analytics Studio, Commerce Studio und...

Read More

Quick Links

Diese Site ist auf wpml.org als Entwicklungssite registriert. Wechseln Sie zu einer Produktionssite mit dem Schlüssel remove this banner.