JMXのエラーに関して
お世話になっています。yutukiです。
■環境
* Ubuntu 14.04LTS + Cassandra 2.1 ・・・ 監視される側
* Ubuntu 14.04LTS + ZABBIX Proxy MySQL 3.0.3 + Java Gateway 3.0.3
* Ubuntu 14.04LTS + ZABBIX Server 3.0.3
上記の様な状態で、同じZABBIX Server上から2つのCassandraクラスターを監視しています。
またそれぞれのCassandraはJMX経由で監視を行っています。
■問題
片方のCassandraクラスターに属するCassandraのJMX監視が失敗、回復を繰り返し、非常に不安定な状態です。
* ほぼ同じ構成のもう片方のクラスターに属するCassandraへのJMX監視は失敗しません。
* 双方のクラスタ、およびZABBIX サーバ、Proxy、どれも高負荷という状態ではありません。
* 利用しているテンプレートも同様のものを使っています。
■ログ
java-gateway のログには次のようなログが記録されています。
確かにJMX接続には認証が必要な設定にしていますが、問題無く監視出来る出来る事もあります。
2016-06-29 03:28:42.207 [pool-1-thread-4] WARN com.zabbix.gateway.SocketProcessor - error processing request
com.zabbix.gateway.ZabbixException: java.lang.SecurityException: Authentication failed! Invalid username or password
Caused by: java.lang.SecurityException: Authentication failed! Invalid username or password
上記のような状態なのですが、このJMX監視を安定させる方法、或いは不安定な原因が分かる方いらっしゃるでしょうか?
以上よろしくお願いします。
TNK - 投稿数: 4753
数点確認させてください。
1点目は、「JMX監視が失敗、回復を繰り返し、非常に不安定」との
ことですが、失敗というのは、その不安定なCassandraクラスター
に対するすべてのアイテムが失敗するのですか?
成功するアイテムと失敗するアイテムとか傾向があったりしません
か?
特定のアイテムのみ失敗するような傾向があるのであれば、失敗す
るアイテムの設定を再度確認してください。
エラーメッセージのままであれば「Invalid username or password」
ですので認証情報(ユーザー名、パスワード)を指定している箇所に
問題がある可能性が高いと思われます。
2点目は、2つのCassandraクラスターは、同じJava Gatewayを経由
して監視されているのですか?
環境として挙げられているのが、サーバー3台分なのですが、どの
ような構成になっているのでしょうか?
Zabbixプロキシや監視対象のサーバーも分けられているのであれば、
全体的にどのような構成となっているのかもお教えください。
3点目は、「利用しているテンプレートも同様のものを使っていま
す。」と書かれていますが、「同様」ということは、「同じ」テン
プレートではないのですね?
同じではないのであれば、異なる部分がどこであるのかをお教えく
ださい。
yutuki - 投稿数: 21
TNKさん
レスありがとうございます。
> 1点目は、「JMX監視が失敗、回復を繰り返し、非常に不安定」とのことですが、失敗というのは、その不安定なCassandraクラスターに対するすべてのアイテムが失敗するのですか?
はい。
CassandraクラスタがA、Bと2つあります。
Aクラスタに属するCassandraノードへのJMX監視が成功したり失敗したりと不安定です。
Bクラスタに属するCassandraノードへのJMX監視は失敗しません。
> 成功するアイテムと失敗するアイテムとか傾向があったりしませんか?
> 特定のアイテムのみ失敗するような傾向があるのであれば、失敗するアイテムの設定を再度確認してください。エラーメッセージのままであれば「Invalid username or password」
> ですので認証情報(ユーザー名、パスワード)を指定している箇所に問題がある可能性が高いと思われます。
申し訳ありません。
正確にいうと、監視が失敗というのは「JMX経由の監視アイテムの結果が記録されない」状態の事を言っていました。
監視結果の値が記録される、記録されない期間が繰り返して発生しています。
そして記録されなくなったタイミングで、java-gatewayのログに認証失敗のエラーログが記録されています。
> 2点目は、2つのCassandraクラスターは、同じJava Gatewayを経由して監視されているのですか?環境として挙げられているのが、サーバー3台分なのですが、どのような構成になっているのでしょうか?
> Zabbixプロキシや監視対象のサーバーも分けられているのであれば、全体的にどのような構成となっているのかもお教えください。
Server
L Proxy/JavaGateway A - Cassandraクラスタ A
L Proxy/JavaGateway B - Cassandraクラスタ B
というような状況です。
Proxy側の問題の可能性も考慮して調査していますが、特にまだ差異は見付かって居ません。
> 3点目は、「利用しているテンプレートも同様のものを使っています。」と書かれていますが、「同様」ということは、「同じ」テンプレートではないのですね?
> 同じではないのであれば、異なる部分がどこであるのかをお教えください。
すいません。
こちらは「同じテンプレート」になります。
以上よろしくお願いします。
yutuki - 投稿数: 21
お世話になってます。yutuki です。
本件、完全な原因発覚とまではいきませんがエラーを修正する事は出来ました。
https://support.zabbix.com/browse/ZBX-7923
上記のページを見つけた為、Cassandraサーバに紐付いている全てのJMXの監視項目の精査を行いました。
結果、JMXのログインユーザ、パスワードを指定するマクロの文字列が間違っている箇所を見つけました。
この部分を修正した所、JMXの認証失敗のエラーは出なくなりました。
ただ引っかかるのは
* 何故エラーが片方のCassandraクラスタだけで出ていたのか
* 何故設定が間違っていたアイテムも値が取れていたのか
という点ですね・・・。
取り敢えず安定して取れる様になったので大丈夫かな、という事です。
お騒がせして申し訳ありません。
またTNKさん、レスありがとうございました。
以上よろしくお願いします。