JMX監視で(最近の?)WebLogicの監視はできません!【MIRACLE ZBX 2.0, 2.2】
JMX監視のコードを調べていくと泣きたくなるような実装でした。(最近の?)WebLogicの監視は諦めましょう。
JMX監視の調査
お客様より依頼があり、JMX監視にてWebLogicの監視が可能かどうかを調査しました。頂いたログにはログインは行えているようだったのですが、値の取得ができずにエラーが返信されていました。
WebLogicの監視URLは?
こういった個別のアプリケーションに詳しくなく、どうしても検索エンジン頼りになってしまうことがあります。
調査してみますと、こういったオラクルさんのページや第三者のページに行き当たります。
でも、情報が錯綜しているような…
Zabbix側の実装はどうなっていた?
そして、Zabbix側のソースコードはどうなっているかというと?(zabbix-2.2.10を使用)
src/zabbix_java/src/com/zabbix/gateway/JMXItemChecker.java
49 public JMXItemChecker(JSONObject request) throws ZabbixException
50 {
...
58 url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + conn + ":" + port + "/jmxrmi");
決め打ち…(涙)
これでは、上記URLで紹介されているアクセス用URLでは全くアクセスできません。
ということで、パッチを作成しいろいろテストしたところでは、下記のURLで監視が行えました。
service:jmx:iiop///jndi/iiop://<server address>:<port>/weblogic.management.mbeanservers.runtime
この件については、パッチを投稿したところ、既にZBX-1274にて議論されています。もうちょっとさくさくっと修正して欲しいな~と思ったり。それと、監視用URLはインターフェイスと紐付けて構わないので、監視用のキーにURLの一部を取り込むのではなく、ホストサイドの設定の保存すべきかと思います。
それにしてもオラクルさんの資料でも正しいものは書かれていないし…