タイガー!タイガー!じれったいぞー!(SE編)

AS400, Java, JavaEE, JSF等の開発、習慣など。日々の気づきをまとめたブログ(備忘録)

【Zabbix】MetaSpaceを監視する

管理しているアプリで、恥ずかしながら「java.lang.OutOfMemoryError: Metaspace」を発生させてしまいました。

的確な対応かはわかりませんが、まずは Metaspace領域を増やしました。
これが再発防止になることを期待しています。

今回、このトラブルにより「ZabbixではMetaspace領域の監視ができるか?」という疑問がわきましたので、その結果を掲載しておきたいと思います。 (そもそも、Metaspace領域の監視の必要性があるかどうかは不明)

現状把握

まず、現在利用している「App Generic Java JMX」を確認したところ、Metaspaceの値は見つかりませんでした。

サイトで調べてみると、「App Generic Java JMX with MetaSpace」なるものがあり、こちらを使えばできるとのこと。

share.zabbix.com

しかしながら、Zabbix4.0以上のVersionが必要とありました。

App Generic Java JMX with MetaSpace (Min Zabbix version: 4.0.x / Created: 2019-11-12)

さあ、テスト機で構築です!

せっかくなので最新Verの5.2.6で試してみます。

Zabbix構築

blog.apar.jp

基本構築を行ってから、zabbix-java-gatewayを入れたら準備完了です。

# yum -y install zabbix-java-gateway
# systemctl start zabbix-java-gateway
# systemctl enable zabbix-java-gateway

# vim /etc/zabbix/zabbix_server.conf
    
  JavaGateway=127.0.0.1
  JavaGatewayPort=10052
  StartJavaPollers=1

# systemctl restart zabbix-server.service

Zabbixテンプレートの取得

Zabbix Share - App Generic Java JMX with MetaSpace

まずは上記のサイトより、テンプレートファイルを取得しましょう。

f:id:no14141:20210529115255j:plain

Zabbixテンプレートのインポート

「設定」の「テンプレート」を選択して、右上の「インポート」ボタンをクリック!

f:id:no14141:20210529115305j:plain

先にダウンロードしたXMLファイルをインポートします。

f:id:no14141:20210529115313j:plain

Java監視設定

監視対象のホストの設定で、「App Generic Java JMX with MetaSpace」を追加します。

f:id:no14141:20210529115322j:plain

そうしますと、Metaspaceのアイテムが存在しているじゃありませんかぁ!

f:id:no14141:20210529115412j:plain

Metaspaceグラフ確認

監視を開始して、グラフを見てますと・・・

f:id:no14141:20210529115420j:plain

きちんとMetaspaceのメモリ状況が取れていることがわかります。

f:id:no14141:20210529115429j:plain

今後、こちらのテンプレートを使う必要があるかは、今のところわかりませんが、 こうした「選択肢を持っている!」というだけで、安心感を手に入れることができます。

この違いは大きい!!

今回は、Metaspaceの監視ができるよというお話でした。

すぐにやる場合、Zabbixのversionを上げる必要があるのですが・・・。