JMX正常性ルールの作成
1 つ以上の JMX メトリックで正常性ルールを作成するには、正常性ルールウィザードの [Affected Entities] パネルで、ルールのタイプを Node Health-JMX(接続プール、スレッドプールなど)に設定します。
正常性ルールが評価される JMX オブジェクトを決定します。一部の IT 部門では、さまざまなチームが異なる MBeans を担当しています。他の部門では、さまざまなチームが異なるノードやティアを担当しています。
組織における部門の構造により、JMX 正常性に対する方針、特にノードの正常性との関係性が決定されます。
- ノードを担当するチームメンバーから見た場合、1 つ以上の MBeans が正常でないノードを正常でないと考えるかどうか。どのノードを、またはいくつを基準とするのか。
- JMX インフラストラクチャを担当するチームメンバーとして、主な関心は、使用するノードに関係なく JMX データの正常性であるか、特定のノードにある特定の 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 インスタンス名を保持する同様のルールを作成し、チームで 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メトリックを評価するよう調整することもできます。