このページでは、JMX 正常性ルールの概要について説明します。JMX 正常性ルールは、JMX メトリックに基づき、モニタリングされている Java アプリケーションにおけるエンティティの正常性ステータスを確立します。

JMXインスタンス名

JMXメトリックに基づいた正常性ルールの場合、JMXインスタンス名で呼ばれるノードまたはエンティティの正常性ルールを作成できます。JMXインスタンス名で正常性ルールを作成する場合、特定のノードに制限することも選択できます。ノードで正常性ルールを作成する場合、特定の JMXインスタンス名に制限することを選択できます。

JMXメトリックは、JMXメトリックパス、JMXインスタンス名、およびメトリック名で識別されます。これらは、Splunk AppDynamics の [JMX metric MBean Configuration] 画面で指定される [Metric Path]、[Object Name]、[Match Pattern]、および [Metric Name] フィールドにより決定されます。インスタンス名はオブジェクト一致パターンにより戻される値から導き出されます。同じJMXインスタンス名の値も、メトリックパスが異なると別の値として区別されます。

JMXインスタンス名は、メトリックブラウザで適切なJMXメトリックパスの下に表示されます。特定のJMXメトリックは、各JMXインスタンス名の下でレポートされます。JMX メトリックの構成方法についての詳細は、「MBeanからのJMXメトリックの構成」を参照してください。

JMX正常性ルールの作成

1 つ以上の JMX メトリックで正常性ルールを作成するには、正常性ルールウィザードの [Affected Entities] パネルで、ルールのタイプを [Node Health-JMX](接続プール、スレッドプールなど)に設定します。 

正常性ルールが評価される JMX オブジェクトを決定します。一部の IT 部門では、さまざまなチームが異なる MBeans を担当しています。他の部門では、さまざまなチームが異なるノードまたはティアを担当しています。 

組織における部門の構造により、JMX 正常性に対する方針、特にノードの正常性との関係性が決定されます。

  • ノードを担当するチームメンバーから見た場合、1 つ以上の MBeans が正常でないノードを正常でないと考えるかどうか。どのノードを、またはいくつを基準とするのか。
  • JMX インフラストラクチャを担当するチームメンバーとして、主な関心は、使用するノードに関係なく JMX データの正常性であるか、特定のノードにある特定の JMX メトリックのみか。いったいどの製品が必要なのか、

UI のメトリック選択ツリーのカテゴリの下でメトリックを選択するのに役立つため、インスタンス識別子を持つ JMX ルールを使用することをお勧めします。


JMX 正常性ルールを構成し、それらをポリシーで使用するための最終的な質問は、JMX メトリックによって検出された異常なパフォーマンスをエージェントが報告するときに、どのユーザがアラートを受信するのか、ということです。正常性ルールの柔軟性により、JMX 正常性ルールを微調整して、適切な担当者が責任を持つコードに対してアラートを受け取るようにすることができます。 

影響を受けるエンティティをJMXインスタンス名またはノードのどちらにするかを選択します。どちらの場合も、次のいずれかの範囲が対象となるルールを設定できます。

  • アプリケーション内のすべてのJMXインスタンス名
  • 特定のJMXインスタンス名
  • アプリケーション内のすべてのノード
  • アプリケーション内の特定のノード
  • 指定されたティア内のノード
  • 与えられた条件に一致するノード

評価スコープに応じて、正常性ルールの評価を特定のJMXインスタンス名またはノードのいずれかに制限できます。

ノードに影響を与えるJMX正常性ルール

ある組織では、チームでノードを担当しています。Mark は WEB1_NODE、Tao は WEB2_NODE といったように担当が決まっています。

WEB1_NODE の MBean が重大条件に違反する JMX メトリックを生成し、そのノードの JMX オブジェクトを評価するために正常性ルールが設定される場合、Mark またはチームメンバーがアラートを受信します。正常性ルールの構成は次のようになります。

Health Rules for Nodes

Mark のチームの別メンバーが WEB1_NODE で使用される別の MBeans を担当する場合、評価に具体的な JMX インスタンス名を選択してルールを微調整することもできます。たとえば、この設定の最終決定で jdbc/ECommerceDB という JMX インスタンス名のメトリックのみ評価するようにルールを制限できます。

Mark のチームは、JMX インスタンス名を保持する同様のルールを作成し、Mark のチームで jdbc/OracleECommerceD という JMX インスタンス名を担当する全員にアラートするポリシーで使用することもできます。

また、MarkのチームはJMXオブジェクトの選択フィールドで別のメトリックパスを選択して、別のJMXメトリックのセットを評価する別のルールを作成することもできます。たとえば、[All Web Container Runtimes] を選択することが可能です。

WEB2_NODE の問題については、影響を受けたノードが WEB2_NODEである別の正常性ルールを作成し、問題のアラートが Tao のチームに送信されるよう設定することになります。

JMXインスタンス名に影響を与えるJMX正常性ルール

ある他の組織では、JMXインフラストラクチャのさまざまな部分をチームで担当しています。MBeans を使用するノードに関係なく、Mary は jdbc/OracleECommerceDB、Meera は jdbc/ECommerceDB の担当です。

つまり、jdbc/OracleECommerceDB のメトリックが重大条件に違反した場合、担当チームメンバーである Mary にアラートが送信されるようにします。正常性ルールの構成は次のようになります。

Health Rules for Instance Names

このルールは、アプリケーション内のすべてのノードまたは特定のノードのみの、指定されたJMXインスタンス名でJMXメトリックを評価するよう調整することもできます。