Java Management Extensions (JMX) メトリクスの収集 - Amazon CloudWatch

Java Management Extensions (JMX) メトリクスの収集

CloudWatch エージェントを使用し、Java アプリケーションから Java Management Extensions (JMX) メトリクスを収集できます。

CloudWatch エージェントは、次のバージョンからこれらのメトリクスの収集をサポートしています。

  • JVM 8 以降

  • Kafka 0.8.2.x 以降

  • Tomcat 9、10.1、11 (ベータ)

Amazon EC2
JVM インスタンスで JMX を有効にする方法

CloudWatch エージェントが JMX メトリクスを収集できるようにするには、アプリケーションの JVM が com.sun.management.jmxremote.port システムプロパティを使用してポートにバインドする必要があります。

java -Dcom.sun.management.jmxremote.port=port-number -jar example.jar

詳細やその他の設定については、「JMX ドキュメント」を参照してください。

Amazon EKS
Java アプリケーションポッドで JMX を有効にする方法

CloudWatch Observability EKS アドオンを使用するとき、注釈を使用して JMX メトリクスを有効にする方法を管理できます。詳細については、「Amazon CloudWatch Observability EKS アドオンまたは Helm チャートを使用して CloudWatch エージェントをインストールする」を参照してください。ワークロードから JMX メトリクスを収集できるようにするには、PodTemplate セクションのワークロードマニフェストファイルに次の注釈を追加します。

  • instrumentation.opentelemetry.io/inject-java: "true"

  • 次の 1 つ以上。

    • JVM メトリクスの場合: cloudwatch.aws.amazon.com/inject-jmx-jvm: "true"

    • Kafka ブローカーメトリクスの場合: cloudwatch.aws.amazon.com/inject-jmx-kafka: "true"

    • Kafka コンシューマーメトリクスの場合: cloudwatch.aws.amazon.com/inject-jmx-kafka-consumer: "true"

    • Kafka プロデューサーメトリクスの場合: cloudwatch.aws.amazon.com/inject-jmx-kafka-producer: "true"

    • Tomcat メトリクスの場合: cloudwatch.aws.amazon.com/inject-jmx-tomcat: "true"

JMX メトリクスの収集を開始するには、CloudWatch エージェント設定ファイルの metrics_collected セクション内に jmx セクションを追加します。jmx セクションには、次のフィールドを含めることができます。

  • jvm - オプション。インスタンスから Java 仮想マシン (JVM) メトリクスを取得するように指定します。詳細については、「JVM メトリクスの収集」を参照してください。

    このセクションには、次のフィールドを含めることができます。

    • measurement – 収集する JVM メトリクスの配列を指定します。ここで使用できる値のリストについては、JVM メトリクスの収集 の表の [Metric] (メトリクス) 列を参照してください。

      各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。

      • rename – このメトリクスに別の名前を指定します。

      • unit – メトリクスのデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」の Unit に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。

  • kafka - オプション。インスタンスから Apache Kafka ブローカーメトリクスを取得するように指定します。詳細については、「Kafka メトリクスの収集」を参照してください。

    このセクションには、次のフィールドを含めることができます。

    • measurement – 収集する Kafka ブローカーメトリクスの配列を指定します。ここで使用できる値のリストについては、Kafka メトリクスの収集 の最初の表にある [メトリクス] 列を参照してください。

      各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。

      • rename – このメトリクスに別の名前を指定します。

      • unit – メトリクスのデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」の Unit に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。

  • kafka-consumer - オプション。インスタンスから Apache Kafka コンシューマーメトリクスを取得するように指定します。詳細については、「Kafka メトリクスの収集」を参照してください。

    このセクションには、次のフィールドを含めることができます。

    • measurement – 収集する Kafka ブローカーメトリクスの配列を指定します。ここで使用できる値のリストについては、Kafka メトリクスの収集 の 2 番目の表にある [メトリクス] 列を参照してください。

      各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。

      • rename – このメトリクスに別の名前を指定します。

      • unit – メトリクスのデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」の Unit に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。

  • kafka-producer - オプション。インスタンスから Apache Kafka プロデューサーメトリクスを取得するように指定します。詳細については、「Kafka メトリクスの収集」を参照してください。

    このセクションには、次のフィールドを含めることができます。

    • measurement – 収集する Kafka ブローカーメトリクスの配列を指定します。ここで使用できる値のリストについては、Kafka メトリクスの収集 の 3 番目の表にある [メトリクス] 列を参照してください。

      各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。

      • rename – このメトリクスに別の名前を指定します。

      • unit – メトリクスのデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」の Unit に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。

  • tomcat - オプション。インスタンスから Tomcat メトリクスを取得するように指定します。詳細については、「Tomcat メトリクスの収集」を参照してください。

    このセクションには、次のフィールドを含めることができます。

    • measurement – 収集する Tomcat メトリクスの配列を指定します。ここで使用できる値のリストについては、Tomcat メトリクスの収集 の表の [Metric] (メトリクス) 列を参照してください。

      各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。

      • rename – このメトリクスに別の名前を指定します。

      • unit – メトリクスのデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」の Unit に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。

jmx セクションには、オプションの append_dimensions フィールドを含めることもできます。

  • append_dimensions - オプション。process メトリクスにのみ使用する追加のディメンション。このフィールドを指定した場合、エージェントにより収集されるすべてのタイプのメトリクスに使用される append_dimensions フィールドで指定されたディメンションに加えて使用されます。

次のフィールドは Amazon EC2 専用です。
  • endpoint – JMX クライアントが接続するアドレス。形式は ip:port です。エンドポイントが localhost ではない場合、パスワード認証および SSL を有効にする必要があります。

  • metrics_collection_interval - オプション。設定ファイルの metrics_collection_interval セクションで指定されたグローバルな agent を上書きして、processes メトリクスを収集する頻度を指定します。

    この値は数秒で指定されます。例えば、10 と設定するとメトリクスが 10 秒ごとに収集されるようになり、300 と設定するとメトリクスが 5 分ごとに収集されように指定されます。

    この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。詳細については、「高解像度のメトリクス」を参照してください。

JMX がパスワード認証またはリモートアクセス用の SSL で有効になっていた場合、次のフィールドを使用できます。

  • password_file - オプション。パスワードへのキーの Java プロパティファイルを指定します。ファイルは読み取り専用であり、CloudWatch エージェントを実行しているユーザーに制限する必要があります。パスワード認証が有効になっている場合、com.sun.management.jmxremote.password.file プロパティで指定された JMX パスワードファイルのエントリと同じユーザー名およびパスワードのペアが必要です。SSL が有効になっている場合、keystore および truststore のエントリが必要であり、それぞれ javax.net.ssl.keyStorePassword および javax.net.ssl.trustStorePassword に対応します。

  • username – パスワード認証が有効になっている場合、指定されたパスワードファイルのユーザー名と一致するユーザー名を指定します。

  • keystore_path – SSL が有効になっている場合、Java キーストアへのフルパスを指定します。このキーストアは、プライベートキーおよびパブリックキーへの証明書で構成されます。javax.net.ssl.keyStore プロパティに対応します。

  • keystore_type – SSL が有効になっている場合、使用されているキーストアの種類を指定します。javax.net.ssl.keyStoreType プロパティに対応します。

  • truststore_path – SSL が有効になっている場合、Java トラストストアへのフルパスを指定します。これには、リモート JMX サーバーのパブリック証明書が含まれている必要があります。javax.net.ssl.trustStore プロパティに対応します。

  • truststore_type – SSL が有効になっている場合、使用されているトラストストアの種類を指定します。javax.net.ssl.trustStoreType プロパティに対応します。

  • remote_profile - オプション。サポートされている JMX リモートプロファイルは、SASL/PLAINSASL/DIGEST-MD5SASL/CRAM-MD5 の SASL プロファイルと組み合わせた TLS です。SASL/PLAINSASL/DIGEST-MD5SASL/CRAM-MD5TLS SASL/PLAINTLS SASL/DIGEST-MD5TLS SASL/CRAM-MD5 のいずれかである必要があります。

  • realm - オプション。リモートプロファイル SASL/DIGEST-MD5 が必要な領域。

  • registry_ssl_enabled – RMI レジストリ認証が有効になっている場合。JVM が com.sun.management.jmxremote.registry.ssl=true で設定されている場合、true に設定します。

  • insecure エージェントがローカルホスト以外のエンドポイント用に設定されている場合、true に設定して必要な検証をオプトアウトします。

次の内容は、CloudWatch エージェント設定ファイルの jmx セクションです。

{ "metrics": { "metrics_collected": { "jmx": [ { "endpoint": "remotehost:1314", "jvm": { "measurement": [ "jvm.memory.heap.init", "jvm.memory.nonheap.used" ] }, "kafka": { "measurement": [ "kafka.request.count", { "name": "kafka.message.count", "rename": "KAFKA_MESSAGE_COUNT", "unit": "Count" } ] }, "username": "cwagent", "keystore_path": "/path/to/keystore", "keystore_type": "PKCS12", "truststore_path": "/path/to/truststore", "truststore_type": "PKCS12" }, { "endpoint": "localhost:1315", "kafka-producer": { "measurement": [ "kafka.producer.request-rate" ] }, "append_dimensions": { "service.name": "kafka/1" } } ] } } }

JVM メトリクスの収集

CloudWatch エージェントを使用して Java 仮想マシン (JVM) メトリクスを収集できます。これを設定するには、CloudWatch エージェント設定ファイルの jmx セクション内に jvm セクションを追加します。

次のメトリクスを収集できます。

メトリクス ディメンション 説明

jvm.classes.loaded

[DEFAULT]

ロードされたクラスの合計数。

単位: なし

有意義な統計: 最小、最大、平均

jvm.gc.collections.count

[DEFAULT]、name

発生したガベージコレクションの合計数。

単位: なし

有意義な統計: 最小、最大、平均

jvm.gc.collections.elapsed

[DEFAULT]、name

蓄積ガベージコレクションのおおよその経過時間。

単位: ミリ秒

有意義な統計: 最小、最大、平均

jvm.memory.heap.init

[DEFAULT]

JVM がヒープのためにオペレーティングシステムにリクエストするメモリの初期量。

単位: バイト

有意義な統計: 最小、最大、平均

jvm.memory.heap.max

[DEFAULT]

ヒープに使用できるメモリの最大量。

単位: バイト

有意義な統計: 最大

jvm.memory.heap.used

[DEFAULT]

現在のヒープメモリの使用量。

単位: バイト

有意義な統計: 最小、最大、平均

jvm.memory.heap.committed

[DEFAULT]

ヒープに使用できることが保証されているメモリの量。

単位: バイト

有意義な統計: 最小、最大、平均

jvm.memory.nonheap.init

[DEFAULT]

JVM がヒープ以外の目的でオペレーティングシステムにリクエストするメモリの初期量。

単位: バイト

有意義な統計: 最小、最大、平均

jvm.memory.nonheap.max

[DEFAULT]

ヒープ以外の目的で使用できるメモリの最大量。

単位: バイト

有意義な統計: 最大

jvm.memory.nonheap.used

[DEFAULT]

ヒープ以外の現在のメモリ使用量。

単位: バイト

有意義な統計: 最小、最大、平均

jvm.memory.nonheap.committed

[DEFAULT]

ヒープ以外の目的で使用できることが保証されているメモリの量。

単位: バイト

有意義な統計: 最小、最大、平均

jvm.memory.pool.init

[DEFAULT]、name

JVM がメモリプール用にオペレーティングシステムにリクエストするメモリの初期量。

単位: バイト

有意義な統計: 最小、最大、平均

jvm.memory.pool.max

[DEFAULT]、name

メモリプールに使用できるメモリの最大量。

単位: バイト

有意義な統計: 最大

jvm.memory.pool.used

[DEFAULT]、name

現在のメモリプールのメモリ使用量。

単位: バイト

有意義な統計: 最小、最大、平均

jvm.memory.pool.committed

[DEFAULT]、name

メモリプールで使用できることが保証されているメモリの量。

単位: バイト

有意義な統計: 最小、最大、平均

jvm.threads.count

[DEFAULT]

現在のスレッドの数。

単位: なし

有意義な統計: 最小、最大、平均

JVM メトリクスは次のディメンションで収集されます。

ディメンション 説明

[DEFAULT]

デフォルトで Amazon EC2 では、metrics セクションの append_dimensions フィールドを使用している場合を除き、ホストは CloudWatch エージェントによって収集されるメトリクスのディメンションとしても発行されます。詳細については、「CloudWatch エージェント設定ファイルを手動で作成または編集する」のエージェントセクションの「omit_hostname」を参照してください。

Amazon EKS では、k8s に関連したコンテキストはメトリクスのディメンション (k8s.container.namek8s.deployment.namek8s.namespace.namek8s.node.namek8s.pod.namek8s.replicaset.name) としても公開されます。これらは aggregation_dimensions フィールドを使用してフィルタリングできます。

name

jvm.gc.collections メトリクスの場合、値はガベージコレクター名です。

jvm.memory.pool メトリクスの場合、値はメモリプール名です。

Kafka メトリクスの収集

CloudWatch エージェントを使用して Apache Kafka メトリクスを収集できます。これを設定するには、CloudWatch エージェント設定ファイルの jmx セクション内に次のサブセクションを 1 つ以上追加します。

  • kafka セクションを使用して Kafka ブローカーメトリクスを収集します。

  • kafka-consumer セクションを使用して Kafka コンシューマーメトリクスを収集します。

  • kafka-producer セクションを使用して Kafka プロデューサーメトリクスを収集します。

Kafka ブローカーメトリクス

次のメトリクスは Kafka ブローカー用に収集できます。

メトリクス ディメンション 説明

kafka.message.count

[DEFAULT]

Kafka ブローカーが受信するメッセージの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.request.count

[DEFAULT]、type

Kafka ブローカーが受信するリクエストの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.request.failed

[DEFAULT]、type

障害が発生した Kafka ブローカーへのリクエストの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.request.time.total

[DEFAULT]、type

Kafka ブローカーがサービスリクエストにかかった合計時間。

単位: ミリ秒

有意義な統計: 最小、最大、平均

kafka.request.time.50p

[DEFAULT]、type

Kafka ブローカーがサービスリクエストにかかった 50 パーセンタイルの時間。

単位: ミリ秒

有意義な統計: 最小、最大、平均

kafka.request.time.99p

[DEFAULT]、type

Kafka ブローカーがサービスリクエストにかかった 99 パーセンタイルの時間。

単位: ミリ秒

有意義な統計: 最小、最大、平均

kafka.request.time.avg

[DEFAULT]、type

Kafka ブローカーがサービスリクエストにかかった平均時間。

単位: ミリ秒

有意義な統計: 平均

kafka.network.io

[DEFAULT]、state

Kafka ブローカーによって受信または送信されたバイト数。

単位: バイト

有意義な統計: 最小、最大、平均

kafka.purgatory.size

[DEFAULT]、type

処理待ち状態で待機中のリクエストの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.partition.count

[DEFAULT]

Kafta ブローカーのパーティションの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.partition.offline

[DEFAULT]

オフラインのパーティションの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.partition.under_replicated

[DEFAULT]

レプリケートが不十分なパーティションの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.isr.operation.count

[DEFAULT]、operation

同期レプリカの縮小および展開オペレーションの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.max.lag

[DEFAULT]

フォロワーレプリカとリーダーレプリカ間のメッセージの最大遅延。

単位: なし

有意義な統計: 最大

kafka.controller.active.count

[DEFAULT]

ブローカーでアクティブなコントローラーの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.leader.election.rate

[DEFAULT]

リーダー選出レート。これが増加すると、ブローカーの障害を示します。

単位: なし

有意義な統計: 最小、最大、平均

kafka.unclean.election.rate

[DEFAULT]

クリーンでないリーダー選出レート。これが増加すると、ブローカーの障害を示します。

単位: なし

有意義な統計: 最小、最大、平均

kafka.request.queue

[DEFAULT]

リクエストキューのサイズ。

単位: なし

有意義な統計: 最小、最大、平均

kafka.logs.flush.time.count

[DEFAULT]

ログのフラッシュ数。

単位: ミリ秒

有意義な統計: 最小、最大、平均

kafka.logs.flush.time.median

[DEFAULT]

ログフラッシュカウントの 50 パーセンタイル値。

単位: ミリ秒

有意義な統計: 最小、最大、平均

kafka.logs.flush.time.99p

[DEFAULT]

ログフラッシュカウントの 99 パーセンタイル値。

単位: ミリ秒

有意義な統計: 最小、最大、平均

Kafka ブローカーのメトリクスは次のディメンションで収集されます。

ディメンション 説明

[DEFAULT]

デフォルトで Amazon EC2 では、metrics セクションの append_dimensions フィールドを使用している場合を除き、ホストは CloudWatch エージェントによって収集されるメトリクスのディメンションとしても発行されます。詳細については、「CloudWatch エージェント設定ファイルを手動で作成または編集する」のエージェントセクションの「omit_hostname」を参照してください。

Amazon EKS では、k8s に関連したコンテキストはメトリクスのディメンション (k8s.container.namek8s.deployment.namek8s.namespace.namek8s.node.namek8s.pod.namek8s.replicaset.name) としても公開されます。これらは aggregation_dimensions フィールドを使用してフィルタリングできます。

type

リクエストタイプ。指定できる値は producefetchfetchconsumerfetchfollower です。

state

ネットワークトラフィックの方向。指定できる値は in および out です。

operation

同期レプリカのオペレーションタイプ。指定できる値は shrink および expand です。

Kafka コンシューマーメトリクス

次のメトリクスは Kafka コンシューマー用に収集できます。

メトリクス ディメンション 説明

kafka.consumer.fetch-rate

[DEFAULT]、client-id

すべてのトピックにおける 1 秒あたりのフェッチリクエストの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.consumer.records-lag-max

[DEFAULT]、client-id

コンシューマーがプロデューサーより遅れるメッセージの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.consumer.total.bytes-consumed-rate

[DEFAULT]、client-id

すべてのトピックにおける 1 秒あたりの平均消費バイト数

単位: バイト

有意義な統計: 平均

kafka.consumer.total.fetch-size-avg

[DEFAULT]、client-id

すべてのトピックでリクエストごとにフェッチされたバイト数。

単位: バイト

有意義な統計: 最小、最大、平均

kafka.consumer.total.records-consumed-rate

[DEFAULT]、client-id

すべてのトピックにおける 1 秒あたりの平均消費レコードの数

単位: なし

有意義な統計: 平均

kafka.consumer.bytes-consumed-rate

[DEFAULT]、client-idtopic

1 秒あたりの平均消費バイト数。

単位: バイト

有意義な統計: 平均

kafka.consumer.fetch-size-avg

[DEFAULT]、client-idtopic

リクエストごとにフェッチされたバイト数。

単位: バイト

有意義な統計: 最小、最大、平均

kafka.consumer.records-consumed-rate

[DEFAULT]、client-idtopic

1 秒あたりの平均消費レコードの数。

単位: なし

有意義な統計: 平均

Kafka コンシューマーメトリクスは次のディメンションで収集されます。

ディメンション 説明

[DEFAULT]

デフォルトで Amazon EC2 では、metrics セクションの append_dimensions フィールドを使用している場合を除き、ホストは CloudWatch エージェントによって収集されるメトリクスのディメンションとしても発行されます。詳細については、「CloudWatch エージェント設定ファイルを手動で作成または編集する」のエージェントセクションの「omit_hostname」を参照してください。

Amazon EKS では、k8s に関連したコンテキストはメトリクスのディメンション (k8s.container.namek8s.deployment.namek8s.namespace.namek8s.node.namek8s.pod.namek8s.replicaset.name) としても公開されます。これらは aggregation_dimensions フィールドを使用してフィルタリングできます。

client-id

クライアントの ID。

topic

Kafka トピック。

Kafka プロデューサーメトリクス

次のメトリクスは Kafka プロデューサー用に収集できます。

メトリクス ディメンション 説明

kafka.producer.io-wait-time-ns-avg

[DEFAULT]、client-id

I/O スレッドが読み取りまたは書き込みの準備が完了したソケットの待機にかかった平均時間。

単位: なし

有意義な統計: 平均

kafka.producer.outgoing-byte-rate

[DEFAULT]、client-id

すべてのサーバーに 1 秒あたりに送信された送信バイトの平均数。

単位: バイト

有意義な統計: 平均

kafka.producer.request-latency-avg

[DEFAULT]、client-id

平均リクエストレイテンシー。

単位: ミリ秒

有意義な統計: 平均

kafka.producer.request-rate

[DEFAULT]、client-id

1 秒あたりの送信リクエストの平均数。

単位: なし

有意義な統計: 平均

kafka.producer.response-rate

[DEFAULT]、client-id

1 秒あたりの受信レスポンスの数。

単位: なし

有意義な統計: 最小、最大、平均

kafka.producer.byte-rate

[DEFAULT]、client-idtopic

トピック用に 1 秒あたりに送信された平均バイト数

単位: バイト

有意義な統計: 平均

kafka.producer.compression-rate

[DEFAULT]、client-idtopic

トピックのレコードバッチの平均圧縮率。

単位: なし

有意義な統計: 平均

kafka.producer.record-error-rate

[DEFAULT]、client-idtopic

トピックのエラーの原因となった 1 秒あたりの送信レコードの平均数。

単位: なし

有意義な統計: 平均

kafka.producer.record-retry-rate

[DEFAULT]、client-idtopic

トピックにおける 1 秒あたりのレコード送信を再試行した平均数。

単位: なし

有意義な統計: 平均

kafka.producer.record-send-rate

[DEFAULT]、client-idtopic

トピック用に 1 秒あたりに送信された平均レコード数

単位: なし

有意義な統計: 平均

Kafka プロデューサーメトリクスは次のディメンションで収集されます。

ディメンション 説明

[DEFAULT]

デフォルトで Amazon EC2 では、metrics セクションの append_dimensions フィールドを使用している場合を除き、ホストは CloudWatch エージェントによって収集されるメトリクスのディメンションとしても発行されます。詳細については、「CloudWatch エージェント設定ファイルを手動で作成または編集する」のエージェントセクションの「omit_hostname」を参照してください。

Amazon EKS では、k8s に関連したコンテキストはメトリクスのディメンション (k8s.container.namek8s.deployment.namek8s.namespace.namek8s.node.namek8s.pod.namek8s.replicaset.name) としても公開されます。これらは aggregation_dimensions フィールドを使用してフィルタリングできます。

client-id

クライアントの ID。

topic

Kafka トピック。

Tomcat メトリクスの収集

CloudWatch エージェントを使用して Apache Tomcat メトリクスを収集できます。これを設定するには、CloudWatch エージェント設定ファイルの metrics_collected セクション内に tomcat セクションを追加します。

次のメトリクスを収集できます。

メトリクス ディメンション 説明

tomcat.sessions

[DEFAULT]

アクティブなセッションの数。

単位: なし

有意義な統計: 最小、最大、平均

tomcat.errors

[DEFAULT]、proto_handler

発生したエラーの数。

単位: なし

有意義な統計: 最小、最大、平均

tomcat.processing_time

[DEFAULT]、proto_handler

合計処理時間。

単位: ミリ秒

有意義な統計: 最小、最大、平均

tomcat.traffic

[DEFAULT]、proto_handler

送信および受信バイト数。

単位: バイト

有意義な統計: 最小、最大、平均

tomcat.threads

[DEFAULT]、proto_handler

スレッドの数。

単位: なし

有意義な統計: 最小、最大、平均

tomcat.max_time

[DEFAULT]、proto_handlerdirection

リクエストを処理する最大時間。

単位: ミリ秒

有意義な統計: 最大

tomcat.request_count

[DEFAULT]、proto_handler

合計リクエスト。

単位: なし

有意義な統計: 最小、最大、平均

Tomcat メトリクスは次のディメンションで収集されます。

ディメンション 説明

[DEFAULT]

デフォルトで Amazon EC2 では、metrics セクションの append_dimensions フィールドを使用している場合を除き、ホストは CloudWatch エージェントによって収集されるメトリクスのディメンションとしても発行されます。詳細については、「CloudWatch エージェント設定ファイルを手動で作成または編集する」のエージェントセクションの「omit_hostname」を参照してください。

Amazon EKS では、k8s に関連したコンテキストはメトリクスのディメンション (k8s.container.namek8s.deployment.namek8s.namespace.namek8s.node.namek8s.pod.namek8s.replicaset.name) としても公開されます。これらは aggregation_dimensions フィールドを使用してフィルタリングできます。

proto_handler

proto_handler はコネクタの識別子であり、<protocol>-<type>-<port> 形式で提供されます (例えば、http-nio-8080 など)。

direction

トラフィックの方向。指定できる値は received および sent です。