すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:Application Real-Time Monitoring Service (ARMS) アプリケーションモニタリングがサポートする Go のコンポーネントとフレームワーク

最終更新日:Sep 11, 2026

このトピックでは、Go アプリケーションモニタリングのオペレーティングシステムとアーキテクチャの要件、およびサポート対象のサードパーティコンポーネントとフレームワークについて説明します。

オペレーティングシステムの要件

ビルドツール名

オペレーティングシステム

アーキテクチャ

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

対応 Go バージョン

バージョン 1.18 以降

対応プラグインのバージョン

メッセージ

コンポーネント

リポジトリ アドレス

以前のバージョン

以降のバージョン

AMQP

https://github.com/rabbitmq/amqp091-go

v1.4.0

v1.13.0

Segmentio Kafka

https://github.com/segmentio/kafka-go

v0.4.10

制限なし

RocketMQ Client Go

https://github.com/apache/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.3

IBM Sarama

https://github.com/IBM/sarama

v1.22.0

v1.60.1

Shopify Sarama

https://github.com/Shopify/sarama

v1.22.0

v1.38.1

Mqtt サーバー

https://github.com/mochi-mqtt/server

v2.6.0

制限なし

franz-go

https://github.com/twmb/franz-go

v1.18.0

制限なし

confluent-kafka-go

https://github.com/confluentinc/confluent-kafka-go

v1.7.0

制限なし

streadway-amqp

https://github.com/streadway/amqp

v1.0.0

制限なし

RPC フレームワーク

コンポーネント

リポジトリアドレス

下位バージョン

上位バージョン

Beego

https://github.com/beego/beego

v1.2.0

制限なし

Dubbo

https://github.com/apache/dubbo-go

v3.0.1

制限なし

Echo

https://github.com/labstack/echo

v4.0.0

制限なし

FastHTTP

https://github.com/valyala/fasthttp

v1.6.0

制限なし

Fiber

https://github.com/gofiber/fiber

v2.43.0

制限なし

Gin

https://github.com/gin-gonic/gin

v1.7.0

制限なし

GoFrame

https://github.com/gogf/gf

v2.4.0

制限なし

Go Micro

https://github.com/go-micro/go-micro

v4.9.0

v5.30.0

Go Restful

https://github.com/emicklei/go-restful

v3.7.0

制限なし

Go Zero

https://github.com/zeromicro/go-zero

v1.5.0

制限なし

gRPC

https://github.com/grpc/grpc-go

v1.20.1

制限なし

Iris

https://github.com/kataras/iris

v12.0.0

制限なし

Kitex

https://github.com/cloudwego/kitex

v0.5.1

制限なし

Kratos

https://github.com/go-kratos/kratos

v2.1.2

v2.9.2

Macaron

https://github.com/go-macaron/macaron

v1.1.0

制限なし

Mux

https://github.com/gorilla/mux

v1.3.0

制限なし

Net/HTTP

https://pkg.go.dev/net/http

v1.18

制限なし

Thrift

https://github.com/apache/thrift/tree/master/lib/go

v0.19.0

v0.20.0

Hertz

https://github.com/cloudwego/hertz

v0.8.0

v0.10.3

Rpcx

https://github.com/smallnest/rpcx

v1.9.0

制限なし

Req

https://github.com/imroc/req

v3.0.0

制限なし

SQL/NoSQL

コンポーネント

リポジトリアドレス

最小バージョン

最大バージョン

go-elasticsearch

https://github.com/elastic/go-elasticsearch

v7.0.0

無制限

go-redis

https://github.com/redis/go-redis

v8.10.0

無制限

go-sql-driver

https://github.com/go-sql-driver/mysql

v1.4.0

v1.9.3

GORM

https://github.com/go-gorm/gorm

v1.20.12

無制限

GORM MySQL

https://github.com/go-gorm/mysql

v1.0.4

無制限

database/sql

https://pkg.go.dev/database/sql

v1.18

無制限

mongo-go-driver

https://github.com/mongodb/mongo-go-driver

v1.11.1

無制限

go-pg

https://github.com/go-pg/pg

v10.10.0

v10.15.1

Redigo

https://github.com/gomodule/redigo

v1.9.0

v1.9.3

rueidis

https://github.com/redis/rueidis

v1.0.30

無制限

sqlx

https://github.com/jmoiron/sqlx

v1.3.0

無制限

xorm

https://github.com/go-xorm

v0.2.2

無制限

clickhouse-go

https://github.com/ClickHouse/clickhouse-go

v2.0.1

無制限

GORM ClickHouse

https://github.com/go-gorm/clickhouse

v0.2.0

無制限

gocql

https://github.com/apache/cassandra-gocql-driver

v1.3.0

無制限

ロギング

コンポーネント

リポジトリ アドレス

以前のバージョン

新しいバージョン

Gokit Log

https://github.com/go-kit/log

v0.1.0

v0.2.1

Zerolog

https://github.com/rs/zerolog

v1.10.0

制限なし

Zap

https://github.com/uber-go/zap

v1.13.0

制限なし

Logrus

https://github.com/sirupsen/logrus

v1.4.2

制限なし

Log

https://pkg.go.dev/log

v1.21

制限なし

Slog

https://pkg.go.dev/log/slog

v1.21

制限なし

go-zero logx

https://github.com/zeromicro/go-zero/tree/master/core/logx

v1.6.5

制限なし

Kratos log

https://github.com/go-kratos/kratos/blob/main/middleware/logging

v2.1.2

v2.4.0

ジョブスケジューリング

コンポーネント

リポジトリアドレス

最小バージョン

上位バージョン

Cron

https://github.com/robfig/cron

v3.0.0

制限なし

XxlJob

https://github.com/xxl-job/xxl-job-executor-go

v1.2.0

制限なし

Asynq

https://github.com/hibiken/asynq

v0.23.0

制限なし

トレース SDK

コンポーネント

リポジトリアドレス

最小バージョン

Advanced Edition

OpenTracing SDK

https://github.com/opentracing/opentracing-go

v1.1.0

v1.2.0

OpenTelemetry SDK

https://github.com/open-telemetry/opentelemetry-go

v1.6.0

上限なし

AI SDK

コンポーネント

リポジトリアドレス

最小バージョン

上位バージョン

Dify サンドボックス

https://github.com/langgenius/dify-sandbox

v0.2.0

制限なし

Dify プラグイン デーモン

https://github.com/langgenius/dify-plugin-daemon

v0.0.6

制限なし

MCP SDK

https://github.com/mark3labs/mcp-go

v0.20.0

制限なし

Langchain SDK

https://github.com/tmc/langchaingo

v0.1.0

制限なし

openai-go

https://github.com/openai/openai-go

v1.5.0

制限なし

go-openai

https://github.com/sashabaranov/go-openai

v1.30.0

制限なし

deepseek

https://github.com/cohesion-org/deepseek-go

v1.3.0

制限なし

coze-studio

https://github.com/coze-dev/coze-studio

v0.2.0

制限なし

adk-go

https://github.com/google/adk-go

v0.3.0

制限なし

eino

https://github.com/cloudwego/eino

v0.4.0

制限なし

Google GenAI

https://github.com/googleapis/go-genai

v1.30.0

制限なし

(Google GenAI ストリームモードは現在、バージョン v1.36.0、v1.37.0、v1.45.0、および v1.46.0 のみをサポートしています。)

anthropic-sdk-go

https://github.com/anthropics/anthropic-sdk-go

v1.25.0

制限なし

volcengine-go-sdk

https://github.com/volcengine/volc-sdk-golang

v1.2.21

制限なし

new-api

https://github.com/QuantumNous/new-api

v0.12.8

制限なし

Milvus クライアント

https://github.com/milvus-io/milvus/tree/master/client

v2.5.0

制限なし

beads

https://github.com/gastownhall/beads

v1.0.0

制限なし

trpc-go-agent

https://github.com/trpc-group/trpc-agent-go

v0.1.0

制限なし

agent-orchestrator

https://github.com/AgentWrapper/agent-orchestrator

v0.1.0

制限なし

bifrost

https://github.com/maximhq/bifrost

v1.4.0

制限なし

e2b

https://github.com/openkruise/agents-api/

v0.4.0-alpha4

制限なし

Alibaba Cloud SDK

コンポーネント

リポジトリ アドレス

最小バージョン

上位バージョン

FC Go SDK

https://github.com/aliyun/fc-runtime-go-sdk

v0.2.9

v0.3.1

OTS Go SDK

https://github.com/aliyun/aliyun-tablestore-go-sdk

v1.5.0

制限なし

その他の SDK

コンポーネント

リポジトリアドレス

以前のバージョン

新しいバージョン

ants pool

https://github.com/panjf2000/ants

v1.1.0

無制限

K8s クライアント

https://github.com/kubernetes/client-go

v0.27.0

v0.32.3

K8s コントローラーランタイム

https://github.com/kubernetes-sigs/controller-runtime

v0.13.1

v0.15.3

よくある質問

Asynq v0.26.0 より前のバージョンでトレースの継続性を維持するにはどうすればよいですか?

詳細については、「v0.26.0 より前のバージョンの Asynq でトレースの継続性を維持する方法」をご参照ください。

メッセージフレームワークの使用時にトレースが途切れるのはなぜですか?

一部のメッセージフレームワークでは実装上の都合により、現在の Go エージェントによるトレースコンテキストの伝播に制限があります。

コンポーネント

リポジトリ URL

プロデューサー

コンシューマー

AMQP

https://github.com/rabbitmq/amqp091-go

制限なし。

Receive スパンのみが記録されます。メッセージ内容に基づくダウンストリーム呼び出しで生成されたスパンは、Receive スパンにリンクできません。

Segmentio Kafka

https://github.com/segmentio/kafka-go

制限なし。

Receive スパンのみが記録されます。メッセージ内容に基づくダウンストリーム呼び出しで生成されたスパンは、Receive スパンにリンクできません。

Shopify Sarama

https://github.com/IBM/sarama

When using AsyncProducer, the Publish Span cannot be linked to its parent calling Span.

Only Receive Spans are recorded. Spans generated from downstream calls based on message content cannot be linked to the Receive Span.

IBM Sarama

https://github.com/IBM/sarama

AsyncProducer を使用する場合、Publish スパンを親スパンにリンクできません。

Receive スパンのみが記録されます。メッセージ内容に基づくダウンストリーム呼び出しで生成されたスパンは、Receive スパンにリンクできません。

RocketMQ Client Go

https://github.com/apache/rocketmq-client-go

制限なし。

  • PushConsumer のみサポートされています。

  • 複数のメッセージを一度に消費し、消費中にダウンストリーム呼び出しを行う場合、すべてのダウンストリームスパンは、そのバッチ内の最後のメッセージ配下に紐付けられます。この問題は、メッセージを 1 件ずつ消費する場合は発生しません。

RocketMQ Client

https://github.com/apache/rocketmq-clients/tree/master/golang

制限なし。

Receive スパンのみが記録されます。メッセージ内容に基づくダウンストリーム呼び出しで生成されたスパンは、Receive スパンにリンクできません。

Redis クライアント使用時に、コンソールにデータベースや NoSQL の呼び出しが表示されないのはなぜですか?

フレームワークの実装により、Go エージェントは init 関数より前に実行されるアクションをインストルメントできません。

Redis やデータベースのクライアントは、init 関数内で初期化してください。

// 無効なアプローチ
var rdb = redis.NewClient(&redis.Options{
	Addr:     "localhost:6379",
	Password: "", // パスワード未設定
	DB:       0,  // デフォルトDBを使用
})
// 有効なアプローチ
var rdb *redis.Client
func init() {
	rdb = redis.NewClient(&redis.Options{
		Addr:     "localhost:6379",
		Password: "", // パスワード未設定
		DB:       0,  // デフォルトDBを使用
	})
}

カスタム OpenTelemetry SDK によるインストルメンテーションの結果が表示されないのはなぜですか?

  1. [Custom Configuration] ページの [Agent Switch Settings] セクションで [opentelemetry-plugin] を選択し、アプリケーションを再起動します。

  2. デフォルトのサンプリングレートは 10% です。リクエスト数が少ない場合、トレースが表示されないことがあります。必要に応じてサンプリングレートを調整できます。

RabbitMQ のカスタムスパンを追加するにはどうすればよいですか?

次のサンプルコードを使用して、カスタムスパンを追加します。

import (
    "context"
    oTrace "go.opentelemetry.io/otel/trace"
    "go.opentelemetry.io/otel/propagation"
    "go.opentelemetry.io/otel"
    "go.opentelemetry.io/otel/trace"
  )
  // ハンドラーで、メッセージごとにスパンを作成します。
  func handle(deliveries <-chan amqp.Delivery, done chan error) {
      cleanup := func() {
          Log.Printf("handle: deliveries channel closed")
          done <- nil
      }
      defer cleanup()
      for d := range deliveries {
        var headerMap propagation.MapCarrier
        headerMap = make(map[string]string)
        headerMap["traceparent"] = d.Headers["traceparent"].(string)
        ctx := otel.GetTextMapPropagator().Extract(context.Background(), headerMap)
        ctx = oTrace.ContextWithSpanContext(context.Background(), oTrace.SpanFromContext(ctx).SpanContext())
        tracer := otel.GetTracerProvider().Tracer("")
        opts := append([]oTrace.SpanStartOption{}, oTrace.WithSpanKind(oTrace.SpanKindConsumer))
        ctx, span := tracer.Start(ctx, "mq", opts...)
        defer span.End()
        // ここにメッセージ処理ロジックを記述します。
      }
  }
  

Kafka のカスタムスパンを追加するにはどうすればよいですか?

次のサンプルコードを使用して、カスタムスパンを追加します。

import (
    kafka "github.com/segmentio/kafka-go"
      "go.opentelemetry.io/otel"
      "go.opentelemetry.io/otel/propagation"
      "go.opentelemetry.io/otel/trace"
      oTrace "go.opentelemetry.io/otel/trace"
  )
  // ハンドラーで、メッセージごとにスパンを作成します。
  func handle(msg kafka.Message) {
      for _, attr := range msg.Headers {
          if attr.Key == "traceparent" {
              var headerMap propagation.MapCarrier
              headerMap = make(map[string]string)
              headerMap["traceparent"] = string(attr.Value)
              ctx := otel.GetTextMapPropagator().Extract(context.Background(), headerMap)
              tracer := otel.GetTracerProvider().Tracer("")
              opts := append([]oTrace.SpanStartOption{}, oTrace.WithSpanKind(oTrace.SpanKindConsumer))
              ctx, span := tracer.Start(ctx, "mq", opts...)
              defer span.End()
              // ここにメッセージ処理ロジックを記述します。
          }
      }
  }