この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/resource/host/
翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930)
Host
host.*名前空間は、リソース属性を取得するためだけに使用すべきです(SHOULD)。
ホストメトリクスを報告するには、system.*名前空間を使用すべきです(SHOULD)。
Status:
type: host
Description: ホストは、コンピュートインスタンスとして定義されます。例えば、物理サーバー、仮想マシン、スイッチ、ディスクアレイなどです。
[!warning] このEntity定義には、roleを持たない属性が含まれています。 安定版のEntityは、roleが定義されていない属性を持ってはなりません(MUST NOT)。
Attributes:
| Role | Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|---|
| Other | host.arch | Recommended | string | ホストシステムが動作しているCPUアーキテクチャ。 | amd64; arm32; arm64 | |
| Other | host.id | Recommended | string | 一意のホストID。クラウドの場合、これはクラウドプロバイダーが割り当てるinstance_idでなければなりません。コンテナ化されていないシステムの場合、これはmachine-idであるべきです。オペレーティングシステムごとにmachine-idを決定するために使用するソースについては、下の表を参照してください。[1] | fdbf79e8af94cb7f9e8df36789187052 | |
| Other | host.image.id | Recommended | string | VMイメージIDまたはホストOSイメージID。クラウドの場合、この値はプロバイダーから取得されます。 | ami-07b06b442921831e5 | |
| Other | host.image.name | Recommended | string | そのホストが起動されたVMイメージまたはOSインストールの名前。 | infra-ami-eks-worker-node-7d4ec78312; CentOS-8-x86_64-1905 | |
| Other | host.image.version | Recommended | string | バージョン属性で定義されている、VMイメージまたはホストOSのバージョン文字列。 | 0.1 | |
| Other | host.name | Recommended | string | ホストの名前。UNIXシステムでは、hostnameコマンドが返す値、完全修飾ホスト名、またはユーザーが指定した他の名前が含まれることがあります。 | opentelemetry-test | |
| Other | host.type | Recommended | string | ホストの種別。クラウドの場合、これはマシンタイプでなければなりません。 | n1-standard-1 | |
| Other | host.ip | Opt-In | string[] | ループバックインターフェースを除く、ホストの利用可能なIPアドレス。[2] | ["192.168.1.140", "fe80::abc2:4a28:737a:609e"] | |
| Other | host.mac | Opt-In | string[] | ループバックインターフェースを除く、ホストの利用可能な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)。
| OS | Primary | Fallback |
|---|---|---|
| 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\CryptographyのMachineGuid | - |
特権のマシンID参照
host.idは、特権を持つソースを使って参照することもできます。例えばLinuxシステムでは、dmidecode -t system、dmidecode -t baseboard、dmidecode -t chassisの出力を使う、あるいはファイルシステムから対応するデータを読み取ることができます(cat /sys/devices/virtual/dmi/id/product_id、cat /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)。
| Value | Description | Stability |
|---|---|---|
amd64 | AMD64 | |
arm32 | ARM32 | |
arm64 | ARM64 | |
ia64 | Itanium | |
ppc32 | 32ビットPowerPC | |
ppc64 | 64ビットPowerPC | |
s390x | IBM z/Architecture | |
x86 | 32ビットx86 |
type: host.cpu
Status:
type: host.cpu
Description: ホストのCPU情報。
[!warning] このEntity定義には、roleを持たない属性が含まれています。 安定版のEntityは、roleが定義されていない属性を持ってはなりません(MUST NOT)。
Attributes:
| Role | Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|---|
| Other | host.cpu.cache.l2.size | Opt-In | int | プロセッサーが利用できるレベル2メモリキャッシュの量(バイト単位)。 | 12288000 | |
| Other | host.cpu.family | Opt-In | string | CPUのファミリーまたは世代。 | 6; PA-RISC 1.1e | |
| Other | host.cpu.model.id | Opt-In | string | モデル識別子。同じファミリー内の他のCPUと区別する、より詳細な情報を提供します。 | 6; 9000/778/B180L | |
| Other | host.cpu.model.name | Opt-In | string | プロセッサーのモデル名称。 | 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz | |
| Other | host.cpu.stepping | Opt-In | string | ステッピングまたはコアのリビジョン。 | 1; r1p1 | |
| Other | host.cpu.vendor.id | Opt-In | string | プロセッサー製造元の識別子。最大12文字の文字列。[1] | GenuineIntel |
[1] host.cpu.vendor.id: CPUIDコマンドは、EBX、EDX、ECXレジスタにベンダーID文字列を返します。これらをこの順序でメモリに書き込むと、12文字の文字列になります。