URL
URL 属性
描述 URL 的属性。
Attributes
| 键 | Stability | Value Type | 描述 | Example Values |
|---|---|---|---|---|
url.domain | 字符串 | 从 url.full 中提取的域名,例如“opentelemetry.io”。[1] | www.foo.bar; opentelemetry.io; 3.12.167.2; [1080:0:0:0:8:800:200C:417A] | |
url.extension | 字符串 | 从 url.full 中提取的文件扩展名,不包含开头的点。[2] | png; gz | |
url.fragment | 字符串 | URI 片段组件 | SemConv | |
url.full | 字符串 | 根据 RFC3986 描述的网络资源的绝对 URL。[3] | https://www.foo.bar/search?q=OpenTelemetry#SemConv; // | |
url.original | 字符串 | 在事件源中看到的未修改的原始 URL。[4] | https://www.foo.bar/search?q=OpenTelemetry#SemConv; search?q=OpenTelemetry | |
url.path | 字符串 | The URI 路径组件 [5] | /search | |
url.port | int | 从 url.full 中提取的端口 | 443 | |
url.query | 字符串 | The URI 查询组件 [6] | q=OpenTelemetry | |
url.registered_domain | 字符串 | 已注册的最高层级 URL 域名,已移除子域名。[7] | example.com; foo.co.uk | |
url.scheme | 字符串 | The URI 方案组件,用于标识所使用的协议。 | https; ftp; telnet | |
url.subdomain | 字符串 | 完全限定域名中的子域名部分,包含除注册域名之外的所有名称。在部分限定域名中,或者如果无法确定完整名称的限定级别,则子域名包含注册域名下的所有名称。[8] | east; sub2.sub1 | |
url.template | 字符串 | The low-cardinality template of an 绝对路径引用。 | /users/{id}; /users/:id; /users?id={id} | |
url.top_level_domain | 字符串 | 有效顶级域名 (eTLD),也称为域名后缀,是域名名称的最后一部分。例如,example.com 的顶级域名是 com。[9] | com; co.uk |
[1] url.domain: 在某些情况下,URL 可能直接指向 IP 地址和/或端口,而不包含域名。在这种情况下,IP 地址将被放入 domain 字段。如果 URL 包含由 [ 和 ] 包围的 字面 IPv6 地址,那么 [ 和 ] 字符也应包含在 domain 字段中。
[2] url.extension: 文件扩展名仅在存在时设置,因为并非所有 URL 都有文件扩展名。当文件名有多个扩展名(例如 example.tar.gz)时,应只捕获最后一个扩展名 gz,而不是 tar.gz。
[3] url.full: 对于网络调用,URL 通常具有 scheme://host[:port][path][?query][#fragment] 格式,其中片段不会通过 HTTP 传输,但如果已知,仍应包含在内。
url.full 不能包含通过 URL 形式传递的凭证,例如 https://username:password@www.example.com/。在这种情况下,用户名和密码应被redacted,属性值应为 https://REDACTED:REDACTED@www.example.com/。
url.full 应该捕获可用(或可以重建)的绝对 URL。
url.full 中提供的敏感内容应在仪表化工具能够识别时进行清除。
查询字符串中以下键的值应默认redacted,并替换为
REDACTED 值。
此列表可能会随时间而更改。
当查询字符串值被redacted时,查询字符串键仍应保留,例如 https://www.example.com/path?color=blue&sig=REDACTED。
[4] url.original: 在网络监控中,观察到的 URL 可能是完整的 URL,而在访问日志中,URL 通常仅表示为路径。此字段旨在表示所观察到的 URL,无论其是否完整。url.original 可能包含通过 URL 形式传递的凭证,例如 https://username:password@www.example.com/。在这种情况下,不应redacted密码和用户名,属性值应保持不变。
[5] url.path: url.path 中提供的敏感内容应在仪表化工具能够识别时进行清除。
[6] url.query: url.query 中提供的敏感内容应在仪表化工具能够识别时进行清除。
查询字符串中以下键的值应默认redacted,并替换为
REDACTED 值。
此列表可能会随时间而更改。
当查询字符串值被redacted时,查询字符串键仍应保留,例如 q=OpenTelemetry&sig=REDACTED。
[7] url.registered_domain: 此值可以使用 公共后缀列表精确确定。例如,foo.example.com 的注册域名是 example.com。尝试通过简单地取最后两个标签来近似此值,对于像 co.uk 这样的 TLD 将不起作用。
[8] url.subdomain: www.east.mydomain.co.uk 的子域名部分是 east。如果域名具有多个子域名级别,例如 sub2.sub1.example.com,则子域名字段应包含 sub2.sub1,不带尾随点。
[9] url.top_level_domain: 此值可以使用 公共后缀列表精确确定。