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"]