Auf dieser Seite

Java gateway

Übersicht

Das Zabbix Java gateway kann aus dem Quellcode oder über Pakete installiert werden.

Die native Unterstützung für die Überwachung von JMX-Anwendungen erfolgt in Form eines Zabbix-Daemons namens „Zabbix Java gateway“. Zabbix Java gateway ist ein in Java geschriebener Daemon. Um den Wert eines bestimmten JMX-Zählers auf einem Host zu ermitteln, fragt der Zabbix Server das Zabbix Java gateway ab, das die JMX Management API verwendet, um die betreffende Anwendung remote abzufragen. Für die Anwendung muss keine zusätzliche Software installiert werden. Sie muss lediglich mit der Befehlszeilenoption -Dcom.sun.management.jmxremote gestartet werden.

Das Java gateway akzeptiert eingehende Verbindungen vom Zabbix Server oder Proxy und kann nur als „passiver Proxy“ verwendet werden. Im Gegensatz zum Zabbix Proxy kann es auch von einem Zabbix Proxy verwendet werden (Zabbix Proxies können nicht verkettet werden). Der Zugriff auf jedes Java gateway wird direkt in der Konfigurationsdatei des Zabbix Servers oder Zabbix Proxys konfiguriert. Daher kann pro Zabbix Server oder Zabbix Proxy nur ein Java gateway konfiguriert werden. Wenn ein Host Datenpunkte vom Typ JMX agent und Datenpunkte anderer Typen enthält, werden nur die JMX agent-Datenpunkte zur Abfrage an das Java gateway übergeben.

Wenn ein Datenpunkt über das Java gateway aktualisiert werden muss, stellt der Zabbix-Server oder Proxy eine Verbindung zum Java gateway her und fordert den Wert an. Das Java gateway ruft den Wert seinerseits ab und übergibt ihn an den Server oder Proxy zurück. Daher speichert das Java gateway keine Werte zwischen.

Der Zabbix-Server oder Proxy verfügt über einen bestimmten Prozesstyp, der Verbindungen zum Java gateway herstellt und durch die Option StartJavaPollers gesteuert wird. Intern startet das Java gateway mehrere Threads, die durch die Option START_POLLERS gesteuert werden. Auf der Serverseite wird eine Verbindung beendet, wenn sie länger als "Timeout" Sekunden dauert. Das Java gateway ist möglicherweise weiterhin damit beschäftigt, den Wert vom JMX-Zähler abzurufen. Um dies zu lösen, stellt das Java gateway die Option TIMEOUT bereit, mit der Sie ein Timeout für JMX-Netzwerkoperationen festlegen können.

Siehe auch:

Server oder Proxy werden versuchen, Anfragen an ein einzelnes JMX-Ziel so weit wie möglich zu bündeln (beeinflusst durch die Datenpunkt-Intervalle) und sie für eine bessere Leistung in einer einzigen Verbindung an das Java gateway zu senden.

Es wird empfohlen, StartJavaPollers kleiner oder gleich START_POLLERS zu setzen; andernfalls kann es Situationen geben, in denen im Java gateway keine Threads verfügbar sind, um eingehende Anfragen zu bearbeiten. In solchen Fällen verwendet das Java gateway ThreadPoolExecutor.CallerRunsPolicy, was bedeutet, dass der Hauptthread die eingehende Anfrage bearbeitet und vorübergehend keine neuen Anfragen annimmt.

Wenn Sie versuchen, Java-Anwendungen auf Wildfly-Basis mit dem Zabbix Java gateway zu überwachen, installieren Sie bitte die neueste jboss-client.jar, die auf der Wildfly-Downloadseite verfügbar ist.