JBoss EAP 7.4 のメトリクス値(ヒープサイズ、DBコネクション等)をZabbixに取り込んでJBossを監視できることを確認した。
確認した環境
- Zabbix 6.2 (dockerイメージ使用)
- Jboss EAP 7.4(スタンドアローン)
- Java 1.8.0_221
- Windows 10
確認内容
JBoss起動
Windows上にJBossを配置し、起動バッチファイルを実行する。
ローカルホスト以外からもmanagementインターフェースにアクセスできるように
JBoss起動パラメタに、-Djboss.bind.address.management=0.0.0.0を追加
standalone.bat -b 0.0.0.0 -Djboss.bind.address.management=0.0.0.0
curlコマンドでJBossのメトリクス情報を取得できることを確認
JBossのメトリクスは、http://<ホスト名>:9990/metricsから取得できる。
Zabbixに取得結果を取り込むため、Zabbix Serverにログインし、JBossへアクセスできることを確認。以下の例では、JBoss ServerのIPは「192.168.11.6」
curl http://192.168.11.6:9990/metrics
実行結果は、Prometheusと同じフォーマットで出力される。
itemの追加 metrics実行結果をHTTP agentを使用して取得
Zabbix Serverの監視ホストにJBoss serverを追加し、Itemを追加する。
HTTP ageentを使用して、metricsをHTTPのGETでリクエストした結果をテキストとして取り込むよう設定。
Item追加2 Dependent Itemを使用してmetricsの実行結果から監視対象を取り込む
以下の例では、8080ポートの接続コネクション数を取得する。
- PreprocessingでPrometheus patternを選択
- パラメタは以下を設定
jboss_io_connection_count{worker="default",server="/0.0.0.0:8080"} - グラフ表示のため、Numeric(float)として取り込む