跳到主要内容

7. 结构化数据标识符

本节定义可跨实现使用的标准化 SD-ID.这些 SD-ID 已在 IANA 注册.

7.1. timeQuality

timeQuality SD-ID 提供有关 HEADER 中时间戳质量的信息.它包含描述以下内容的参数:

  • 时区知识
  • 时间同步状态
  • 同步精度

SD-ID 名称: timeQuality

7.1.1. tzKnown

指示 TIMESTAMP 是否包含时区信息.

:

  • 0: 时区信息未知(默认)
  • 1: 时区信息已知

如果参数不存在,则假定值为 0.

7.1.2. isSynced

指示发起者的时间是否与可靠的时间源(例如 NTP 服务器)同步.

:

  • 0: 时间未同步
  • 1: 时间已同步

如果参数不存在,则无法确定该值.

7.1.3. syncAccuracy

指示时间戳的精度(以微秒为单位).此值仅在 isSynced="1" 时有意义.

: 表示精度的整数(以微秒为单位).

示例: syncAccuracy="60000" 表示时间精确到 60 毫秒以内.

7.1.4. 示例

时区已知,已同步,精度为 100ms:

[timeQuality tzKnown="1" isSynced="1" syncAccuracy="100000"]

时区未知,未同步:

[timeQuality tzKnown="0" isSynced="0"]

仅同步:

[timeQuality isSynced="1"]

7.2. origin

origin SD-ID 提供有关 syslog 消息发起者的信息.当消息通过中继传递时,这特别有用.

SD-ID 名称: origin

7.2.1. ip

包含发起者的 IP 地址.

: IPv4 或 IPv6 地址

IPv6 地址应该用方括号括起来.

示例: ip="192.0.2.1"ip="[2001:db8::1]"

7.2.2. enterpriseId

包含 IANA 分配的私有企业编号(PEN).

: 表示企业编号的整数

示例: enterpriseId="32473"

可以从 IANA 获取企业编号.请参见 http://www.iana.org/assignments/enterprise-numbers

7.2.3. software

标识生成消息的软件.

: 标识软件的自由格式字符串

示例: software="rsyslogd"software="myapp"

7.2.4. swVersion

指定在 software 参数中标识的软件的版本.

: 版本字符串

示例: swVersion="1.2.3"swVersion="8.24.0"

7.2.5. 示例

完整的来源信息:

[origin ip="192.0.2.1" enterpriseId="32473" software="myapp" swVersion="1.2.3"]

最小的来源信息:

[origin ip="192.0.2.1"]

7.3. meta

meta SD-ID 提供有关消息本身的元数据.

SD-ID 名称: meta

7.3.1. sequenceId

消息的唯一标识符,通常是序列号.这可用于检测消息丢失.

: 表示序列的整数或字符串

示例: sequenceId="1234"

7.3.2. sysUpTime

自发起者上次重新启动以来的时间(以百分之一秒为单位).类似于 SNMP sysUpTime.

: 表示时间的整数(以厘秒为单位,即 1/100 秒)

示例: sysUpTime="1234567"(约 3.4 小时)

7.3.3. language

指定消息 MSG 部分中使用的自然语言.

: RFC 5646 中定义的语言标记

示例:

  • language="en"(英语)
  • language="fr-CA"(加拿大法语)
  • language="ja"(日语)
  • language="de"(德语)

使用示例:

[meta sequenceId="1234" sysUpTime="1234567" language="en"]