この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/resource/host/

翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930

Host

host.*名前空間は、リソース属性を取得するためだけに使用すべきです(SHOULD)。 ホストメトリクスを報告するには、system.*名前空間を使用すべきです(SHOULD)。

Status: Development

type: host

Description: ホストは、コンピュートインスタンスとして定義されます。例えば、物理サーバー、仮想マシン、スイッチ、ディスクアレイなどです。

[!warning] このEntity定義には、roleを持たない属性が含まれています。 安定版のEntityは、roleが定義されていない属性を持ってはなりません(MUST NOT)。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Otherhost.archDevelopmentRecommendedstringホストシステムが動作しているCPUアーキテクチャ。amd64; arm32; arm64
Otherhost.idDevelopmentRecommendedstring一意のホストID。クラウドの場合、これはクラウドプロバイダーが割り当てるinstance_idでなければなりません。コンテナ化されていないシステムの場合、これはmachine-idであるべきです。オペレーティングシステムごとにmachine-idを決定するために使用するソースについては、下の表を参照してください。[1]fdbf79e8af94cb7f9e8df36789187052
Otherhost.image.idDevelopmentRecommendedstringVMイメージIDまたはホストOSイメージID。クラウドの場合、この値はプロバイダーから取得されます。ami-07b06b442921831e5
Otherhost.image.nameDevelopmentRecommendedstringそのホストが起動されたVMイメージまたはOSインストールの名前。infra-ami-eks-worker-node-7d4ec78312; CentOS-8-x86_64-1905
Otherhost.image.versionDevelopmentRecommendedstringバージョン属性で定義されている、VMイメージまたはホストOSのバージョン文字列。0.1
Otherhost.nameDevelopmentRecommendedstringホストの名前。UNIXシステムでは、hostnameコマンドが返す値、完全修飾ホスト名、またはユーザーが指定した他の名前が含まれることがあります。opentelemetry-test
Otherhost.typeDevelopmentRecommendedstringホストの種別。クラウドの場合、これはマシンタイプでなければなりません。n1-standard-1
Otherhost.ipDevelopmentOpt-Instring[]ループバックインターフェースを除く、ホストの利用可能なIPアドレス。[2]["192.168.1.140", "fe80::abc2:4a28:737a:609e"]
Otherhost.macDevelopmentOpt-Instring[]ループバックインターフェースを除く、ホストの利用可能なMACアドレス。[3]["AC-DE-48-23-45-67", "AC-DE-48-23-45-67-01-9F"]

[1] host.id: コンテナ化されていないシステムからhost.idを収集する

非特権のマシンID参照

コンテナ化されていないシステムに対してhost.idを収集する場合、マシンIDの非特権参照が推奨されます。SDKのdetector実装は、マシンIDを取得するために、下に挙げるソースを使用しなければなりません(MUST)。

OSPrimaryFallback
Linux/etc/machine-idの内容/var/lib/dbus/machine-idの内容
BSD/etc/hostidの内容/bin/kenv -q smbios.system.uuidの出力
macOS/usr/sbin/ioreg -rd1 -c "IOPlatformExpertDevice"の出力にあるIOPlatformUUID-
WindowsレジストリHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CryptographyMachineGuid-

特権のマシンID参照

host.idは、特権を持つソースを使って参照することもできます。例えばLinuxシステムでは、dmidecode -t systemdmidecode -t baseboarddmidecode -t chassisの出力を使う、あるいはファイルシステムから対応するデータを読み取ることができます(cat /sys/devices/virtual/dmi/id/product_idcat /sys/devices/virtual/dmi/id/product_uuidなど)。しかし、SDKのリソースdetector実装は、特権を持つソースからhost.idを収集してはなりません(MUST NOT)。host.idの特権参照が必要な場合、その値はOTEL_RESOURCE_ATTRIBUTES環境変数を通じて注入すべきです(SHOULD)。

[2] host.ip: IPv4アドレスはドット付き10進表記で指定しなければなりません(MUST)。IPv6アドレスはRFC 5952の形式で指定しなければなりません(MUST)。

[3] host.mac: MACアドレスは、IEEE RAの16進表記で表現しなければなりません(MUST)。つまり、上位から下位の順に、大文字の16進表記でハイフンで区切ったオクテットとして表します。


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

ValueDescriptionStability
amd64AMD64Development
arm32ARM32Development
arm64ARM64Development
ia64ItaniumDevelopment
ppc3232ビットPowerPCDevelopment
ppc6464ビットPowerPCDevelopment
s390xIBM z/ArchitectureDevelopment
x8632ビットx86Development

type: host.cpu

Status: Development

type: host.cpu

Description: ホストのCPU情報。

[!warning] このEntity定義には、roleを持たない属性が含まれています。 安定版のEntityは、roleが定義されていない属性を持ってはなりません(MUST NOT)。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Otherhost.cpu.cache.l2.sizeDevelopmentOpt-Inintプロセッサーが利用できるレベル2メモリキャッシュの量(バイト単位)。12288000
Otherhost.cpu.familyDevelopmentOpt-InstringCPUのファミリーまたは世代。6; PA-RISC 1.1e
Otherhost.cpu.model.idDevelopmentOpt-Instringモデル識別子。同じファミリー内の他のCPUと区別する、より詳細な情報を提供します。6; 9000/778/B180L
Otherhost.cpu.model.nameDevelopmentOpt-Instringプロセッサーのモデル名称。11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
Otherhost.cpu.steppingDevelopmentOpt-Instringステッピングまたはコアのリビジョン。1; r1p1
Otherhost.cpu.vendor.idDevelopmentOpt-Instringプロセッサー製造元の識別子。最大12文字の文字列。[1]GenuineIntel

[1] host.cpu.vendor.id: CPUIDコマンドは、EBX、EDX、ECXレジスタにベンダーID文字列を返します。これらをこの順序でメモリに書き込むと、12文字の文字列になります。