このページでは、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 またはチームメンバーがアラートを受信します。正常性ルールの構成は次のようになります。

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 にアラートが送信されるようにします。正常性ルールの構成は次のようになります。

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