3 ソースからのセットアップ
概要
ソースからインストールした場合、以下の情報は Zabbix Javaゲートウェイ の設定に役立ちます。
ファイルの概要
ソースから Javaゲートウェイを取得した場合、$PREFIX/sbin/zabbix_java 配下にシェルスクリプト、JAR ファイル、および設定ファイル一式が配置されているはずです。
これらのファイルの役割を以下に示します。
bin/zabbix-java-gateway-$VERSION.jar
Javaゲートウェイの JAR ファイル本体です。
lib/logback-core-1.5.16.jar
lib/logback-classic-1.5.16.jar
lib/slf4j-api-2.0.16.jar
lib/android-json-4.3_r3.1.jar
Javaゲートウェイの依存ライブラリです: Logback、SLF4J、および Android JSON ライブラリ。
lib/logback.xml
lib/logback-console.xml
Logback 用の設定ファイルです。
shutdown.sh
startup.sh
Javaゲートウェイを起動および停止するための便利なスクリプトです。
settings.sh
上記の startup および shutdown スクリプトから読み込まれる設定ファイルです。
Javaゲートウェイの設定と起動
デフォルトでは、Javaゲートウェイはポート 10052 で待ち受けます。Javaゲートウェイを別のポートで実行する予定がある場合は、settings.sh スクリプトで指定できます。
この指定方法やその他のオプションについては、Java gateway configuration file の説明を参照してください。
ポート 10052 は IANA registered ではありません。
設定に問題がなければ、startup.sh スクリプトを実行して Javaゲートウェイを起動できます。
./startup.sh
同様に、Javaゲートウェイが不要になったら、shutdown.sh スクリプトを実行して停止します。
./shutdown.sh
サーバーやプロキシとは異なり、Javaゲートウェイは軽量で、データベースを必要としない点に注意してください。
Javaゲートウェイを使用するためのサーバーの設定
Javaゲートウェイが起動して稼働している状態になったら、Zabbix サーバーに Zabbix Javaゲートウェイの場所を指定する必要があります。
これは、サーバー設定ファイルで JavaGateway および JavaGatewayPort パラメータを指定して行います。
JMX アプリケーションが動作しているホストが Zabbix プロキシによって監視されている場合は、代わりにプロキシ設定ファイルで接続パラメータを指定します。
JavaGateway=192.168.3.14
JavaGatewayPort=10052
デフォルトでは、サーバーは JMX 監視に関連するプロセスを起動しません。
ただし、これを使用したい場合は、Java poller の事前フォーク済みインスタンス数を指定する必要があります。
これは、通常の poller や trapper を指定するのと同じ方法で行います。
StartJavaPollers=5
設定が完了したら、サーバーまたはプロキシを再起動することを忘れないでください。
Javaゲートウェイのデバッグ
Javaゲートウェイに問題がある場合、または Webインターフェースで表示されるアイテムに関するエラーメッセージが十分にわかりやすくない場合は、Javaゲートウェイのログファイルを確認するとよいでしょう。
既定では、Javaゲートウェイはログレベル "info" で /tmp/zabbix_java.log ファイルに動作を記録します。
この情報だけでは不十分な場合があり、ログレベル "debug" の情報が必要になることがあります。
ログレベルを上げるには、lib/logback.xml ファイルを変更し、<root> タグの level 属性を debug に変更します。
<root level="debug">
<appender-ref ref="FILE" />
</root>
Zabbix サーバーや Zabbix プロキシとは異なり、logback.xml ファイルを変更した後に Zabbix Javaゲートウェイを再起動する必要はありません。logback.xml の変更は自動的に反映されます。
デバッグが終わったら、ログレベルを "info" に戻せます。
別のファイルや、データベースのようなまったく別の媒体にログを出力したい場合は、必要に応じて logback.xml ファイルを調整してください。
詳細は Logback Manual を参照してください。
デバッグ目的では、Javaゲートウェイをデーモンではなくコンソールアプリケーションとして起動すると便利な場合があります。
その場合は、settings.sh 内の PID_FILE 変数をコメントアウトします。
PID_FILE が省略されると、startup.sh スクリプトは Javaゲートウェイをコンソールアプリケーションとして起動し、Logback は lib/logback-console.xml ファイルを使用します。この設定ではコンソールへのログ出力に加え、ログレベル "debug" も有効になります。
最後に、Javaゲートウェイはログ記録に SLF4J を使用しているため、適切な JAR ファイルを lib ディレクトリに配置することで、Logback を任意のフレームワークに置き換えられます。
詳細は SLF4J Manual を参照してください。
JMX監視
詳細は JMX monitoring ページを参照してください。