JMXのトラブルシューティング

使い方 コレクターデバッグ機能、JMX接続、認証情報、およびカウンタを確認できます。

一般的なカウンタに対してテストできるJMXコマンドは次のとおりです。

!jmx h = 10.171.6.189 port = 7091“ Catalina:type = GlobalRequestProcessor、name = *”

ユーザー名とパスワードが指定されていない場合、コマンドはターゲットホストに設定されている継承された資格情報に依存します。 これらを含めることでオーバーライドできます。

!jmx h=10.171.6.189 u=username p=password port=7091 "Catalina:type=GlobalRequestProcessor,name=*"

MBEANSのより深いチェック

カスタムJMXデータソースで作業する場合、最初にデータがレポートされていること、またはデータポイントが正しく構成されていることを確認する必要がある場合があります。 参照用に、既知の動作中のデータソースと比較することをお勧めします。

この例では、「CassandraJVMヒープとスレッドおよび稼働時間-」データソースを確認しています。 以下は、データソースに含まれるデータポイントの一部を確認するためのデータソースからの抜粋です。

データポイントHeapCommitを参照すると、MBEANは次のように識別されます。 java.lang:type = Memory:HeapMemoryUsage.committed。 これらのセクションは、MBean Object =に分類できます。 java.lang:type = Memory、Mbean属性= HeapMemoryUsage、および付加価値 コミット。 MBeanの構造の詳細については、以下を参照してください。 こちら.
オブジェクトはコロンで属性から区切られ、追加の値はピリオドで区切られていることに注意してください。 object:attribute.value

次の例は、このJMX情報を取得するいくつかの異なる方法を示しています。

  • 最初のクエリはMbeanオブジェクトを指しています
  • XNUMX番目のクエリには、Mbeanオブジェクトと属性が含まれます。
  • XNUMX番目、XNUMX番目、XNUMX番目のクエリは、その属性に対して異なる値を呼び出すことを示しています。

したがって、同等のデータポイント定義は次のようになります。

!jmx h=172.31.214.136 port=7199 u=username p=password "java.lang:type=Memory:HeapMemoryUsage.committed"

JMXの失敗したチェック

この例では、ホストが接続を許可していない場合、またはJMXカウンターが公開されていない場合に予想されるエラーの種類を確認できるため、構成の調査とポートの確認を開始する必要があります。

JMXの結果は異なる場合があります。 一部のオブジェクトでは結果が返される場合がありますが、他のオブジェクトでは返されません。

$!jmx h = 10.172.106.10 port = 1099 u = monitorRole p = xxxxxx'java.lang:type = * '
java.lang:type = * =>
メモリープール
メモリープール
メモリープール
GarbageCollector
ランタイム
ねじ切り
オペレーティング・システム
GarbageCollector
メモリープール
編集
メモリープール
MemoryManager
メモリープール
メモリ
ClassLoading
MemoryManager

$!jmx h = 10.172.106.10 port = 1099 u = monitorRole p = xxxxxx'java.lang:type = Memory '
java.lang:type = Memory =>
ObjectPendingFinalizationCount
HeapMemoryUsage
NonHeapMemoryUsage
冗長
ObjectName

$!jmx h = 10.172.106.10 port = 1099 u = monitorRole p = xxxxxx'java.lang:type = Memory:HeapMemoryUsage '
運用のための不十分な役割/資格情報
java.lang.SecurityException:操作に不十分なロール/資格情報
org.apache.karaf.management.KarafMBeanServerGuard.handleInvoke(KarafMBeanServerGuard.java:274)で

上記の結果は、Active Discoveryがインスタンスを正常に読み取って検出できることを示していますが、提供された資格情報では、値全体を読み取る権限がありません。

LogicBlogの他の記事

アンペアロボット 影

お店の話をしましょう。

STARTED GET