是否存在标准化OpenTelemetry日志格式?哪里可以获取相关示例?
OpenTelemetry标准化日志格式说明
目前存在统一的标准化OpenTelemetry(以下简称OTel)日志格式,属于OTel官方定义的三大观测信号(链路、指标、日志)统一规范的一部分,和另外两类信号的字段语义完全对齐,解决了不同观测数据之间的关联割裂问题。
该标准主要包含两部分核心要求:
- 日志数据模型规范:明确了日志必须包含的核心字段,包括时间戳、日志级别数值、日志级别文本、日志正文、资源属性、Instrumentation Scope属性、链路关联字段等,支持结构化、半结构化、非结构化日志的统一封装
- 语义约定规范:针对不同业务场景定义了统一的字段命名规则,比如HTTP请求日志、数据库操作日志、云服务运行日志的常用字段都有统一的命名要求,避免不同采集端输出的同类型日志字段不一致的问题
标准格式示例获取渠道
你可以通过以下几个官方及行业公开渠道获取参考示例:
- OTel官方规范文档:包含完整的日志数据模型说明,以及JSON、Protobuf两种主流序列化格式的标准示例,同时覆盖不同场景下的字段填充样例
- 各语言OTel SDK的示例代码库:所有支持日志采集能力的语言SDK都提供了生成标准OTel日志的代码样例,本地运行后可直接输出符合规范的日志内容用作参考
- 主流可观测性厂商公开开发文档:兼容OTel协议的可观测性服务厂商基本都会公开OTel日志上报的格式示例,部分还提供了非标准日志转OTel标准格式的映射参考样例
- OTel社区公开最佳实践资料:社区沉淀的不同落地场景最佳实践文档中,包含大量实际生产环境使用的标准OTel日志示例,比如微服务场景、云原生容器场景的日志写法参考
下面是简化版的标准OTel JSON日志示例,供快速参考:
{ "timestamp": 1688123456789000000, "severityNumber": 9, "severityText": "INFO", "body": "用户登录成功", "resource": { "attributes": { "service.name": "user-service", "service.version": "v1.2.0", "host.name": "prod-host-01" } }, "attributes": { "user.id": "12345", "login.ip": "192.168.1.100", "login.channel": "web" }, "traceId": "7c9a8f7d6e5b4c3a2d1f0e9d8c7b6a5f", "spanId": "1a2b3c4d5e6f7a8b" }
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

