
遵照
OpenTelemetry
的探针
|
69
字段。
然而,应用探针的方式通常是特定的。有时产生的数据需要手动增加代码来保证符合
遥测数据。而有时,探针(代理)能辅助自动收集数据。每个独特的监控方案(除了
printfc
)都有特定的自定义步骤来产生和转移符合产品后端存储的遥测数据。
过去,你可能在应用程序中安装了针对后端的探针库或代理。然后,你可以使用这些客
户端库提供的函数添加自己的自定义探针,以捕获你认为与了解应用程序的内部状态相
关的任何数据。然而,这些探针方法的产品特性也造成了“厂商锁定”。如果希望将遥
测数据发送到不同的产品,则需要使用不同的库重复整个探针过程,这将浪费代码,并
使测量开销加倍。
7.2 开源探针标准
为了解决“厂商锁定”问题,监控和可观测性社区过去几年创建了很多开源项目,比如
2016
年的
Open Tracing
(云原生计算基金会旗下)和
2017
年的
OpenCensus
(谷歌资助)。
这些有竞争力的开放标准为最流行的编程语言提供了一组库,以允许用户实时收集遥测
数据并传输到所选择的后端。最终在
2019
年,两个组织共同组建了
OpenTelemetry
项
目,并由
CNCF
负责。
标准的好处就是有了很多选择。
—
Andrew S. Tanenbaum
OpenTelemetry
(
OTel
)代表
OpenTracing
和
OpenCensus
这两个项目的下一个主要版本,
能完整地替代并保留兼容性。
OTel
能捕获链路、指标、日志和其他应用遥测数据,并允
许你将其发送至所选后端。
OTel
已经成为目前可观测性方案中对应用探针唯一的开源标 ...