本文列出了Golang应用监控对操作系统和架构的要求,以及支持的第三方组件和框架。
操作系统要求
编译工具名 | 操作系统 | 架构 |
instgo_linux_amd64 | Linux | amd64 |
instgo_linux_arm64 | Linux | arm64 |
instgo_darwin_amd64 | Darwin | amd64 |
instgo_darwin_arm64 | Darwin | arm64 |
instgo_windows_amd64.exe | Windows | amd64 |
支持的Golang版本
1.18及以上版本
支持的插件版本
消息
组件 | 仓库地址 | 低版本 | 高版本 |
AMQP | v1.9.0 | v1.10.0 | |
Segmentio Kafka | v0.4.10 | v0.4.48 | |
RocketMQ Client Go | v2.1.0 | v2.1.2 | |
RocketMQ Client | https://github.com/apache/rocketmq-clients/tree/master/golang | v5.0.0 | v5.1.1 |
IBM Sarama | v1.40.0 | v1.43.3 | |
Shopify Sarama | v1.22.0 | v1.38.1 |
RPC框架
组件 | 仓库地址 | 低版本 | 高版本 |
Dubbo | v3.0.1 | v3.1.0 | |
Echo | v4.0.0 | v4.12.0 | |
FastHTTP | v1.45.0 | v1.56.0 | |
Fiber | v2.43.0 | v2.52.6 | |
Gin | v1.7.0 | v1.10.0 | |
Go Micro | v4.9.0 | v5.3.1 | |
Go Restful | v3.7.0 | v3.12.0 | |
Go Zero | v1.5.0 | v1.7.0 | |
gRPC | v1.44.0 | v1.67.1 | |
Iris | v12.0.0 | v12.2.12 | |
Kitex | v0.5.1 | v0.10.0 | |
Kratos | v2.5.2 | v2.8.0 | |
Mux | v1.3.0 | v1.8.1 | |
Net/HTTP | v1.18 | v1.23 | |
Thrift | v0.19.0 | v0.20.0 | |
Hertz | v0.8.0 | v0.9.2 |
SQL/NOSQL
组件 | 仓库地址 | 低版本 | 高版本 |
Go Elasticsearch | v8.0.0 | v8.15.0 | |
Go Redis | v8.11.0 | v9.5.1 | |
Go SQL Driver | v1.4.0 | v1.7.1 | |
Gorm | v1.22.0 | v1.25.9 | |
GORM MySQL | v1.1.3 | v1.5.4 | |
Go标准库MySQL | v1.18 | v1.21 | |
Mongo | v1.11.1 | v1.11.7 | |
Redis Go | v1.9.0 | v1.9.2 |
日志
组件 | 仓库地址 | 低版本 | 高版本 |
Zerolog | v1.10.0 | v1.33.0 | |
Zap | v1.20.0 | v1.27.0 | |
Logrus | v1.5.0 | v1.9.3 | |
Log | v1.18 | v1.23 | |
Slog | v1.18 | v1.23 |
Trace SDK
组件 | 仓库地址 | 低版本 | 高版本 |
OpenTracing | v1.1.0 | v1.2.0 | |
OTel SDK | v1.6.0 | v1.31.0 |
其他SDK
组件 | 仓库地址 | 低版本 | 高版本 |
FC Go SDK | v0.2.9 | v0.2.10 |
常见问题
为什么使用消息框架时存在断链?
受限于消息框架的具体实现,当前版本的Golang探针对某些消息框架的Trace上下文传递存在一定限制,具体如下:
组件 | 仓库地址 | Producer | Consumer |
AMQP | 无限制。 | 仅统计Receive Span,基于消息内容调用下游产生的Span无法与Receive Span串联。 | |
Segmentio Kafka | 无限制。 | 仅统计Receive Span,基于消息内容调用下游产生的Span无法与Receive Span串联。 | |
Shopify Sarama | 使用AsyncProducer时,Publish Span无法与所属调用的Span串联。 | 仅统计Receive Span,基于消息内容调用下游产生的Span无法与Receive Span串联。 | |
IBM Sarama | 使用AsyncProducer时,Publish Span无法与所属调用的Span串联。 | 仅统计Receive Span,基于消息内容调用下游产生的Span无法与Receive Span串联。 | |
RocketMQ Client Go | 无限制。 |
| |
RocketMQ Client | https://github.com/apache/rocketmq-clients/tree/master/golang | 无限制。 | 仅统计Receive Span,基于消息内容调用下游产生的Span无法与Receive Span串联。 |