この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/system/system-metrics/
翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930)
システムメトリクスに関するセマンティック規約
ステータス: Development
この文書では、OpenTelemetryにおける一般的なシステムレベルのメトリクスのInstrumentと属性について説明します。この仕様で明示的に定義されていないInstrumentを作成する際は、汎用のメトリクスセマンティック規約も参照してください。
system.*名前空間は、ホストのメトリクスを報告するために専ら使用すべきです(SHOULD)。
system.*名前空間は、対象システム(物理サーバー、仮想マシンなど)の内部からメトリクスが収集される場合にのみ使用すべきです(SHOULD)。
技術固有の明確に定義されたAPI(KubeletのAPIやコンテナランタイムなど)から収集されるメトリクスは、それぞれの名前空間(k8s.*、container.*など)の下で報告すべきです。
ホストに関連するリソース属性は、host.*名前空間の下で報告すべきです(SHOULD)。
[!IMPORTANT] この文書のv1.21.0 以前のバージョンを使っている既存の計装やコレクターは、次に従うべきです。
- System semantic conventionsが安定版として宣言されるまで、この文書の破壊的変更を取り込むべきではありません(SHOULD NOT)。規約には、属性、メトリクス名、計測単位などが含まれますが、これらに限定されません。
- 移行計画が確定した後、ユーザーが新しい規約にopt-inできるようにする制御機構を導入すべきです(SHOULD)。
汎用メトリクス
メトリクス: system.uptime
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.uptime | Gauge | s | システムが実行されている時間。[1] | host |
[1]: 計装は、double型のgaugeを使用し、利用可能な最高精度の浮動小数点数で稼働時間を秒単位で計測すべきです(SHOULD)。
実際の精度は計装とオペレーティングシステムに依存します。
プロセッサーメトリクス
Description: 名前空間system.cpuの下で取得される、システムレベルのプロセッサーメトリクス。
メトリクス: system.cpu.physical.count
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.cpu.physical.count | UpDownCounter | {cpu} | ハードウェア上の実際の物理プロセッサーコアの数を報告します。[1] | host |
[1]: ソケット数にソケットあたりのコア数を乗じて算出されます
メトリクス: system.cpu.logical.count
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.cpu.logical.count | UpDownCounter | {cpu} | オペレーティングシステムがマルチタスクを管理するために作成した論理(仮想)プロセッサーコアの数を報告します。[1] | host |
[1]: ソケット数にソケットあたりのコア数、さらにコアあたりのスレッド数を乗じて算出されます
メトリクス: system.cpu.time
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.cpu.time | Counter | s | 各論理CPUが各モードで消費した秒数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
cpu.mode | Recommended | string | CPUのモード[1] | user; system | |
cpu.logical_number | Opt-In | int | 論理CPU番号 [0..n-1] | 1 |
[1] cpu.mode: 次の状態を使用すべきです(SHOULD): user、system、nice、idle、iowait、interrupt、steal
cpu.modeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
idle | Idle | |
interrupt | Interrupt | |
iowait | IO Wait | |
nice | Nice | |
steal | Steal | |
system | System | |
user | User |
メトリクス: system.cpu.frequency
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.cpu.frequency | Gauge | Hz | 論理CPUの動作周波数(ヘルツ単位)。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
cpu.logical_number | Recommended | int | 論理CPU番号 [0..n-1] | 1 |
メトリクス: system.cpu.utilization
このメトリクスはopt-inです。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.cpu.utilization | Gauge | 1 | 各論理CPUについて、計測間隔における累積CPU時間(cpu.time)の変化量を経過時間で割った値として使用率が算出されます。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
cpu.mode | Recommended | string | CPUのモード[1] | user; system | |
cpu.logical_number | Opt-In | int | 論理CPU番号 [0..n-1] | 1 |
[1] cpu.mode: 次のモードを使用すべきです(SHOULD): user、system、nice、idle、iowait、interrupt、steal
cpu.modeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
idle | Idle | |
interrupt | Interrupt | |
iowait | IO Wait | |
nice | Nice | |
steal | Steal | |
system | System | |
user | User |
メモリメトリクス
Description: 名前空間system.memoryの下で取得される、システムレベルのメモリメトリクス。
これにはページング/スワップメモリは含まれません。
メトリクス: system.memory.usage
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.usage | UpDownCounter | By | 状態別に使用中のメモリを報告します。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.memory.state | Recommended | string | メモリの状態 | free; cached |
system.memory.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
buffers | buffers | |
cached | cached | |
free | free | |
used | 実際に使用中の仮想メモリ量(バイト単位)。[1] |
[1]: オペレーティングシステムのメトリクスに基づく算出。Linuxでは、これは/proc/meminfoの「MemTotal - MemAvailable」に相当し、freeやcached、buffersに基づく古い計算式よりも、アプリケーションが実際に使用しているメモリをより正確に反映します。MemAvailableが利用できない場合は、それらの古い計算式にフォールバックすることがあります。
メトリクス: system.memory.limit
このメトリクスはopt-inです。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.limit | UpDownCounter | By | システムで利用可能な仮想メモリの総量。 | host |
メトリクス: system.memory.utilization
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.utilization | Gauge | 1 | 使用中のメモリバイト数の割合。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.memory.state | Recommended | string | メモリの状態 | free; cached |
system.memory.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
buffers | buffers | |
cached | cached | |
free | free | |
used | 実際に使用中の仮想メモリ量(バイト単位)。[1] |
[1]: オペレーティングシステムのメトリクスに基づく算出。Linuxでは、これは/proc/meminfoの「MemTotal - MemAvailable」に相当し、freeやcached、buffersに基づく古い計算式よりも、アプリケーションが実際に使用しているメモリをより正確に反映します。MemAvailableが利用できない場合は、それらの古い計算式にフォールバックすることがあります。
ページング/スワップメトリクス
Description: 名前空間system.pagingの下で取得される、システムレベルのページング/スワップメモリメトリクス。
メトリクス: system.paging.usage
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.paging.usage | UpDownCounter | By | UNIXのswapまたはWindowsのpagefile使用量。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.device | Recommended | string | ページング操作を管理するデバイスの一意な識別子。 | /dev/dm-0 | |
system.paging.state | Recommended | string | メモリページングの状態 | free |
system.paging.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
free | free | |
used | used |
メトリクス: system.paging.utilization
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.paging.utilization | Gauge | 1 | swap(UNIX)またはpagefile(Windows)の使用率。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.device | Recommended | string | ページング操作を管理するデバイスの一意な識別子。 | /dev/dm-0 | |
system.paging.state | Recommended | string | メモリページングの状態 | free |
system.paging.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
free | free | |
used | used |
メトリクス: system.paging.faults
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.paging.faults | Counter | {fault} | ページフォルトの数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.paging.fault.type | Recommended | string | ページングフォルトの種別 | minor |
system.paging.fault.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
major | major | |
minor | minor |
メトリクス: system.paging.operations
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.paging.operations | Counter | {operation} | ページング操作の数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.paging.direction | Recommended | string | ページングのアクセス方向 | in | |
system.paging.fault.type | Recommended | string | ページングフォルトの種別 | minor |
system.paging.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
in | in | |
out | out |
system.paging.fault.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
major | major | |
minor | minor |
ディスクコントローラーメトリクス
Description: 名前空間system.diskの下で取得される、システムレベルのディスク性能メトリクス。
メトリクス: system.disk.io
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.disk.io | Counter | By | 転送されたディスクバイト数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
disk.io.direction | Recommended | string | ディスクIO操作の方向。 | read | |
system.device | Recommended | string | デバイス識別子 | (identifier) |
disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
read | read | |
write | write |
メトリクス: system.disk.operations
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.disk.operations | Counter | {operation} | ディスク操作の回数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
disk.io.direction | Recommended | string | ディスクIO操作の方向。 | read | |
system.device | Recommended | string | デバイス識別子 | (identifier) |
disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
read | read | |
write | write |
メトリクス: system.disk.io_time
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.disk.io_time | Counter | s | ディスクが活性化していた時間。[1] | host |
[1]: I/Oパス上で使用された実際の経過時間(「壁時計時間」。並列で実行されている操作の時間は数えない)。次のように計測されます。
- Linux: procfs-diskstatsのフィールド13
- Windows:
「Disk% Idle Time」
パフォーマンスカウンターの補数:
uptime * (100 - "Disk\% Idle Time") / 100
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.device | Recommended | string | デバイス識別子 | (identifier) |
メトリクス: system.disk.operation_time
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.disk.operation_time | Counter | s | 各操作の完了に要した時間の合計。[1] | host |
[1]: 各リクエストが要した時間の合計であるため、並列で発行されたリクエストはそれぞれこの値の増加に寄与します。次のように計測されます。
- Linux: procfs-diskstatsのフィールド7と11
- Windows: 「Avg. Disk sec/Read」パフォーマンスカウンターと「Disk Reads/sec」パフォーマンスカウンターの積(書き込みについても同様)
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
disk.io.direction | Recommended | string | ディスクIO操作の方向。 | read | |
system.device | Recommended | string | デバイス識別子 | (identifier) |
disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
read | read | |
write | write |
メトリクス: system.disk.merged
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.disk.merged | Counter | {operation} | 単一の物理ディスクアクセス操作にマージされたディスクの読み書きの数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
disk.io.direction | Recommended | string | ディスクIO操作の方向。 | read | |
system.device | Recommended | string | デバイス識別子 | (identifier) |
disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
read | read | |
write | write |
メトリクス: system.disk.limit
このメトリクスはopt-inです。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.disk.limit | UpDownCounter | By | ディスクの総ストレージ容量。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.device | Recommended | string | デバイス識別子 | (identifier) |
ファイルシステムメトリクス
Description: 名前空間system.filesystemの下で取得される、システムレベルのファイルシステムメトリクス。
メトリクス: system.filesystem.usage
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.filesystem.usage | UpDownCounter | By | ファイルシステムの状態別の容量使用状況を報告します。[1] | host |
[1]: 異なるsystem.filesystem.state属性にわたるすべてのsystem.filesystem.usage値の合計は、ファイルシステムの総ストレージ容量、つまりsystem.filesystem.limitと等しくなるべきです(SHOULD)。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.device | Recommended | string | ファイルシステムが存在するデバイスの識別子。 | /dev/sda; \network-drive | |
system.filesystem.mode | Recommended | string | ファイルシステムのモード | rw, ro | |
system.filesystem.mountpoint | Recommended | string | ファイルシステムのマウントパス | /mnt/data | |
system.filesystem.state | Recommended | string | ファイルシステムの状態 | used | |
system.filesystem.type | Recommended | string | ファイルシステムの種別 | ext4 |
system.filesystem.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
free | free | |
reserved | reserved | |
used | used |
system.filesystem.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
exfat | exfat | |
ext4 | ext4 | |
fat32 | fat32 | |
hfsplus | hfsplus | |
ntfs | ntfs | |
refs | refs |
メトリクス: system.filesystem.utilization
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.filesystem.utilization | Gauge | 1 | 使用中のファイルシステムバイト数の割合。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.device | Recommended | string | ファイルシステムが存在するデバイスの識別子。 | /dev/sda; \network-drive | |
system.filesystem.mode | Recommended | string | ファイルシステムのモード | rw, ro | |
system.filesystem.mountpoint | Recommended | string | ファイルシステムのマウントパス | /mnt/data | |
system.filesystem.state | Recommended | string | ファイルシステムの状態 | used | |
system.filesystem.type | Recommended | string | ファイルシステムの種別 | ext4 |
system.filesystem.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
free | free | |
reserved | reserved | |
used | used |
system.filesystem.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
exfat | exfat | |
ext4 | ext4 | |
fat32 | fat32 | |
hfsplus | hfsplus | |
ntfs | ntfs | |
refs | refs |
メトリクス: system.filesystem.limit
このメトリクスはopt-inです。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.filesystem.limit | UpDownCounter | By | ファイルシステムの総ストレージ容量。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.device | Recommended | string | ファイルシステムが存在するデバイスの識別子。 | /dev/sda; \network-drive | |
system.filesystem.mode | Recommended | string | ファイルシステムのモード | rw, ro | |
system.filesystem.mountpoint | Recommended | string | ファイルシステムのマウントパス | /mnt/data | |
system.filesystem.type | Recommended | string | ファイルシステムの種別 | ext4 |
system.filesystem.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
exfat | exfat | |
ext4 | ext4 | |
fat32 | fat32 | |
hfsplus | hfsplus | |
ntfs | ntfs | |
refs | refs |
メトリクス: system.filesystem.lock.count
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.filesystem.lock.count | UpDownCounter | {lock} | ファイルシステムロックの数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
file.lock.mechanism | Recommended | string | POSIXで示されるようなロック機構 | POSIX; FLOCK; DELEG; LEASE | |
file.lock.mode | Recommended | string | POSIXで文書化されているようなロックまたは操作のモード | ADVISORY; MANDATORY; BREAKING; ACTIVE; BREAKER | |
file.lock.type | Recommended | string | 例えばPOSIXのl_typeで表されるようなロックの種別。 | read | |
system.device | Recommended | string | ファイルが存在するデバイスのOS固有の識別子。 | 08:01 |
file.lock.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
read | read | |
write | write |
ネットワークメトリクス
Description: 名前空間system.networkの下で取得される、システムレベルのネットワークメトリクス。
メトリクス: system.network.packet.dropped
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.network.packet.dropped | Counter | {packet} | エラーがなかったにもかかわらずドロップまたは破棄されたパケットの数。[1] | host |
[1]: 次のように計測されます。
- Linux:
/proc/net/devのdrop列(出典) - Windows:
GetIfEntry2から得られるInDiscards/OutDiscards
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
network.interface.name | Recommended | string | ネットワークインターフェース名。 | lo; eth0 | |
network.io.direction | Recommended | string | 観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。 | transmit |
network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
receive | receive | |
transmit | transmit |
メトリクス: system.network.packet.count
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.network.packet.count | Counter | {packet} | 転送されたパケットの数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
network.io.direction | Recommended | string | 観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。 | transmit | |
system.device | Recommended | string | デバイス識別子 | (identifier) |
network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
receive | receive | |
transmit | transmit |
メトリクス: system.network.errors
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.network.errors | Counter | {error} | 検出されたネットワークエラーの数。[1] | host |
[1]: 次のように計測されます。
- Linux:
/proc/net/devのerrs列(出典) - Windows:
GetIfEntry2から得られるInErrors/OutErrors。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
network.interface.name | Recommended | string | ネットワークインターフェース名。 | lo; eth0 | |
network.io.direction | Recommended | string | 観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。 | transmit |
network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
receive | receive | |
transmit | transmit |
メトリクス: system.network.io
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.network.io | Counter | By | 送受信されたバイト数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
network.interface.name | Recommended | string | ネットワークインターフェース名。 | lo; eth0 | |
network.io.direction | Recommended | string | 観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。 | transmit |
network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
receive | receive | |
transmit | transmit |
メトリクス: system.network.connection.count
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.network.connection.count | UpDownCounter | {connection} | 接続の数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
network.connection.state | Recommended | string | ネットワーク接続の状態[1] | close_wait | |
network.interface.name | Recommended | string | ネットワークインターフェース名。 | lo; eth0 | |
network.transport | Recommended | string | OSIトランスポート層またはプロセス間通信の方法。[2] | tcp; udp |
[1] network.connection.state: 接続状態はrfc9293の一部として定義されています
[2] network.transport: この値は小文字に正規化すべきです(SHOULD)。
ポート番号はトランスポートを知らなければ曖昧であるため、ポート番号を設定する際は常にトランスポートも設定することを検討してください。例えば、異なるプロセスがTCPポート12345とUDPポート12345の両方をリスンしている場合があります。
network.connection.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
close_wait | close_wait | |
closed | closed | |
closing | closing | |
established | established | |
fin_wait_1 | fin_wait_1 | |
fin_wait_2 | fin_wait_2 | |
last_ack | last_ack | |
listen | listen | |
syn_received | syn_received | |
syn_sent | syn_sent | |
time_wait | time_wait |
network.transportには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
pipe | 名前付きまたは名前なしパイプ。 | |
quic | QUIC | |
tcp | TCP | |
udp | UDP | |
unix | UNIXドメインソケット |
集計されたシステムプロセスメトリクス
Description: 名前空間system.processの下で取得される、システムレベルの集計されたプロセスメトリクス。
個々のプロセスレベルのメトリクスについては、プロセスメトリクスを参照してください。
メトリクス: system.process.count
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.process.count | UpDownCounter | {process} | 各状態にあるプロセスの総数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
process.state | Recommended | string | プロセスの状態。例えばLinux Process State Codes | running |
process.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
defunct | defunct | |
running | running | |
sleeping | sleeping | |
stopped | stopped |
メトリクス: system.process.created
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.process.created | Counter | {process} | ホストの稼働時間中に作成されたプロセスの総数。 | host |
メトリクス: system.process.limit
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.process.limit | UpDownCounter | {thread} | オペレーティングシステムが許可する同時実行プロセス/タスクの最大数。[1] | host |
[1]: Linuxでは、これは/proc/sys/kernel/pid_maxまたは/proc/sys/kernel/threads-maxに相当します。
ユーザーごとのプロセス上限は、getrlimit(RLIMIT_NPROC)を通じて取得することもできます。
BSD系システムでは、これはsysctl kern.maxprocに相当します。このメトリクスはWindowsシステムではサポートされません。
system.memory.{os}. - OS固有のシステムメモリメトリクス
複数のOSにわたって意味が異なり競合するシステムレベルのメトリクスのInstrument名には、system.{os}.を前置したうえで、CPU、メモリ、ネットワークなどの各エンティティについて上記に挙げた階層に従うべきです。
例えば、UNIXのload averageは、与えられた間隔にわたるものとしてはよく標準化されておらず、似たような負荷であっても異なるUNIX系OS間でその値は異なる場合があります。
Without getting into the vagaries of every Unix-like operating system in existence, the load average more or less represents the average number of processes that are in the running (using the CPU) or runnable (waiting for the CPU) states. One notable exception exists: Linux includes processes in uninterruptible sleep states, typically waiting for some I/O activity to complete. This can markedly increase the load average on Linux systems.
(既存のあらゆるUnix系オペレーティングシステムの細かな違いに踏み込まずに言えば、load averageは大まかに、実行中(CPUを使用している)または実行可能(CPUを待っている)状態にあるプロセスの平均数を表す。一つ注目すべき例外がある。Linuxは、通常は何らかのI/O活動の完了を待っている、中断不可能なスリープ状態のプロセスも含める。これにより、Linuxシステムではload averageが著しく高くなることがある。)
(引用元、 Linuxのソースコード)
Linuxにおける1分間のload averageのInstrumentは、上記で提案したcpu名を再利用し、このメトリクスをOSごとに分けるための{os}プレフィックスを持たせて、system.linux.cpu.load_1mと命名できます。
メトリクス: system.memory.linux.available
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.linux.available | UpDownCounter | By | スワップを引き起こさずに新しいアプリケーションを起動するために利用可能なメモリの推定量。[1] | host |
[1]: これは、state=freeのsystem.memory.usageメトリクスの代替です。
Linuxはバージョン3.14から「available」メモリを公開しています。これは「free」メモリを基準として、そこにカーネル固有の値を加味します。
これは、単なる「free」メモリよりも正確であるとされています。
計算方法の参考として、こちらを参照してください。
/proc/meminfoのMemAvailableも参照してください。
メトリクス: system.memory.linux.hugepages.limit
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.linux.hugepages.limit | UpDownCounter | {page} | 利用可能なhugepageの総数。 | host |
メトリクス: system.memory.linux.hugepages.page_size
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.linux.hugepages.page_size | UpDownCounter | By | システムのhugepageサイズ(バイト単位)。 | host |
メトリクス: system.memory.linux.hugepages.reserved
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.linux.hugepages.reserved | UpDownCounter | {page} | 予約済みhugepageの数。[1] | host |
[1]: 割り当ての確約がされているが、まだ実際の割り当てが行われていないhugepage。
予約済みページはすでにfreeページに数えられているため、usage状態ではなく別のメトリクスとして報告されます。
これらは、非予約の割り当てには使用できないfreeページの部分集合を表します。
メトリクス: system.memory.linux.hugepages.surplus
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.linux.hugepages.surplus | UpDownCounter | {page} | サープラスhugepageの数。[1] | host |
[1]: 永続プールを超えて過剰にコミットされたhugepage。
サープラスページはusedまたはfreeのいずれの状態にもなり得るため、usage状態ではなく別のメトリクスとして報告されます。
usageにサープラスページを含めると、usage状態の合計がlimitと一致するという規約が破られます。
メトリクス: system.memory.linux.hugepages.usage
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.linux.hugepages.usage | UpDownCounter | {page} | 状態別に使用中のhugepageの数。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.memory.linux.hugepages.state | Recommended | string | LinuxのHugePagesメモリの状態 | free; used |
system.memory.linux.hugepages.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
free | free | |
used | used |
メトリクス: system.memory.linux.hugepages.utilization
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.linux.hugepages.utilization | Gauge | 1 | 状態別に使用中のhugepageの割合。 | host |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.memory.linux.hugepages.state | Recommended | string | LinuxのHugePagesメモリの状態 | free; used |
system.memory.linux.hugepages.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
free | free | |
used | used |
メトリクス: system.memory.linux.shared
このメトリクスはopt-inです。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.linux.shared | UpDownCounter | By | 使用中の共有メモリ(主にtmpfsによるもの)。[1] | host |
[1]: freeコマンドのshared、または
/proc/meminfoのShmemに相当します
メトリクス: system.memory.linux.slab.usage
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
system.memory.linux.slab.usage | UpDownCounter | By | Linuxカーネルが、頻繁に使用されるオブジェクトのキャッシュを管理するために使用しているメモリを報告します。[1] | host |
[1]: memory.linux.slab.usageにおけるreclaimable状態とunreclaimable状態の値の合計は、システムで利用可能なslabメモリの総量と等しくなるべきです(SHOULD)。
slabメモリの総量は一定ではなく、時間とともに変化することがあります。
Slabアロケーターと、/proc/meminfoのSlabも参照してください。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.memory.linux.slab.state | Recommended | string | LinuxのSlabメモリの状態 | reclaimable; unreclaimable |
system.memory.linux.slab.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
reclaimable | reclaimable | |
unreclaimable | unreclaimable |