JMXメトリックの設定

MBeanにインストルメンテーションを追加するための一般的な設定は、以下のとおりです。

  • Name は、UI に表示する MBean の識別子です。
  • Exclude Rule は、一致する MBean を除外します。一致しないものは他のルールによって含まれる可能性があります。MBean属性の除外 MBean属性の除外
  • Enabled は、このルールを適用することを示します。
  • Metric Path でメトリックがメトリックブラウザに表示される場所を指定します。たとえば、以下のスクリーンショットでは、メトリックパスは JMX メトリック「Tomcat_JDBCConnectionPools」の「JDBC Connection Pools」です。

    注: では、フルパスを使用しないようにしてください。たとえば、Application Infrastructure Performance|account-services|JMX|Web Container Runtime. ではなく、Web Container Runtime を使用します。

MBeanのサブパネルには、監視するMBeanを特定するための一致条件を追加します。

  • Domain name は Java ドメインです。このプロパティは正確な名前である必要があり、ワイルドカード文字は使用できません。
  • Object Name Match Pattern はフルオブジェクト名のパターンです。このプロパティにはアスタリスクなどのワイルドカード文字を使用でき、名前または値のあらゆる組み合わせを一致させることができます。たとえば、「jmx:type=Hello,*」を指定すると、JMX MBean オブジェクト名「jmx:type=Hello,name=hello1,key1=value1」と一致します。
  • Instance Identifier は MBean ID です。

    [Instance Identifier] は JMX オブジェクトパターンのフィールドで、同じ属性のセットを持つ MBean カテゴリのランタイムコンテキストを分類するために使用できます。たとえば、ユーザカテゴリに 8090 と 8181 の 2 つの HTTP ポートがあるとします。ただし、currentThreadsBusymaxThreads などの属性は同じです。JMX パターンに HTTP と AJP の両方が含まれているが、ユーザが AJP スレッドプールではなく HTTP のみをモニタすることに関心がある場合、ユーザは「HTTP」と一致する名前の識別子を使用して、HTTP ポート関連の MBean データのみが収集されるようにします。

  • Advanced MBean Matching Criteria は属性値とマッチングするためのオプションのコントロールです。テストする属性名と値および一致条件(サブストリングマッチなど)を指定します。

インスタンス ID が指定されていない場合は、オブジェクト名の一致パターンに一致するリソースまたは属性のツリーが JMX メトリックブラウザに表示されます。

例 1

JMX -->
        ConnectionPoolModules
                        ConnectionPoolA

                                      PoolSize
                        ConnectionPoolB

                                       PoolSize 
JMX --> ConnectionPoolModules ConnectionPoolA

instanceIdentifierinstance identifier = path2 と指定すると、最上位レベルと第 2 レベルの属性が表示されます。

上のツリーは、次の例のように表示されます。PoolSize は、第 2 レベルと最上位レベルに表示されます。

JMX -->
        ConnectionPoolModules
                       PoolSize

                       ConnectionPoolA

                                      PoolSize
                        ConnectionPoolB

                                       PoolSize 
JMX --> ConnectionPoolModules PoolSize

たとえば、次のスクリーンショットは GCJMXMetric ルールの MBean 一致条件を示したものです。

JMX メトリックルールを追加するには、次の手順を実行します。

  1. JMX メトリックグループにルールを追加するために、JBoss(最上位レベル)を選択します。
  2. + Add > Rule をクリックします。
  3. [Advanced MBean Matching] セクションで、MBean 属性と完全に一致する属性を指定します(大文字と小文字は区別されます)。

一致したすべてのMBeanには、そのMBean属性に以下のようなメトリックを1つ以上定義できます。

  • Metric Getter Chain:式は、あらゆる値に対して実行できます。さらに、暗黙的な変換を使用するString型とBoolean型のためのGetterチェーンもサポートされています。「MBean Getter チェーン」を参照してください。
  • Metric Time Rollup:一定期間のメトリックの集計方法を指定します。データポイントを平均するか合計するか、あるいは期間内の最新のデータポイントを使用するかを選択できます。
  • Metric Cluster Rollup:階層にあるすべてのノードのパフォーマンスデータを使用し、階層のメトリックを集計する方法を定義します。データを平均するか合計するかを選択できます。
  • Metric Aggregator Rollup:エージェントが複数の測定値(観測値)を 1 分間隔でレポートされる観測情報にロールアップする方法を定義します。パフォーマンス上の理由から、エージェントは 1 分間隔でデータをコントローラにレポートします。「平均応答時間」のように、1分間に複数回測定(観測)されるメトリックもあります。Metric Aggregator Rollup設定は、エージェントがこのようなメトリックを集計する方法を決定します。データポイントの観測値の平均または合計を取ることも、最新の観測値を使用することも可能です。または、最新の観測値と以前の観測値との差分を使用することも可能です。

たとえば、MBean 属性の maxThreads は、JMX メトリックブラウザの Maximum Threads メトリックに次のようにマッピングされます。

maxThreads MBean 属性マッピング

例 2

たとえば、JBoss で次の Mbean からアクティブ カウント プロパティを取得するとします。

jboss.as:subsystem=datasources,data-source=MyDatasource_01,statistics=pool

次のように、メトリックルールを定義します。

Object name Match Pattern:jboss.as:subsystem=datasources,*,statistics=pool

Instance identifier: data-source

Attribute: ActiveCount

[Object Name Match Pattern] では、ワイルドカードも使用して複数のブランチを置き換えできます。「jboss.as:subsystem=datasources,whatever=another_level,whatever=another_level,data-source=MyDatasource_01,statistics=pool」では、「jboss.as:subsystem=datasources,*,statistics=pool」を使用できます。

インスタンス識別子は、次のように区切られたインスタンス化された要素です。

jboss.as:subsystem=datasources,data-source=MyDatasource_01,statistics=pool

jboss.as:subsystem=datasources,data-source=MyDatasource_02,statistics=pool

...

jboss.as:subsystem=datasources,data-source=MyDatasource_07,statistics=pool

したがって、インスタンス識別子として data-source を使用する必要があります。