Monitoring-Looker

Obwohl das Monitoring der Looker-Anwendung möglicherweise nicht unbedingt erforderlich ist, ist eine Einrichtung sehr wichtig. In den seltenen Fällen, in denen ein Problem mit Ihrem Server auftritt, ist es für Looker oft viel schwieriger oder unmöglich, Ihnen bei der Behebung des Problems zu helfen, es sei denn, Sie können zum Zeitpunkt des Vorfalls entsprechende Monitoring-Informationen zur Verfügung stellen.

Anwendungsmonitoring

URL (URL)

Es gibt zwei einfache Möglichkeiten zu prüfen, ob die Looker-Instanz ausgeführt wird.

  1. Hängen Sie /alive an die URL Ihrer Looker-Instanz an:

    https://instance_name.looker.com/alive

    Wenn Ihre Instanz auf eine Webanfrage antworten kann, erhalten Sie den HTTP-Statuscode 200 OK.

  2. Hängen Sie /availability an die URL Ihrer Looker-Instanz an:

    https://instance_name.looker.com/availability

    Diese URL führt eine umfassendere Prüfung mehrerer zugrunde liegender Subsysteme durch und gibt den Code 200 OK zurück, wenn alles in Ordnung ist.

Logo: JMX

Die virtuelle Java-Maschine, auf der Looker ausgeführt wird, kann über JMX überwacht werden.

Viele Monitoringanwendungen wie Zabbix und Nagios unterstützen JMX. Weitere Informationen finden Sie in der Dokumentation Ihrer Monitoringanwendung.

Looker-Startskript bearbeiten

Zum Aktivieren des JMX-Monitorings müssen Sie Ihr Looker-Startskript bearbeiten. Standardmäßig lautet der Name:

/home/looker/looker/looker

Suchen Sie nach den Java-Startparametern:

java \
  -XX:+UseG1GC -XX:MaxGCPauseMillis=2000 \
  -Xms$JAVAMEM -Xmx$JAVAMEM \
  -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps \
  -Xloggc:/tmp/gc.log  ${JAVAARGS} \
  -jar looker.jar start ${LOOKERARGS}

Ab Looker 6.18 wurde die Looker-JAR-Datei in zwei separate JAR-Dateien aufgeteilt: die Looker-Kern-JAR-Datei und eine Looker-JAR-Datei für Abhängigkeiten. Beim Start startet die JAR-Kerndatei automatisch die JAR-Dateien für Abhängigkeiten. Beide JAR-Dateien müssen sich im selben Verzeichnis befinden, damit die JAR-Kerndatei erfolgreich gefunden und gestartet werden kann.

Standardmäßig ist die Startoption --no-daemonise nicht festgelegt. Wenn Sie die Option --no-daemonise nicht festgelegt haben, fügen Sie einen Abschnitt nach der Zeile ein, der mit -Xms$JAVAMEM beginnt:

  -Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote \
  -Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.port=9910 \
  -Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.ssl=false \
  -Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.local.only=false \
  -Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.authenticate=true \
  -Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.access.file=${HOME}/.lookerjmx/jmxremote.access \
  -Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.password.file=${HOME}/.lookerjmx/jmxremote.password \

Wenn du die Startoption für --no-daemonise festgelegt hast, füge einen Abschnitt hinzu, der auf die folgende Zeile folgt und mit -Xms$JAVAMEM beginnt:

  -Dcom.sun.management.jmxremote \
  -Dcom.sun.management.jmxremote.port=9910 \
  -Dcom.sun.management.jmxremote.ssl=false \
  -Dcom.sun.management.jmxremote.local.only=false \
  -Dcom.sun.management.jmxremote.authenticate=true \
  -Dcom.sun.management.jmxremote.access.file=${HOME}/.lookerjmx/jmxremote.access \
  -Dcom.sun.management.jmxremote.password.file=${HOME}/.lookerjmx/jmxremote.password \

Verzeichnis .lookerjmx erstellen

Erstellen Sie als Nächstes das Verzeichnis .lookerjmx im Basisverzeichnis Ihres Looker-Nutzers und legen Sie die Berechtigungen fest:

sudo su - looker
mkdir ~/.lookerjmx
chmod 700 ~/.lookerjmx
cd ~/.lookerjmx

JMX-Dateien erstellen

Erstellen Sie mit Ihrem bevorzugten Texteditor eine Datei im neuen Verzeichnis jmxremote.access mit folgendem Inhalt. Sie können ihn auch an Ihre Umgebung anpassen:

monitorRole   readonly
controlRole   readwrite \
              create javax.management.monitor.*,javax.management.timer.* \
              unregister

Erstellen Sie als Nächstes eine Datei namens jmxremote.password im selben Verzeichnis mit folgendem Inhalt und verwenden Sie dabei Ihre eigenen sicheren Passwörter:

monitorRole   some_password_here
controlRole   some_password_here

Berechtigungen festlegen

Achten Sie darauf, dass Java (und damit Looker) nicht gestartet wird, wenn jeder Nutzer mit Ausnahme des Looker-Nutzers die Passwortdatei lesen darf.

chmod 400 jmxremote.*

Looker neu starten

Looker muss neu gestartet werden, um JMX zu aktivieren. Führen Sie diesen Befehl *als Looker-Nutzer und nicht als Root* aus:

cd ~/looker
./looker restart

Ihre Looker-Instanz ist jetzt für das Remote-JMX-Monitoring auf Port 9910 mit dem von Ihnen angegebenen Passwort konfiguriert. Möglicherweise müssen Sie Ihre Firewalleinstellungen oder Netzwerk-ACLs ändern, damit Ihr Monitoringserver Netzwerkzugriff über diesen Port erhält.

Host monitoring

Für jeden Host, auf dem die Looker-Anwendung ausgeführt wird, empfehlen wir, mindestens die folgenden Leistungsmesswerte zu erfassen, grafisch darzustellen und zu warnen:

  • CPU-Auslastung: Last und Prozentsatz der verwendeten CPU
  • Arbeitsspeicherauslastung:Insgesamt belegt und Swap-Nutzung
  • Laufwerksnutzung

Benachrichtigungsgrenzwerte

Legen Sie zuerst einen Normalbereich fest. Leistungsdaten mit einer Looker-Instanz erfassen, die bei normaler Auslastung ausgeführt wird Sehen Sie sich die Leistungsgrafiken an und beobachten Sie die Spitzen. Wie viel Zeit Sie zum Erstellen der Baselines benötigen, hängt von Ihrem Unternehmen und Ihren Looker-Nutzungsmustern ab. Manche Unternehmen nutzen Looker jede Woche während der Geschäftszeiten in einem stabilen, wiederholbaren Muster. Andere Personen können Looker zu bestimmten Zeiten häufiger verwenden (z. B. am Ende jedes Monats).

Benachrichtigungen sollten in der Regel nur für Ereignisse gesendet werden, die umsetzbar sind. Wenn keine Benachrichtigungen vorhanden sind und Sie nichts tun müssen, wird die Wichtigkeit wichtiger Benachrichtigungen verborgen.

Die folgenden Grenzwerte können als Ausgangspunkt für Benachrichtigungen verwendet werden. Wenn die folgenden Werte 15 Minuten oder länger überschritten werden, ist möglicherweise ein manueller Eingriff erforderlich.

Messwert Warnung Kritisch Kommentare
CPU-Auslastung 2 4 Die Last für ein Einzelkernsystem sollte im Allgemeinen höchstens 1 betragen. Eine anhaltende, hohe Last führt zu geringer Leistung.
Verwendeter CPU-Prozentsatz 80 90 Eine hohe CPU-Auslastung führt zu schlechter Leistung.
Verwendeter Arbeitsspeicher in % 60 70 Eine hohe Arbeitsspeichernutzung kann darauf hindeuten, dass zu viel Arbeitsspeicher für Java zugewiesen ist.
Verwendeter Festplattenanteil 80 90 Achten Sie darauf, dass das Laufwerk nicht voll ist.

Zusätzliche Hinweise:

  • Systeme mit mehr als einem Kern können hohe CPU-Auslastungen verarbeiten, ohne die Leistung zu beeinträchtigen. Als Faustregel gilt, dass die kontinuierliche Auslastung nicht größer sein sollte als die Anzahl der Prozessorkerne.
  • Der Prozentsatz der gesamten CPU-Zeit, die verwendet wird, bevor ein System eine Leistungsverschlechterung verzeichnet, mit der Anzahl der CPU-Kerne im System. Mit anderen Worten: Ein Einzelkernsystem kann eine geringe Leistung aufweisen, wenn die CPU zu 80% ausgelastet ist, während ein 16-Kern-Host bei 95% Auslastung noch geeignet ist.
  • Eine hohe kontinuierliche CPU-Auslastung kann durch Aktualisierung der Hosthardware oder ein Upgrade auf eine größere Instanz behoben werden. Manchmal kann eine große Anzahl geplanter Tabellen oder abgeleitete Tabellen mit langer Abfrage reduziert oder effizienter gemacht werden, um die Leistung zu verbessern.

Nächste Schritte

Nachdem Sie das Monitoring eingerichtet haben, können Sie Looker-Sicherungen einrichten.