Das Monitoring der Looker-Anwendung scheint nicht unbedingt erforderlich zu sein, aber die Einrichtung ist sehr wichtig. In den seltenen Fällen, in denen mit Ihrem Server etwas schiefgeht, ist es oft viel schwieriger oder unmöglich, Ihnen von Looker zu helfen, das Problem zu beheben, es sei denn, Sie können zum Zeitpunkt des Vorfalls entsprechende Monitoring-Informationen zur Verfügung stellen.
Anwendungsmonitoring
URL
Es gibt zwei einfache Möglichkeiten, um zu prüfen, ob Ihre Looker-Instanz ausgeführt wird.
Hängen Sie
/alive
an die URL Ihrer Looker-Instanz an:https://instance_name.looker.com/alive
Wenn Ihre Instanz auf eine Webanfrage reagieren kann, erhalten Sie den HTTP-Statuscode „200 OK“.
Hängen Sie
/availability
an die URL Ihrer Looker-Instanz an:https://instance_name.looker.com/availability
Diese URL führt eine vollständigere Prüfung mehrerer zugrunde liegender Subsysteme durch und antwortet außerdem mit einem HTTP-Statuscode mit 200 OK, wenn alles in Ordnung ist.
Logo: JMX
Die virtuelle Java-Maschine, auf der Looker ausgeführt wird, kann über JMX überwacht werden.
Viele Überwachungsanwendungen wie Zabbix und Nagios unterstützen JMX. Weitere Informationen finden Sie in der Dokumentation Ihrer Monitoring-Anwendung.
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-Core-JAR-Datei und eine Looker-Abhängigkeiten. Beim Start startet die JAR-Kerndatei automatisch die Abhängigkeiten-JAR-Datei. Beide JAR-Dateien müssen sich im selben Verzeichnis befinden, damit die JAR-Datei mit den Abhängigkeiten 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 Sie die Startoption für --no-daemonise
festgelegt haben, fügen Sie nach der Zeile, die mit -Xms$JAVAMEM
beginnt, einen Abschnitt hinzu:
-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
unter dem 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 sie für Ihre Umgebung anpassen:
monitorRole readonly
controlRole readwrite \
create javax.management.monitor.*,javax.management.timer.* \
unregister
Erstellen Sie als Nächstes mit demselben eigenen Passwort eine Datei namens jmxremote.password
im selben Verzeichnis mit folgendem Inhalt:
monitorRole some_password_here
controlRole some_password_here
Berechtigungen festlegen
Sorgen Sie dafür, dass Java (und damit Looker) nicht gestartet wird, wenn Nutzer außer dem Looker-Nutzer die Passwortdatei lesen können.
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 die Remote-JMX-Monitoring an Port 9910 mit dem von Ihnen angegebenen Passwort konfiguriert. Möglicherweise müssen Sie Ihre Firewalleinstellungen oder Netzwerk-ACLs ändern, damit der Monitoringserver auf diesen Port zugreifen kann.
Host monitoring
Wir empfehlen für jeden Host, der die Looker-Anwendung ausführt, mindestens die folgenden Leistungsmesswerte zu erfassen, grafisch darzustellen und zu melden:
- CPU-Auslastung: Last und Prozentsatz der verwendeten CPU
- Arbeitsspeicherauslastung:Gesamtnutzung und genutzter Austausch
- Laufwerksnutzung
Benachrichtigungsgrenzwerte
Damit Sie Grenzwerte für Benachrichtigungen festlegen können, müssen Sie zuerst einen Normalbereich festlegen. Erfassen Sie Leistungsdaten mit einer Looker-Instanz, die unter normaler Last ausgeführt wird. Sehen Sie sich die Leistungsgrafiken an und beobachten Sie die Spitzen. Wie lange es dauert, bis die Baselines ermittelt werden, hängt von Ihrem Unternehmen und Ihren Looker-Nutzungsmustern ab. Manche Unternehmen nutzen Looker jede Woche in einem stabilen, wiederholbaren Muster. Andere können Looker zu bestimmten Zeiten (z. B. am Monatsende) stärker nutzen.
Im Allgemeinen sollten Benachrichtigungen nur für Ereignisse gesendet werden, die berücksichtigt werden können. Werden nichts erledigt, wird die Benachrichtigung nicht so wichtig.
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 manuelles Eingreifen erforderlich.
Messwert | Warnung | Kritisch | Kommentare |
---|---|---|---|
CPU-Auslastung | 2 | 4 | Die Last sollte bei einem System mit einem Kern mindestens 1 betragen. Eine anhaltend hohe Last führt zu einer schlechten Leistung. |
Verwendete CPU in % | 80 | 90 | Eine hohe CPU-Nutzung führt zu schlechter Leistung. |
Verwendeter Arbeitsspeicher in % | 60 | 70 | Eine hohe Arbeitsspeichernutzung kann darauf hindeuten, dass zu viel Arbeitsspeicher Java zugewiesen wird. |
Verwendete Festplatte | 80 | 90 | Achten Sie darauf, dass das Laufwerk nicht voll ist. |
Zusätzliche Hinweise:
- Systeme mit mehr als einem Kern können hohe CPU-Lasten bewältigen, ohne die Leistung zu beeinträchtigen. Als Faustregel gilt, dass die kontinuierliche Last nicht größer sein sollte als die Anzahl der Prozessorkerne.
- Der Prozentsatz der insgesamt verwendeten CPU-Zeit, bevor ein System zu Leistungseinbußen führt, skaliert mit der Anzahl der CPU-Kerne im System. Mit anderen Worten: Ein System mit einem einzelnen Prozessor kann eine schlechte Leistung aufweisen, wenn die CPU zu 80% ausgelastet ist. Ein Host mit 16 Kernen kann hingegen bei einer Auslastung von 95% immer noch genutzt werden.
- Eine hohe, dauerhafte CPU-Auslastung kann durch Aktualisieren der Hosthardware oder durch ein Upgrade auf eine größere Instanz behoben werden. Manchmal lässt sich eine große Anzahl geplanter Looks oder aus langen Abfragen abgeleitete Tabellen reduzieren oder effizienter gestalten, um die Leistung zu verbessern.
Nächste Schritte
Nachdem Sie Monitoring eingerichtet haben, können Sie Looker-Sicherungen einrichten.