Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

5 Zabbix Javaゲートウェイ

概要

JMX アプリケーションを監視するためのネイティブ サポートは、"Zabbix Java ゲートウェイ"と呼ばれる Zabbix デーモン形式で存在し、Zabbix 2.0 以降で利用可能になりました。 Zabbix Java ゲートウェイは、Java で書かれたデーモンです。 ホスト上の特定の JMX カウンター値を見つけるために、Zabbix サーバーは Zabbix Java ゲートウェイでクエリを実行します。Zabbix Java ゲートウェイは、JMX 管理 API を使用して対象のアプリケーションへリモートでクエリを実行します。 アプリケーションに追加のソフトウェアをインストールする必要はありません。コマンド ラインで-Dcom.sun.management.jmxremoteオプションを使用して起動するだけです。

Java ゲートウェイは、Zabbix サーバーまたはプロキシからの着信接続を受け入れ、"パッシブ プロキシ"としてのみ使用できます。 Zabbix プロキシとは違い、Zabbixプロキシからも使用できます。(Zabbix プロキシはzabbixプロキシにチェーンできません) 各 Java ゲートウェイへのアクセスは、Zabbix サーバーまたはプロキシ設定ファイルで直接設定されるため、Zabbix サーバーまたは Zabbix プロキシごとに設定できる Java ゲートウェイは 1 つだけです。 ホストに JMX エージェント タイプのアイテムとその他のタイプのアイテムがある場合、JMX エージェント アイテムのみが取得のために Java ゲートウェイに渡されます。

Java ゲートウェイ経由でアイテムを更新する必要がある場合、Zabbix サーバーまたはプロキシは Java ゲートウェイに接続して値を要求し、Java ゲートウェイはその値を取得してサーバーまたはプロキシに返します。 そのため、Java ゲートウェイは値をキャッシュしません。

Zabbix サーバーまたはプロキシには、オプション *StartJavaPollers によって制御される、Java ゲートウェイに接続する特定のタイプのプロセスがあります。 内部的には、Java ゲートウェイは START_POLLERS オプション によって制御される複数のスレッドを開始します。 サーバー側では、接続に Timeout 秒以上かかると終了しますが、Java ゲートウェイは JMX カウンターから値を取得するためにまだビジーである可能性があります。 これを解決するために、Java ゲートウェイには TIMEOUT** オプションがあり、JMX ネットワーク操作のタイムアウトを設定できます。

Zabbix サーバーまたはプロキシは、単一の JMX ターゲットへのリクエストを可能な限りプールし (項目間隔の影響を受けます)、パフォーマンスを向上させるためにそれらを単一の接続で Java ゲートウェイに送信しようとします。

StartJavaPollersSTART_POLLERS 以下にすることをお勧めします。そうしないと、Java ゲートウェイで着信要求を処理するスレッドを使用できない状況が発生する可能性があります。 このような場合、Java ゲートウェイは ThreadPoolExecutor.CallerRunsPolicy を使用します。これは、メイン スレッドが着信要求を処理し、一時的に新しい要求を受け入れないことを意味します。

Java ゲートウェイの取得

Zabbix Web サイト からダウンロードしたソースまたはパッケージから Java ゲートウェイをインストールできます。

以下のリンクを使用すると、Zabbix Java ゲートウェイを取得して実行する方法、JMX 監視に Zabbix Java ゲートウェイを使用するように Zabbix サーバー(または Zabbix プロキシ)を設定する方法、および特定の JMX カウンターに対応する Zabbix フロントエンドで Zabbix アイテムを設定する方法に関する情報にアクセスできます。

インストール元 手順 手順
ソース インストール セットアップ
RHEL/CentOS パッケージ インストール セットアップ
Debian/Ubuntu パッケージ インストール セットアップ