Kubernetesメトリクス
Kubernetesモニタリングが収集するメトリクスをカテゴリ別に整理しました。各カテゴリのTags(ディメンション)とFields(測定値)を確認できます。
コンテナ(container) メトリクス
containerカテゴリは、コンテナのPODに設定されているすべてのユーザー定義ラベルをタグとして収集します。
- 対象:クラスタープロジェクト、ネームスペースプロジェクト
- 収集間隔:5秒
- 統計データ:5分
Kubernetesエージェント1.9.29バージョンから、Native Sidecarコンテナも収集します。Native Sidecarはspec.initContainersに宣言し、restartPolicy: Alwaysを指定したコンテナで、Podの実行中は継続して動作します。
-
コンテナリスト、CPU・メモリ使用量、再起動回数、準備状態、OOM情報、ボリュームマウントのメタデータを通常のコンテナと同様に収集します。
-
通常のinitコンテナとephemeralコンテナは、従来どおり収集しません。
-
Native SidecarはKubernetes 1.29以上でデフォルトで使用できます(1.28では
SidecarContainersフィーチャーゲートの有効化が必要)。 -
マスターエージェントとノードエージェントの両方を1.9.29バージョン以上にアップデートする必要があります。エージェントのアップデート方法については、次の文書を参照してください。
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| agentOid | - | - | ノードエージェント固有ID(固有値) |
| agentPcode | - | - | プロジェクトコード(固有値) |
| command | - | - | 実行コマンド |
| containerId | - | - | コンテナID(固有値) |
| containerKey | - | - | コンテナKey |
| created | - | - | コンテナが生成されたTimeStamp |
| image | - | - | コンテナイメージ名 |
| imageHash | - | - | イメージハッシュ値 |
| imageId | - | - | イメージID |
| k8s-app | - | - | Podのラベルk8s-appに対する値 |
| microOid | - | - | コンテナにインストールされたWhaTap APMエージェントの固有ID |
| name | - | - | コンテナ名 |
| namespace | - | - | コンテナが所属するネームスペース |
| namespaceHash | - | - | コンテナが所属するネームスペースのハッシュ値 |
| okind | - | - | コンテナにインストールされているWhaTap APMエージェントに指定したOKINDの固有ID |
| okindName | - | - | コンテナにインストールされているWhaTap APMエージェントに指定したOKIND名 |
| oname | - | - | コンテナにインストールされているWhaTap APMエージェント名 |
| onode | - | - | コンテナが実行されているノードエージェントの固有ID |
| onodeName | - | - | コンテナが動作しているノード名 |
| podHash | - | - | コンテナのPodハッシュ値 |
| podName | - | - | コンテナのPod名 |
| replicaSetHash | - | - | コンテナのレプリカセットハッシュ値 |
| replicaSetName | - | - | コンテナのレプリカセット名 |
| whatap_project | - | - | コンテナが属するWhaTapプロジェクト名 |
Fields
| Field | Type | Unit | Shortname/Name/Description |
|---|---|---|---|
| blkio_rbps | - | バイト | IoReadBytes |
| Container Block I/O Read Byte | |||
| コンテナ全体ブロックデバイスの1秒当たり読み込んだバイトの合計 | |||
| blkio_riops | - | count | IoReadIops |
| Container Block I/O Read IOPS | |||
| コンテナ全体ブロックデバイスの1秒当たり読み込んだ数の合計 | |||
| blkio_wbps | - | バイト | IoWriteBytes |
| Container Block I/O Write Byte | |||
| コンテナ全体ブロックデバイスの1秒当たり書き込んだバイトの合計 | |||
| blkio_wiops | - | count | IoWriteIops |
| Container Block I/O Write IOPS | |||
| コンテナ全体ブロックデバイスの1秒当たり書き込んだ数の合計 | |||
| cpu_per_quota | - | percent | CpuByLimit |
| Container CPU Usage by Limit(%) | |||
| CPU Limit基準CPUの全体使用率 | |||
| cpu_quota | - | millicores | CpuLimit |
| Container CPU Limit (core) | |||
| コンテナのCPU Limit割当量 - Limitが未設定の場合、コンテナが実行中のノードのCPU全体コアがミリコア単位で表示 | |||
| cpu_quota_percent | - | percent | CpuLimitByNode |
| Container CPU Limit by Node(%) | |||
| ノードCPUに対するコンテナCPUリミットの割り当て量 - リミットが設定されていない場合、コンテナが動作しているノードのCPU全コアがパーセントで表示されます。 | |||
| cpu_sys | - | percent | CpuSysByNode |
| Container CPU Sys Usage by Node(%) | |||
| ノードCPUに対するコンテナCPU System使用率 | |||
| cpu_throttledperiods | - | count | CpuThrottledCnt |
| Container CPU Throttling Count | |||
| コンテナCPU Throttled数 | |||
| cpu_throttledtime | - | nanosecond(ns) | CpuThrottledTime |
| Container CPU Throttling Time | |||
| コンテナCPU Throttled時間 | |||
| cpu_total | - | percent | CpuByNode |
| Container CPU Usage by Node(%) | |||
| ノードCPUに対するコンテナCPU使用率 | |||
| cpu_total_milli | - | millicores | CpuTotUsage |
| Container CPU Usage (millicore) | |||
| コンテナCPU使用量 | |||
| cpu_user | - | percent | CpuUserByNode |
| Container CPU User Usage by Node(%) | |||
| ノードCPUに対するコンテナCPU User使用率 | |||
| cpu_request | - | millicores | CpuRequest |
| Container CPU Request (core) | |||
| コンテナCPU要求 | |||
| cpu_per_request | - | percent | CpuByRequest |
| Container CPU Usage by Request(%) | |||
| コンテナCPUリクエストに対する使用率 = cpu_total_milli / cpu_request * 100 | |||
| mem_failcnt | - | count | MemFailCnt |
| Container Memory Failure Count | |||
| コンテナメモリLimit到達件数 | |||
| mem_limit | - | バイト | MemLimit |
| Container Memory Limit (byte) | |||
| コンテナのメモリLimitサイズ | |||
| mem_maxusage | - | バイト | MemMaxUsage |
| Container Memory Max Usage (byte) | |||
| コンテナメモリの最大使用量の記録値 - 詳細は下記案内を参照してください。 | |||
| mem_percent | - | percent | MemWsByLimit |
| Container Memory Working Set by Limit(%) | |||
| コンテナメモリLimit基準working set使用量 = mem_working_set / mem_limit * 100 | |||
| mem_totalcache | - | バイト | MemTotCache |
| Container Memory Total Cache (byte) | |||
| コンテナ全体のキャッシュサイズ | |||
| mem_totalpgfault | - | count | MemTotPageFaultCnt |
| Container Memory Total Page Fault Count | |||
| コンテナPage Fault回数 | |||
| mem_totalrss | - | バイト | MemTotRss |
| Container Memory Total RSS (byte) | |||
| コンテナRSSメモリ全体サイズ | |||
| mem_totalrss_percent | - | percent | MemTotRssByLimit |
| Container Memory Total RSS by Limit (%) | |||
| コンテナRSSメモリ全体使用率 | |||
| mem_totalunevictable | - | バイト | MemTotUnevictable |
| Container Memory Total Unevictable (byte) | |||
| コンテナUnevictable Memory全体サイズ | |||
| mem_usage | - | バイト | MemUsage |
| Container Memory Usage (byte) | |||
| コンテナメモリ使用量 | |||
| mem_working_set | - | バイト | MemWs |
| Container Memory Working Set (byte) | |||
| コンテナメモリworking set = mem_usage - inactive file | |||
| mem_working_set_percent | - | percent | MemWsByLimit |
| Container Memory Working Set by Limit (%) | |||
| コンテナメモリLimit基準working set使用量 = mem_working_set / mem_limit * 100 | |||
| mem_request | - | バイト | MemRequest |
| Container Memory Request (byte) | |||
| コンテナのメモリRequestサイズ | |||
| mem_per_request | - | percent | MemWsByRequest |
| Container Memory Working Set by Request (%) | |||
| コンテナメモリRequest基準working set使用量 = mem_working_set / mem_request * 100 | |||
| network_rbps | - | byte | NetRxBytes |
| Container Network Receive Byte | |||
| コンテナ全体ブロックデバイスの1秒当たり読み取りバイトの合計 | |||
| network_rdropped | - | バイト | NetRxDropped |
| Container Network Receive Dropped | |||
| コンテナネットワーク受信dropped数 | |||
| network_rerror | - | バイト | NetRxError |
| Container Network Receive Error | |||
| コンテナのネットワーク受信エラー数 | |||
| network_riops | - | バイト | NetRxIops |
| Container Network Receive IOPS | |||
| コンテナのネットワーク受信数 | |||
| network_wbps | - | バイト | NetTxByes |
| Container Network Transmit Byte | |||
| コンテナのネットワーク送信データサイズ | |||
| network_wdropped | - | count | NetTxDropped |
| Container Network Transmit Dropped | |||
| コンテナのネットワーク送信dropped数 | |||
| network_werror | - | count | NetTxError |
| Container Network Transmit Error | |||
| コンテナのネットワーク送信エラー数 | |||
| network_wiops | - | count | NetTxIops |
| Container Network Transmit IOPS | |||
| コンテナのネットワーク送信数 | |||
| node_cpu | - | percent | ConNodeCpu |
| Container Work Node CPU Usage (%) | |||
| コンテナ実行中のノードのCPU使用量 | |||
| node_mem | - | percent | ConNodeMem |
| Container Work Node Memory Usage (%) | |||
| コンテナ実行中のノードのメモリ使用量 | |||
| phase | string | - | Podライフサイクル ① PENDING ② RUNNING ③ SUCCEEDED ④ FAILED ⑤ UNKNOWN |
| restart_count | integer | - | ConRestartCnt |
| Container Restart Count | |||
| コンテナの再起動回数 | |||
| state | integer | - | ConState |
| Container Current State | |||
| コンテナステータスコード ① RUNNING = 114 ② PAUSE = 112 ③ RESTARTING = 101 ④ OOMKILLED = 111 ⑤ DEAD = 100 ⑥ WAITING = 119 | |||
| status | string | - | ConStatus |
| Container Current Status | |||
| コンテナステータス情報 ① runningステータス:uptime情報表示 ② waiting/terminatedステータス:ステータスに対するreason情報の表示 |
mem_maxusageは、コンテナの実行中に記録されたメモリの最大使用量を示します。しかし、Linuxカーネルバージョンが5.19より低い場合、このメトリクスの原本データが対応できない場合があります。このような場合、その値が0になる可能性があります。該当メトリクスを正常に収集するためには、Linuxカーネルバージョンを5.19以上にアップデートする必要があります。
Kubernetesノード(kube_node) メトリクス
kube_nodeカテゴリは、ノードに設定されているすべてのユーザー定義ラベルをタグとして収集します。
- 対象:クラスタープロジェクト、ネームスペースプロジェクト
- 収集間隔:5秒
- 統計データ:5分、1時間
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| nodeName | - | - | ノー ド名 |
次のタグが追加されました。
| Tag | Type | Unit | Description |
|---|---|---|---|
infrastructureType | string | - | ノードのインフラ種別 - baremetal、vm、unknown |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| allocatable_cpu | - | millicores | ノード割り当て可能なCPU量 |
| allocatable_memory | - | バイト | ノード割り当て可能なメモリ量 |
| allocatable_pods | integer | - | ノード割り当て可能なPod数 |
| limit_cpu | - | millicores | ノードCPU Limit合計 |
| limit_memory | - | バイト | ノードメモリLimit合計 |
| pods | integer | - | ノードPodの総個数 |
| request_cpu | - | millicores | ノードCPU Request合計 |
| request_memory | - | バイト | ノードメモリRequest合計 |
ノードのGPU数量は、デバイスタイプ別の並列リストフィールドで収集します。*_typesと*_countsはインデックスが1:1で対応し、nvidia.com/gpu(whole-GPU)とすべてのMIGプロファイル(nvidia.com/mig-*)を個別の項目として保持します。
| Field | Type | Unit | Description |
|---|---|---|---|
| gpu_capacity_types | list | - | ノードGPU capacityのデバイスタイプ一覧 |
| gpu_capacity_counts | list | count | 上記タイプ別capacity数量(インデックス1:1対応) |
| gpu_allocatable_types | list | - | ノードGPU allocatableのデバイスタイプ一覧 |
| gpu_allocatable_counts | list | count | 上記タイプ別allocatable数量(インデックス1:1対応) |
v1.9.14から、whole-GPU専用のスカラーフィールドcapacity_gpu、allocatable_gpuは削除されました。MIG環境でスカラーフィールドがnvidia.com/gpuのみを保持しMIGスライスを欠落させることで、集計が誤った合計になる問題を防ぐためです。whole-GPU数量もリストのnvidia.com/gpu項目で確認し、全体・タイプ別の集計は*_countsを合算します。
| Category | Removed scalar field | Replacement list field |
|---|---|---|
kube_node | capacity_gpu, allocatable_gpu | gpu_capacity_types/gpu_capacity_counts, gpu_allocatable_types/gpu_allocatable_counts |
Kubernetesノード性能(kube_node_perf) メトリクス
kube_node_perfカテゴリは、ノードにスケジューリングされたすべてのPod/Containerのリソース使用量と割り当て量を集計し、ノード単位の性能メトリクスを収集します。
- 対象:クラスタープロジェクト、ネームスペースプロジェクト
- 収集間隔:5秒
- 統計データ:5分、1時間
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| onode | - | - | ノードハッシュ値 |
| onodeName | - | - | ノード名 |
| agentPcode | - | - | エージェントプロジェクトコード |
| agentOid | - | - | エージェント固有ID |
次のタグが追加されました。
| Tag | Type | Unit | Description |
|---|---|---|---|
| cgroup_version | - | - | ノードホストのcgroupマウントモード - unified(cgroup v2)、hybrid、legacy(cgroup v1)、unknown(アクセス不可) |
ノードホストの/sys/fs/cgroupマウントモ ードを直接検知してタグとして収集します。ノード別のcgroupバージョン状況をサーバーで集計できます。
ノードの仮想化判別タグが追加されました。
| Tag | Type | Unit | Description |
|---|---|---|---|
virtualization | string | - | ノードの仮想化の有無 - baremetal、vm、unknown |
hypervisor | string | - | ハイパーバイザーのベンダー名 - ベアメタルの場合や判別できない場合は - |
ノードホストのDMI情報(/sys/class/dmi/id/sys_vendor、product_name)でベンダーを先に照合し、一致するベンダーがない場合は/proc/cpuinfoのhypervisorフラグで仮想マシンかどうかのみを判定します。DMI情報がない非x86ノードはunknownとして収集します。
QEMU/KVM、VMware、Hyper-V、Xen、VirtualBox、Parallels、Amazon EC2、Google GCE、OpenStack、Nutanix AHV、oVirt/RHV、Alibaba Cloudなどのベンダーを認識します。値はノードの稼働中に変わらないため、最初の1回のみ読み取ってキャッシュします。
制約:Amazon EC2の.metalインスタンスのようにクラウド事業者が提供するベアメタルは、DMI情報だけでは一般インスタンスと区別できないためvmとして判別されます。
ノードエージェント1.9.21バージョン以上で収集します。
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| cpuRequest | long | millicores | ノード内全コンテナのCPU Request合計 |
| cpuLimit | long | millicores | ノード内全コンテナのCPU Limit合計 |
| cpuTotal | long | millicores | ノード内全コンテナのCPU使用量合計 |
| cpuPerRequest | float | percent | ノードCPU Request対比の実際のCPU使用率 |
| cpuPerLimit | float | percent | ノードCPU Limit対比の実際のCPU使用率 |
| memoryRequest | long | byte | ノード内全コンテナのMemory Request合計 |
| memoryLimit | long | byte | ノード内全コンテナのMemory Limit合計 |
| memTotal | long | byte | ノード内全コンテナのMemory使用量合計 |
| memoryPerRequest | float | percent | ノードMemory Request対比の実際のMemory使用率 |
| memoryPerLimit | float | percent | ノードMemory Limit対比の実際のMemory使用率 |
次のフィールドが追加されました。
| Field | Type | Unit | Description |
|---|---|---|---|
conntrack_count | long | count | 現在のconntrackエントリ数 |
conntrack_max | long | count | conntrackエントリの上限(nf_conntrack_max) |
conntrack_pct | float | percent | 上限に対する使用率 |
- エントリ数は、ホストのnetwork namespace基準の値を読み取るため
/proc/1/net/stat/nf_conntrackパスから収集します。 nf_conntrackモジュールがロードされていないノードはフィールドを送信しません。値0と未収集を区別するための動作です。- ノードエージェント1.9.18バージョン以上で収集します。
collect_conntrack_enabledオプションで収集をオフにできます。
Kubernetesイベント(kube_event) メトリクス
kube_eventカテゴリは、クラスタープロジェクトの場合は、クラスター全体を対象としてデータを収集し、ネームスペースプロジェクトの場合は、ネームスペースで発生したイベントのみ収集します。
- 対象:クラスタープロジェクト、ネームスペースプロジェクト
- 収集間隔:5秒
- 統計データ:5分、1時間
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| field_path | - | - | Field Path |
| kind | - | - | イベントが発生したオブジェクトの種類 |
| name | - | - | イベントが発生したKubernetesオブジェクト名 |
| namespace | - | - | イベントが発生したネームスペース名 |
| reason | - | - | イベント発生理由 |
| type | - | - | イベントタイプ - WarningまたはNormal |
| uid | - | - | UID - イベントが発生したオブジェクト |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| action | string | - | アクション名 |
| count | - | count | イベント発生件数 |
| event_time | integer | - | イベント初期発生TimeStamp |
| first_timestamp | integer | - | イベント初期発生時間 |
| last_timestamp | integer | - | イベント最終発生時間 |
| message | string | - | イベントメッセージ |
| reasonFiled | string | - | イベントReason |
| reporting_component | string | - | 現在のイベントを報告するコンポーネント |
| reporting_instance | string | - | 現在のイベントを報告するインスタンス |
| series_last_observed_time | integer | - | series last observed time |
Kubernetesクラスター(kube_stat) メトリクス
kube_statカテゴリは、クラスタープロジェクトのクラスター全体を対象として収集し、ネームスペースプロジェクトは、そのネームスペースに関連するオブジェクトのみ対象に収集します。
- 対象:クラスタープロジェクト、ネームスペースプロジェクト
- 収集間隔:5秒
- 統計データ:5分、1時間
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| name | - | - | kube_stat(固定値) |
次のタグが追加されました。
| Tag | Type | Unit | Description |
|---|---|---|---|
| namespace | - | - | 収集対象のネームスペース名 |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| alloctable_cpu | - | millicores | クラスタ全体のコア数(クラスタプロジェクトOnly) |
| alloctable_ephemeral-storage | - | バイト | クラスター全体に割り当てられるephemeral storage(クラスタープロジェクトOnly) |
| alloctable_hugepages-1gi | - | バイト | クラスター全体に割り当てられるhugepages-1Gi(クラスタープロジェクトOnly) |
| alloctable_hugepages-2mi | - | バイト | クラスター全体に割り当てられるhugepages-2Mi(クラスタープロジェクトOnly) |
| alloctable_memory | - | バイト | クラスター全体に割り当てることができるメモリ(クラスタープ ロジェクトOnly) |
| alloctable_pods | integer | - | 割り当て可能なPod数 |
| available_pod | integer | - | PhaseがRunning状態のPodの数 |
| desired_pod | integer | - | metadata.ownerReferencesなしで配布されたPod数とクバネティスオブジェクト(ReplicaSet, Daemonset, StatefulSet)に定義されたDesired Pod数の合計 |
kubectl get pods -Aで参照したPod数と同じ | |||
| nodes | integer | - | ノード数 |
| pod_phase_Pending | integer | - | PendingステータスPod数 |
| pod_phase_Running | integer | - | Running状態Pod数 |
| running_containers | integer | - | Runningコンテナ数 |
| stopped_containers | integer | - | Stoppedコンテナ数 |
| total_available_cpu | integer | - | 割り当て可能なCPUの合計 |
| total_available_memory | integer | - | 割り当て可能なMemory合計 |
| total_limit_cpu | - | millicores | Limit CPU合計 |
| total_limit_memory | - | バイト | Limit Memory合計 |
| total_request_cpu | - | millicores | Request CPU合計 |
| total_request_memory | - | バイト | Request Memory合計 |
| unavailable_pod | integer | - | PhaseがRunning状態ではない(Pending, Failed, Succedded) Pod数 |
| waiting_containers | integer | - | Waiting Container数 |
ネームスペースに設定されたResourceQuotaの上限と消費量を収集します。次のフィールドが追加されました。
| Field | Type | Unit | Description |
|---|---|---|---|
quota_count | long | count | ネームスペースに設定されたResourceQuota数 |
quota_request_cpu_hard | long | millicores | CPU Requestクォータの上限 |
quota_request_cpu_used | long | millicores | CPU Requestクォータの消費量 |
quota_request_memory_hard | long | byte | Memory Requestクォータの上限 |
quota_request_memory_used | long | byte | Memory Requestクォータの消費量 |
quota_limit_cpu_hard | long | millicores | CPU Limitクォータの上限 |
quota_limit_cpu_used | long | millicores | CPU Limitクォータの消費量 |
quota_limit_memory_hard | long | byte | Memory Limitクォータの上限 |
quota_limit_memory_used | long | byte | Memory Limitクォータの消費量 |
quota_pods_hard | long | count | Pod数クォータの上限 |
quota_pods_used | long | count | Pod数クォータの消費量 |
- Kubernetesが算出した
status.hardとstatus.usedの値をそのまま使用します。 - 1つのネームスペースにスコープの異なるResourceQuotaが複数ある場合は、項目ごとに合算します。
- クォータが設定されていないネームスペースは
quota_countのみを0で送信し、残りのフィールドは送信しません。クォータ未設定と上限0を区別するための動作です。 - マスターエージェント1.9.17バージョン以上で収集します。
権限:ClusterRoleにcore APIのresourcequotasに対するlist権限が必要です。権限がない場合、ResourceQuotaの収集のみが省略され、残りのkube_stat収集は継続されます。
Pod(kube_pod) メトリクス
kube_podカテゴリは、Podに設定されているすべてのユーザー定義ラベルをタグとして収集します。
- 対象:マスター(クラスター) プロジェクト、ネームスペースプロジェクト
- 収集間隔:5秒
- 統計データ:5分
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| agentOid | - | - | ノードエージェント固有ID(固有値) |
| agentPcode | - | - | プロジェクトコード(固有値) |
| command | - | - | 実行コマンド |
| containerIds | - | - | Podに属しているコンテナID |
| containerIdsCount | - | - | containerIdsの個数 |
| containerKeys | - | - | Podに属しているコンテナIDのハッシュ値 |
| containerKeysCount | - | - | containerKeysの個数 |
| DaemonSet | - | - | PodのDaemonSet名 |
| Deployment | - | - | Deployment |
| k8s-app | - | - | Podのラベルk8s-appに対する値 |
| microOid | - | - | Podのコンテナ内部アプリケーションで実行中のエージェントのID |
| microOids | - | - | Podの複数コンテナ内部のアプリケーションで実行中のエージェントの複数ID |
| microOidsCount | - | - | microOidsの個数 |
| name | - | - | Pod名 |
| onames | - | - | Podのコンテナ内部アプリケーションで実行中のエージェントの名称 |
| onamesCount | - | - | onamesの個数 |
| podName | - | - | Pod名 |
| namespace | - | - | Podが所属するネームスペース |
| namespaceHash | - | - | Podが所属するネームスペースハッシュ値 |
| replicaSetHash | - | - | PodのReplicaSetハッシュ値 |
| replicaSetName | - | - | PodのReplicaSet名 |
| whatap_project | - | - | Podが属するWhaTapプロジェクト名 |
Fields
| Field | Type | Unit | Shortname、 Name、 Description |
|---|---|---|---|
| blkio_rbps | - | バイト | IoReadBytes |
| Pod Block I/O Read Byte | |||
| Pod全体ブロックデバイスの1秒あたり読み込みバイトの合計 | |||
| blkio_riops | - | count | IoReadIops |
| Pod Block I/O Read IOPS | |||
| Pod全体ブロックデバイスの1秒当たり読み込み件数の合計 | |||
| blkio_wbps | - | バイト | IoWriteBytes |
| Pod Block I/O Write Byte | |||
| Pod全体ブロックデバイスの1秒あたり書き込みバイトの合計 | |||
| blkio_wiops | - | count | IoWriteIops |
| Pod Block I/O Write IOPS | |||
| Pod全体ブロックデバイスの1秒当たり書き込み件数の合計 | |||
| cpu_per_limit | - | percent | CpuByLimit |
| Pod CPU Usage by Limit (%) | |||
| CPU Limit基準CPUの全体使用率 | |||
| cpu_per_request | - | percent | CpuByRequest |
| Pod CPU Usage by Request (%) | |||
| CPU Request基準CPUの全体使用率 | |||
| cpu_quota_percent | - | percent | CpuLimitByNode |
| Pod CPU Limit by Node (%) | |||
| ノードCPUに対するPod CPU Limit割当量 - Limit未設定の場合、Podが実行中のノードのCPU全体コアがパーセントで表示 | |||
| cpu_sys | - | percent | CpuSysByNode |
| Pod CPU Sys Usage by Node (%) | |||
| ノードCPUに対するPod CPU System使用率 | |||
| cpu_throttledperiods | - | count | CpuThrottledCnt |
| Pod CPU Throttling Count | |||
| Pod CPU Throttled件数 | |||
| cpu_throttledtime | - | nanosecond(ns) | CpuThrottledTime |
| Pod CPU Throttling Time | |||
| Pod CPU Throttled時間 | |||
| cpu_total | - | percent | CpuByNode |
| Pod CPU Usage by Node (%) | |||
| ノードCPUに対するPod CPU使用率 | |||
| cpu_total_milli | - | millicores | CpuTotUsage |
| Pod CPU Usage (millicore) | |||
| Pod CPU使用量 | |||
| cpu_user | - | percent | CpuUserByNode |
| Pod CPU User Usage by Node (%) | |||
| ノードCPUに対するPod CPU User使用率 | |||
| cpu_request | - | millicores | CpuRequest |
| Pod CPU Request (core) | |||
| Pod CPUリクエスト | |||
| cpu_per_request | - | percent | CpuByRequest |
| Pod CPU Usage by Request (%) | |||
| Pod CPUリクエストに対する使用率 = cpu_total_milli / cpu_request * 100 | |||
| mem_totalcache | - | バイト | MemTotCache |
| Pod Memory Total Cache (byte) | |||
| Pod全体のキャッシュサイズ | |||
| mem_totalpgfault | - | count | MemTotPageFaultCnt |
| Pod Memory Total Page Fault Count | |||
| Pod PageFault回数 | |||
| mem_totalrss | - | バイト | MemTotRss |
| Pod Memory Total RSS (byte) | |||
| Pod RSSメモリ全体サイズ | |||
| mem_totalrss_percent | - | percent | MemTotRssByLimit |
| Pod Memory Total RSS by Limit (%) | |||
| Pod RSSメモリ全体使用率 | |||
| mem_totalunevictable | - | バイト | MemTotUnevictable |
| Pod Memory Total Unevictable (byte) | |||
| Pod Unevictable Memory全体サイズ | |||
| mem_usage | - | バイト | MemUsage |
| Pod Memory Usage (byte) | |||
| Podメモリ使用量 | |||
| mem_working_set | - | バイト | MemWs |
| Pod Memory Working Set (byte) | |||
| Podメモリworking set = mem_usage - inactive file | |||
| memory_request | - | バイト | MemRequest |
| Pod Memory Request (byte) | |||
| Podメモリー要求量 | |||
| memory_limit | - | バイト | MemLimit |
| Pod Memory Limit (byte) | |||
| PodメモリLimit割当量 | |||
| memory_per_request | - | percent | MemByRequest |
| Pod Memory Working Set By Request (%) | |||
| Podメモリの要求基準のWorking Set使用量 | |||
| memory_per_limit | - | percent | MemByLimit |
| Pod Memory Working Set By Limit (%) | |||
| PodメモリのLimit基準のWorking Set使用量 | |||
| network_rbps | - | バイト | NetRxBytes |
| Pod Network Receive Byte | |||
| Pod全体ブロックデバイスの1秒あたり読み込みバイトの合計 | |||
| network_rdropped | - | バイト | NetRxDropped |
| Pod Network Receive Dropped | |||
| Podネットワーク受信のdropped件数 | |||
| network_rerror | - | バイト | NetRxError |
| Pod Network Receive Error | |||
| Podネットワーク受信エラー件数 | |||
| network_riops | - | バイト | NetRxIops |
| Pod Network Receive IOPS | |||
| Podネットワーク受信件数 | |||
| network_wbps | - | バイト | NetTxByes |
| Pod Network Transmit Byte | |||
| Podネットワーク送信データサイズ | |||
| network_wdropped | - | count | NetTxDropped |
| Pod Network Transmit Dropped | |||
| Podネットワーク送信dropped件数 | |||
| network_werror | - | count | NetTxError |
| Pod Network Transmit Error | |||
| Podネットワーク送信エラー件数 | |||
| network_wiops | - | count | NetTxIops |
| Pod Network Transmit IOPS | |||
| Podネットワーク送信件数 | |||
| phase | string | - | Phase |
| Pod Current Phase | |||
| Podライフサイクル ① PENDING ② RUNNING ③ SUCCEEDED ④ FAILED ⑤ UNKNOWN |
次のフィールドは内部用に予約されています。
| Field | Type | Unit | Description |
|---|---|---|---|
| kube_sless_normal | - | - | Kubernetes情報イベント発生件数 |
| kube_sless_warning | - | - | Kubernetes警告イベント発生件数 |
| micro_sful_critical | - | - | apm重要ステータスベースのイベント発生件数 |
| micro_sful_info | - | - | apm情報ステータスベースのイベント発生件数 |
| micro_sful_warning | - | - | apm警告ステータスベースのイベント発生件数 |
| micro_sless_critical | - | - | apm深刻状態イベント発生件数 |
| micro_sless_info | - | - | apm情報状態イベント発生件数 |
| micro_sless_warning | - | - | apm警告状態イベント発生件数 |
| sful_critical | - | - | メトリクス重要状態ベースのイベント発生件数 |
| sful_info | - | - | メトリクス情報ステータスベースのイベント発生件数 |
| sful_warning | - | - | メトリクス警告ステータスベースのイベント発生件数 |
| sless_critical | - | - | メトリクス重要状態イベント発生件数 |
| sless_info | - | - | メトリクス情報状態イベント発生件数 |
| sless_warning | - | - | メトリクス警告状態イベント発生件数 |
PodのGPU Request・Limit数量は、デバイスタイプ別の並列リストフィールドで収集します。*_typesと*_countsはインデックスが1:1で対応し、nvidia.com/gpu(whole-GPU)とすべてのMIGプロファイル(nvidia.com/mig-*)を個別の項目として保持します。
| Field | Type | Unit | Description |
|---|---|---|---|
| gpu_request_types | list | - | Pod GPU Requestのデバイスタイプ一覧 |
| gpu_request_counts | list | count | 上記タイプ別Request数量(インデックス1:1対 応) |
| gpu_limit_types | list | - | Pod GPU Limitのデバイスタイプ一覧 |
| gpu_limit_counts | list | count | 上記タイプ別Limit数量(インデックス1:1対応) |
v1.9.14から、whole-GPU専用のスカラーフィールドgpu_request、gpu_limitは削除されました。MIG環境でスカラーフィールドがnvidia.com/gpuのみを保持しMIGスライスを欠落させることで、集計が誤った合計になる問題を防ぐためです。whole-GPU数量もリストのnvidia.com/gpu項目で確認し、全体・タイプ別の集計は*_countsを合算します。
Kubernetes Pod統計(kube_pod_stat) メトリクス
kube_pod_statカテゴリのクラスタープロジェクトは、クラスター全体のデータを収集し、ネーム スペースプロジェクトは、ネームスペースに所属するPodのデータのみ収集します。
- 対象:クラスタープロジェクト、ネームスペースプロジェクト
- 収集間隔:5秒
- 統計データ:5分、1時間
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| kind | - | - | タイプ - クラスタープロジェクトの場合は、clusterに固定値を持ち、ネームスペースプロジェクトの場合は、DeploymentまたはReplicaSet のみ収集 |
| name | - | - | Kubernetes資源名 -クラスタープロジェクトにはname値がなく、ネームスペースプロジェクトはDeploymentまたはReplicaSetの名前 |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| available_pod | integer | - | PhaseがRunning状態のPodの数 |
| desired_pod | integer | - | metadata.ownerReferencesなしで配布されたPod数とクバネティスオブジェクト(ReplicaSet, Daemonset, StatefulSet)に定義されたDesired Pod数の合計 |
kubectl get pods -Aで参照したPod数と同じ | |||
| limit_cpu | - | millicores | CPU Limit使用量 |
| limit_memory | - | バイト | Memory Limit使用量 |
| request_cpu | - | millicores | CPU Request使用量 |
| request_memory | - | バイト | Memory Request使用量 |
| running_container | integer | - | Running Container数 |
| stopped_container | integer | - | Stopped Container数 |
| waiting_container | integer | - | Waiting Container数 |
Kubernetes Podボリューム(kube_pod_volume) メトリクス
kube_pod_volumeカテゴリは、ノードで実行中のPodにマウントされたボリュームの容量・i-node使用量を収集します。アプリPodのPVCボリュームはディレクトリ名がPV名であるため、volumeNameタグでPVCのspec.volumeNameと結合できます。
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| hostDevice | - | - | ボリュームが位置するホストデバイス |
| hostFileSystem | - | - | ボリュームのファイルシステム |
| hostMountPath | - | - | ホスト上のボリュームマウントパス |
| volumeName | - | - | ボリューム名 - PVCボリュームの場合はPV名(例: pvc-...)。PVCのspec.volumeNameと結合可能 |
| volumePlugin | - | - | ボリュームプラグイン - 例: kubernetes.io~csi、kubernetes.io~nfs、volume-subpaths |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| capacity | long | byte | ボリューム全体の容量 |
| available | long | byte | ボリュームの使用可能容量 |
| availablePercent | float | percent | ボリュームの使用可能容量の割合 |
| usedPercent | float | percent | ボリューム使用率 |
| free | long | byte | ボリュームの空き容量 |
| freePercent | float | percent | ボリュームの空き容量の割合 |
| totalInode | long | count | ボリュームの全i-node数 |
| usedInode | long | count | ボリュームで使用中のi-node数 |
| usedInodePercent | float | percent | ボリュームのi-node使用率 |
emptyDirボリュームの収集が追加されました。デフォルト(ディスク)mediumのemptyDirは別途のマウントではなくノードのルートファイルシステム上のディレクトリであるため、dfベースの収集では捕捉できませんでした。ノードエージェントがkubeletのボリュームディレクトリを直接照会し、同じkube_pod_volumeカテゴリーに送信します。
- 照会パス:
{HOST_PREFIX}{kubelet_root_dir}/pods/{podUid}/volumes/kubernetes.io~empty-dir/{volumeName} - 収集周期:60秒。ディレクトリ照会のコストが大きいため、5秒の収集周期とは分離します。
- emptyDirボリュームの
volumePluginタグの値はkubernetes.io~empty-dirです。
次のタグが追加されました。
| Tag | Type | Unit | Description |
|---|---|---|---|
volumeType | string | - | ボリュームの種類 - emptyDirボリュームは EmptyDir |
emptyDirMedium | string | - | emptyDirの保存媒体 - MemoryまたはDisk。PodのspecのemptyDir.medium基準で、未指定はDisk |
emptyDirSpecConfirmed | string | - | Podのspecを確認したかどうか - trueはspecで確認した値、falseはkubeletのパスとファイルシステムの種類から推定した値 |
次のフィールドが追加されました。
| Field | Type | Unit | Description |
|---|---|---|---|
usedSpace | long | byte | ボリューム使用量の合計 |
fileCount | long | count | ボリューム内のファイル数 |
sizeLimit | long | byte | PodのspecのemptyDir.sizeLimit- 未設定の場合は送信しません |
truncated | integer | - | 収集上限を超過したかどうか - 1の場合は上限に達し、値が実際より小さいことを示します |
capacity、available、usedPercentは、ボリューム容量を確定できる場合にのみ送信します。
sizeLimitがある場合は、その値をボリューム容量として使用します。sizeLimitがなく、mediumがMemoryの場合は、kubeletが作成したtmpfsの総量を容量として使用します。tmpfs総量のデフォルト値はノードメモリの半分です。sizeLimitがないDiskmediumは上限がないため容量を作成しません。この場合はPodのcontainer.ephemeral_storage_limitと比較してください。
ノードエージェント1.9.23バージョン以上で、上記のタグとフィールドをすべて送信します。収集の有効化とコスト上限のオプションは、Kubernetesエージェントのオプション設定を参照してください。
Kubernetes Horizontal Pod Autoscaler(HPA)(kube_hpa_stat) メトリクス
WhaTapで使用するCluster RoleにHPAが追加されると、メトリクス収集が開始されます。
- 対象:クラスタープロジェクト
- 収集間隔:5秒
- 統計データ:5分、1時間
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| name | - | - | HPA名 |
次のタグが追加されました。
| Tag | Type | Unit | Description |
|---|---|---|---|
scaleTargetKind | string | - | スケール対象オブジェクトの種類(spec.scaleTargetRef.kind) |
scaleTargetName | string | - | スケール対象オブジェクトの名前(spec.scaleTargetRef.name) |
scaleTargetApiVersion | string | - | スケール対象オブジェクトのAPIバージョン |
creationTimeMillis | long | - | HPAの作成時刻(epoch ms) - 値がない場合は送信しません |
HPAのスケール対象はspec.scaleTargetRefにあります。ownerReferencesベースのowner_kind、owner_name、owner_idタグはHPAではほとんど空の値になるため、スケール対象はscaleTarget*タグで確認してください。既存のタグは下位互換のために維持します。
マスターエージェント1.9.24バージョン以上で収集します。
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| currentReplicas | integer | count | 現在のレプリカ数 |
| desiredReplicas | integer | count | Desiredレプリカ数 |
| lastScaleTime | integer | count | 最後にスケールが変更されたTimeStamp |
| maxReplicas | integer | count | 最大レプリカ数 |
| minReplicas | integer | count | 最小レプリカ数 |
Kubernetes HPAリスト(kube_hpa) メトリクス
kube_hpaカテゴリーは、kubectl get hpa -o wideの結果と同等のHPAリストデータを収集します。時系列指標の性格を持つkube_hpa_statとは別のカテゴリーです。
- 対象:クラスタープロジェクト
- 収集間隔:30秒
- 要求バージョン:マスターエージェント1.9.24以上
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
hpaUid | string | - | HPAのUID(固有値) |
hpaName | string | - | HPAの名前 |
namespace | string | - | HPAが所属するネームスペース |
creationTimeMillis | long | - | HPAの作成時刻(epoch ms) |
scaleTargetKind | string | - | スケール対象オブジェクトの種類 |
scaleTargetName | string | - | スケール対象オブジェクトの名前 |
scaleTargetApiVersion | string | - | スケール対象オブジェクトのAPIバージョン |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
minReplicas | integer | count | 最小レプリカ数 |
maxReplicas | integer | count | 最大レプリカ数 |
currentReplicas | integer | count | 現在のレプリカ数 |
desiredReplicas | integer | count | Desiredレプリカ数 |
targetMetricType | list | - | スケール基準となるメトリックの種類リスト |
targetValue | list | - | メトリック別の目標値リスト |
currentValue | list | - | メトリック別の現在値リスト |
conditionAbleToScale | string | - | AbleToScaleコンディションの状態 |
conditionScalingActive | string | - | ScalingActiveコンディションの状態 |
conditionScalingLimited | string | - | ScalingLimitedコンディションの状態 |
targetMetricType、targetValue、currentValueは、同じインデックスが1つのメトリックに対 応する並列リストです。HPAはCPU、メモリ、ユーザー定義メトリックを同時に持つことができるため、1つの値では表現できません。
- 値は
kubectlの表記と同じ文字列です(例:50%、100m)。 - metrics-serverがなく現在値を取得できない場合は
<unknown>として収集します。 - Resourceメトリック以外のPods、External、Objectメトリックは、それぞれ
pods:、external:、object:の接頭辞を付けて格納します。 autoscaling/v2を優先して使用し、未対応のクラスターはautoscaling/v1で代替します。
ClusterRoleにhorizontalpodautoscalers権限がすでに含まれているため、追加の権限設定は必要ありません。
プロセス(kube_process) メトリクス
Kubernetesエージェント1.7.12バージョン以降が必要です。エージェントのアップデートの詳細については、次の文書を参照してください。
ノードに存在するKubernetes関連のプロセスをモニタリングする時に収集されます。
-
対象:クラスタープロジェクト、ネームスペースプロジェクト
-
収集間隔:5秒
-
統計データ:5分
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| ppid | string | - | 親プロセスID /proc/[pid]/status::PPid |
| pid | string | - | プロセスID /proc/[pid]/status::Pid |
| cmd1 | string | - | コマンド名 /proc/[pid]/status::Name |
| cmd2 | string | - | コマンドライン(全コマンドと印字) /proc/[pid]/cmdline |
| ユーザー | string | - | ユーザーIDまたはユーザー名 /proc/[pid]/status::Uid |
| onodeName | string | - | プロセスのノード名 コンテナシステム環境変数 ( NODE_IP) |
| createTime | TimeStamp | - | プロセス開始時間 /proc/uptimeによって計算されたフィールド |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| cpu | float | percent(%) | CPU使用率 - /proc/[pid]/statによって計算されたフィールド |
| memory | float | percent(%) | メモリ使用率 - /proc/[pid]/statmによって計算されたフィールド |
| rss | long | バイト | 実際のメモリ使用量(Resident Set Size) - /proc/[pid]/statusの VmRSS |
| uid | string | - | ユーザーIDまたはユーザー名 - /proc/[pid]/statusのUid |
| state | string | - | プロセス状態 - /proc/[pid]/statusのState |
| sharedMemory | long | バイト | 共有メモリサイズ - /proc/[pid]/statmによって計算されたフィールド |
| openFileDescriptors | integer | - | プロセスが開いたファイルディスク リプター数 - /proc/[pid]/fdによって計算されたフィールド |
| vmSize | long | バイト | 仮想メモリサイズ(Virtual Memory Size) - /proc/[pid]/statusのVmSize |
| threads | integer | - | プロセスが作成したスレッド数 - /proc/[pid]/statusのThreads |