この記事は英語の原文を日本語に翻訳したものです。原文: 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

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.uptimeGaugesシステムが実行されている時間。[1]Developmenthost

[1]: 計装は、double型のgaugeを使用し、利用可能な最高精度の浮動小数点数で稼働時間を秒単位で計測すべきです(SHOULD)。 実際の精度は計装とオペレーティングシステムに依存します。

プロセッサーメトリクス

Description: 名前空間system.cpuの下で取得される、システムレベルのプロセッサーメトリクス。

メトリクス: system.cpu.physical.count

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.cpu.physical.countUpDownCounter{cpu}ハードウェア上の実際の物理プロセッサーコアの数を報告します。[1]Developmenthost

[1]: ソケット数にソケットあたりのコア数を乗じて算出されます

メトリクス: system.cpu.logical.count

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.cpu.logical.countUpDownCounter{cpu}オペレーティングシステムがマルチタスクを管理するために作成した論理(仮想)プロセッサーコアの数を報告します。[1]Developmenthost

[1]: ソケット数にソケットあたりのコア数、さらにコアあたりのスレッド数を乗じて算出されます

メトリクス: system.cpu.time

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.cpu.timeCounters各論理CPUが各モードで消費した秒数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
cpu.modeRelease CandidateRecommendedstringCPUのモード[1]user; system
cpu.logical_numberDevelopmentOpt-Inint論理CPU番号 [0..n-1]1

[1] cpu.mode: 次の状態を使用すべきです(SHOULD): usersystemniceidleiowaitinterruptsteal


cpu.modeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
idleIdleRelease Candidate
interruptInterruptRelease Candidate
iowaitIO WaitRelease Candidate
niceNiceRelease Candidate
stealStealRelease Candidate
systemSystemRelease Candidate
userUserRelease Candidate

メトリクス: system.cpu.frequency

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.cpu.frequencyGaugeHz論理CPUの動作周波数(ヘルツ単位)。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
cpu.logical_numberDevelopmentRecommendedint論理CPU番号 [0..n-1]1

メトリクス: system.cpu.utilization

このメトリクスはopt-inです。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.cpu.utilizationGauge1各論理CPUについて、計測間隔における累積CPU時間(cpu.time)の変化量を経過時間で割った値として使用率が算出されます。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
cpu.modeRelease CandidateRecommendedstringCPUのモード[1]user; system
cpu.logical_numberDevelopmentOpt-Inint論理CPU番号 [0..n-1]1

[1] cpu.mode: 次のモードを使用すべきです(SHOULD): usersystemniceidleiowaitinterruptsteal


cpu.modeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
idleIdleRelease Candidate
interruptInterruptRelease Candidate
iowaitIO WaitRelease Candidate
niceNiceRelease Candidate
stealStealRelease Candidate
systemSystemRelease Candidate
userUserRelease Candidate

メモリメトリクス

Description: 名前空間system.memoryの下で取得される、システムレベルのメモリメトリクス。 これにはページング/スワップメモリは含まれません。

メトリクス: system.memory.usage

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.usageUpDownCounterBy状態別に使用中のメモリを報告します。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.memory.stateDevelopmentRecommendedstringメモリの状態free; cached

system.memory.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
buffersbuffersDevelopment
cachedcachedDevelopment
freefreeDevelopment
used実際に使用中の仮想メモリ量(バイト単位)。[1]Development

[1]: オペレーティングシステムのメトリクスに基づく算出。Linuxでは、これは/proc/meminfoの「MemTotal - MemAvailable」に相当し、freeやcached、buffersに基づく古い計算式よりも、アプリケーションが実際に使用しているメモリをより正確に反映します。MemAvailableが利用できない場合は、それらの古い計算式にフォールバックすることがあります。

メトリクス: system.memory.limit

このメトリクスはopt-inです。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.limitUpDownCounterByシステムで利用可能な仮想メモリの総量。Developmenthost

メトリクス: system.memory.utilization

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.utilizationGauge1使用中のメモリバイト数の割合。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.memory.stateDevelopmentRecommendedstringメモリの状態free; cached

system.memory.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
buffersbuffersDevelopment
cachedcachedDevelopment
freefreeDevelopment
used実際に使用中の仮想メモリ量(バイト単位)。[1]Development

[1]: オペレーティングシステムのメトリクスに基づく算出。Linuxでは、これは/proc/meminfoの「MemTotal - MemAvailable」に相当し、freeやcached、buffersに基づく古い計算式よりも、アプリケーションが実際に使用しているメモリをより正確に反映します。MemAvailableが利用できない場合は、それらの古い計算式にフォールバックすることがあります。

ページング/スワップメトリクス

Description: 名前空間system.pagingの下で取得される、システムレベルのページング/スワップメモリメトリクス。

メトリクス: system.paging.usage

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.paging.usageUpDownCounterByUNIXのswapまたはWindowsのpagefile使用量。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.deviceDevelopmentRecommendedstringページング操作を管理するデバイスの一意な識別子。/dev/dm-0
system.paging.stateDevelopmentRecommendedstringメモリページングの状態free

system.paging.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
freefreeDevelopment
usedusedDevelopment

メトリクス: system.paging.utilization

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.paging.utilizationGauge1swap(UNIX)またはpagefile(Windows)の使用率。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.deviceDevelopmentRecommendedstringページング操作を管理するデバイスの一意な識別子。/dev/dm-0
system.paging.stateDevelopmentRecommendedstringメモリページングの状態free

system.paging.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
freefreeDevelopment
usedusedDevelopment

メトリクス: system.paging.faults

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.paging.faultsCounter{fault}ページフォルトの数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.paging.fault.typeRelease CandidateRecommendedstringページングフォルトの種別minor

system.paging.fault.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
majormajorRelease Candidate
minorminorRelease Candidate

メトリクス: system.paging.operations

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.paging.operationsCounter{operation}ページング操作の数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.paging.directionDevelopmentRecommendedstringページングのアクセス方向in
system.paging.fault.typeRelease CandidateRecommendedstringページングフォルトの種別minor

system.paging.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
ininDevelopment
outoutDevelopment

system.paging.fault.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
majormajorRelease Candidate
minorminorRelease Candidate

ディスクコントローラーメトリクス

Description: 名前空間system.diskの下で取得される、システムレベルのディスク性能メトリクス。

メトリクス: system.disk.io

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.disk.ioCounterBy転送されたディスクバイト数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
disk.io.directionRelease CandidateRecommendedstringディスクIO操作の方向。read
system.deviceDevelopmentRecommendedstringデバイス識別子(identifier)

disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
readreadRelease Candidate
writewriteRelease Candidate

メトリクス: system.disk.operations

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.disk.operationsCounter{operation}ディスク操作の回数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
disk.io.directionRelease CandidateRecommendedstringディスクIO操作の方向。read
system.deviceDevelopmentRecommendedstringデバイス識別子(identifier)

disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
readreadRelease Candidate
writewriteRelease Candidate

メトリクス: system.disk.io_time

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.disk.io_timeCountersディスクが活性化していた時間。[1]Developmenthost

[1]: I/Oパス上で使用された実際の経過時間(「壁時計時間」。並列で実行されている操作の時間は数えない)。次のように計測されます。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.deviceDevelopmentRecommendedstringデバイス識別子(identifier)

メトリクス: system.disk.operation_time

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.disk.operation_timeCounters各操作の完了に要した時間の合計。[1]Developmenthost

[1]: 各リクエストが要した時間の合計であるため、並列で発行されたリクエストはそれぞれこの値の増加に寄与します。次のように計測されます。

  • Linux: procfs-diskstatsのフィールド7と11
  • Windows: 「Avg. Disk sec/Read」パフォーマンスカウンターと「Disk Reads/sec」パフォーマンスカウンターの積(書き込みについても同様)

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
disk.io.directionRelease CandidateRecommendedstringディスクIO操作の方向。read
system.deviceDevelopmentRecommendedstringデバイス識別子(identifier)

disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
readreadRelease Candidate
writewriteRelease Candidate

メトリクス: system.disk.merged

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.disk.mergedCounter{operation}単一の物理ディスクアクセス操作にマージされたディスクの読み書きの数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
disk.io.directionRelease CandidateRecommendedstringディスクIO操作の方向。read
system.deviceDevelopmentRecommendedstringデバイス識別子(identifier)

disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
readreadRelease Candidate
writewriteRelease Candidate

メトリクス: system.disk.limit

このメトリクスはopt-inです。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.disk.limitUpDownCounterByディスクの総ストレージ容量。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.deviceDevelopmentRecommendedstringデバイス識別子(identifier)

ファイルシステムメトリクス

Description: 名前空間system.filesystemの下で取得される、システムレベルのファイルシステムメトリクス。

メトリクス: system.filesystem.usage

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.filesystem.usageUpDownCounterByファイルシステムの状態別の容量使用状況を報告します。[1]Developmenthost

[1]: 異なるsystem.filesystem.state属性にわたるすべてのsystem.filesystem.usage値の合計は、ファイルシステムの総ストレージ容量、つまりsystem.filesystem.limitと等しくなるべきです(SHOULD)。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.deviceDevelopmentRecommendedstringファイルシステムが存在するデバイスの識別子。/dev/sda; \network-drive
system.filesystem.modeDevelopmentRecommendedstringファイルシステムのモードrw, ro
system.filesystem.mountpointDevelopmentRecommendedstringファイルシステムのマウントパス/mnt/data
system.filesystem.stateDevelopmentRecommendedstringファイルシステムの状態used
system.filesystem.typeDevelopmentRecommendedstringファイルシステムの種別ext4

system.filesystem.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
freefreeDevelopment
reservedreservedDevelopment
usedusedDevelopment

system.filesystem.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
exfatexfatDevelopment
ext4ext4Development
fat32fat32Development
hfsplushfsplusDevelopment
ntfsntfsDevelopment
refsrefsDevelopment

メトリクス: system.filesystem.utilization

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.filesystem.utilizationGauge1使用中のファイルシステムバイト数の割合。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.deviceDevelopmentRecommendedstringファイルシステムが存在するデバイスの識別子。/dev/sda; \network-drive
system.filesystem.modeDevelopmentRecommendedstringファイルシステムのモードrw, ro
system.filesystem.mountpointDevelopmentRecommendedstringファイルシステムのマウントパス/mnt/data
system.filesystem.stateDevelopmentRecommendedstringファイルシステムの状態used
system.filesystem.typeDevelopmentRecommendedstringファイルシステムの種別ext4

system.filesystem.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
freefreeDevelopment
reservedreservedDevelopment
usedusedDevelopment

system.filesystem.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
exfatexfatDevelopment
ext4ext4Development
fat32fat32Development
hfsplushfsplusDevelopment
ntfsntfsDevelopment
refsrefsDevelopment

メトリクス: system.filesystem.limit

このメトリクスはopt-inです。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.filesystem.limitUpDownCounterByファイルシステムの総ストレージ容量。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.deviceDevelopmentRecommendedstringファイルシステムが存在するデバイスの識別子。/dev/sda; \network-drive
system.filesystem.modeDevelopmentRecommendedstringファイルシステムのモードrw, ro
system.filesystem.mountpointDevelopmentRecommendedstringファイルシステムのマウントパス/mnt/data
system.filesystem.typeDevelopmentRecommendedstringファイルシステムの種別ext4

system.filesystem.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
exfatexfatDevelopment
ext4ext4Development
fat32fat32Development
hfsplushfsplusDevelopment
ntfsntfsDevelopment
refsrefsDevelopment

メトリクス: system.filesystem.lock.count

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.filesystem.lock.countUpDownCounter{lock}ファイルシステムロックの数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
file.lock.mechanismDevelopmentRecommendedstringPOSIXで示されるようなロック機構POSIX; FLOCK; DELEG; LEASE
file.lock.modeDevelopmentRecommendedstringPOSIXで文書化されているようなロックまたは操作のモードADVISORY; MANDATORY; BREAKING; ACTIVE; BREAKER
file.lock.typeDevelopmentRecommendedstring例えばPOSIXのl_typeで表されるようなロックの種別。read
system.deviceDevelopmentRecommendedstringファイルが存在するデバイスのOS固有の識別子。08:01

file.lock.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
readreadDevelopment
writewriteDevelopment

ネットワークメトリクス

Description: 名前空間system.networkの下で取得される、システムレベルのネットワークメトリクス。

メトリクス: system.network.packet.dropped

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.network.packet.droppedCounter{packet}エラーがなかったにもかかわらずドロップまたは破棄されたパケットの数。[1]Developmenthost

[1]: 次のように計測されます。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.interface.nameRelease CandidateRecommendedstringネットワークインターフェース名。lo; eth0
network.io.directionRelease CandidateRecommendedstring観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。transmit

network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
receivereceiveRelease Candidate
transmittransmitRelease Candidate

メトリクス: system.network.packet.count

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.network.packet.countCounter{packet}転送されたパケットの数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.io.directionRelease CandidateRecommendedstring観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。transmit
system.deviceDevelopmentRecommendedstringデバイス識別子(identifier)

network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
receivereceiveRelease Candidate
transmittransmitRelease Candidate

メトリクス: system.network.errors

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.network.errorsCounter{error}検出されたネットワークエラーの数。[1]Developmenthost

[1]: 次のように計測されます。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.interface.nameRelease CandidateRecommendedstringネットワークインターフェース名。lo; eth0
network.io.directionRelease CandidateRecommendedstring観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。transmit

network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
receivereceiveRelease Candidate
transmittransmitRelease Candidate

メトリクス: system.network.io

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.network.ioCounterBy送受信されたバイト数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.interface.nameRelease CandidateRecommendedstringネットワークインターフェース名。lo; eth0
network.io.directionRelease CandidateRecommendedstring観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。transmit

network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
receivereceiveRelease Candidate
transmittransmitRelease Candidate

メトリクス: system.network.connection.count

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.network.connection.countUpDownCounter{connection}接続の数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.connection.stateDevelopmentRecommendedstringネットワーク接続の状態[1]close_wait
network.interface.nameRelease CandidateRecommendedstringネットワークインターフェース名。lo; eth0
network.transportStableRecommendedstringOSIトランスポート層またはプロセス間通信の方法。[2]tcp; udp

[1] network.connection.state: 接続状態はrfc9293の一部として定義されています

[2] network.transport: この値は小文字に正規化すべきです(SHOULD)。

ポート番号はトランスポートを知らなければ曖昧であるため、ポート番号を設定する際は常にトランスポートも設定することを検討してください。例えば、異なるプロセスがTCPポート12345とUDPポート12345の両方をリスンしている場合があります。


network.connection.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
close_waitclose_waitDevelopment
closedclosedDevelopment
closingclosingDevelopment
establishedestablishedDevelopment
fin_wait_1fin_wait_1Development
fin_wait_2fin_wait_2Development
last_acklast_ackDevelopment
listenlistenDevelopment
syn_receivedsyn_receivedDevelopment
syn_sentsyn_sentDevelopment
time_waittime_waitDevelopment

network.transportには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
pipe名前付きまたは名前なしパイプ。Stable
quicQUICStable
tcpTCPStable
udpUDPStable
unixUNIXドメインソケットStable

集計されたシステムプロセスメトリクス

Description: 名前空間system.processの下で取得される、システムレベルの集計されたプロセスメトリクス。 個々のプロセスレベルのメトリクスについては、プロセスメトリクスを参照してください。

メトリクス: system.process.count

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.process.countUpDownCounter{process}各状態にあるプロセスの総数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
process.stateRelease CandidateRecommendedstringプロセスの状態。例えばLinux Process State Codesrunning

process.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
defunctdefunctRelease Candidate
runningrunningRelease Candidate
sleepingsleepingRelease Candidate
stoppedstoppedRelease Candidate

メトリクス: system.process.created

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.process.createdCounter{process}ホストの稼働時間中に作成されたプロセスの総数。Developmenthost

メトリクス: system.process.limit

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.process.limitUpDownCounter{thread}オペレーティングシステムが許可する同時実行プロセス/タスクの最大数。[1]Developmenthost

[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

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.linux.availableUpDownCounterByスワップを引き起こさずに新しいアプリケーションを起動するために利用可能なメモリの推定量。[1]Developmenthost

[1]: これは、state=freesystem.memory.usageメトリクスの代替です。 Linuxはバージョン3.14から「available」メモリを公開しています。これは「free」メモリを基準として、そこにカーネル固有の値を加味します。 これは、単なる「free」メモリよりも正確であるとされています。 計算方法の参考として、こちらを参照してください。 /proc/meminfoMemAvailableも参照してください。

メトリクス: system.memory.linux.hugepages.limit

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.linux.hugepages.limitUpDownCounter{page}利用可能なhugepageの総数。Developmenthost

メトリクス: system.memory.linux.hugepages.page_size

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.linux.hugepages.page_sizeUpDownCounterByシステムのhugepageサイズ(バイト単位)。Developmenthost

メトリクス: system.memory.linux.hugepages.reserved

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.linux.hugepages.reservedUpDownCounter{page}予約済みhugepageの数。[1]Developmenthost

[1]: 割り当ての確約がされているが、まだ実際の割り当てが行われていないhugepage。 予約済みページはすでにfreeページに数えられているため、usage状態ではなく別のメトリクスとして報告されます。 これらは、非予約の割り当てには使用できないfreeページの部分集合を表します。

メトリクス: system.memory.linux.hugepages.surplus

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.linux.hugepages.surplusUpDownCounter{page}サープラスhugepageの数。[1]Developmenthost

[1]: 永続プールを超えて過剰にコミットされたhugepage。 サープラスページはusedまたはfreeのいずれの状態にもなり得るため、usage状態ではなく別のメトリクスとして報告されます。 usageにサープラスページを含めると、usage状態の合計がlimitと一致するという規約が破られます。

メトリクス: system.memory.linux.hugepages.usage

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.linux.hugepages.usageUpDownCounter{page}状態別に使用中のhugepageの数。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.memory.linux.hugepages.stateDevelopmentRecommendedstringLinuxのHugePagesメモリの状態free; used

system.memory.linux.hugepages.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
freefreeDevelopment
usedusedDevelopment

メトリクス: system.memory.linux.hugepages.utilization

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.linux.hugepages.utilizationGauge1状態別に使用中のhugepageの割合。Developmenthost

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.memory.linux.hugepages.stateDevelopmentRecommendedstringLinuxのHugePagesメモリの状態free; used

system.memory.linux.hugepages.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
freefreeDevelopment
usedusedDevelopment

メトリクス: system.memory.linux.shared

このメトリクスはopt-inです。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.linux.sharedUpDownCounterBy使用中の共有メモリ(主にtmpfsによるもの)。[1]Developmenthost

[1]: freeコマンドshared、または /proc/meminfoShmemに相当します

メトリクス: system.memory.linux.slab.usage

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
system.memory.linux.slab.usageUpDownCounterByLinuxカーネルが、頻繁に使用されるオブジェクトのキャッシュを管理するために使用しているメモリを報告します。[1]Developmenthost

[1]: memory.linux.slab.usageにおけるreclaimable状態とunreclaimable状態の値の合計は、システムで利用可能なslabメモリの総量と等しくなるべきです(SHOULD)。 slabメモリの総量は一定ではなく、時間とともに変化することがあります。 Slabアロケーターと、/proc/meminfoSlabも参照してください。

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.memory.linux.slab.stateDevelopmentRecommendedstringLinuxのSlabメモリの状態reclaimable; unreclaimable

system.memory.linux.slab.stateには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
reclaimablereclaimableDevelopment
unreclaimableunreclaimableDevelopment