本文列出了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.57.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.68.0 | |
Iris | v12.0.0 | v12.2.12 | |
Kitex | v0.5.1 | v0.10.0 | |
Kratos | v2.5.2 | v2.8.2 | |
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.12 | |
GORM MySQL | v1.1.3 | v1.5.7 | |
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.32.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串聯。 |