Share
Embed
Main Session からの続編: OpenTelemetry のトピックいろいろ / opentelemetry-zero-code-go-opamp
OCHaCafe シーズン 9: 【ハイブリッド開催】実践! OpenTelemetry の LT スライドです。メインセッションからの続編としての位置付けで話しました。
https://ochacafe.connpass.com/event/333251/
逆井(さかさい)
February 05, 2025
Transcript
27 slides
-
Oracle Cloud Hangout Cafe #9 Main Session からの続編: OpenTelemetry のトピックいろいろ
- ゼロコード計装(Go)/ OpAMP - #ochacafe 逆井(さかさい) @ k6s4i53rx -
逆 井 啓 佑 さかさい • 所属:Datadog Japan • コミュニティ: ◦
OpenTelemetry Meetup ◦ Google Cloud Champion Innovators • クラウドネイティブ界隈に生息しています 自己紹介 CNDT2022 CNDT2023 CNDW2024 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー -
逆 井 啓 佑 さかさい • 所属:Datadog Japan • コミュニティ: ◦
OpenTelemetry Meetup ◦ Google Cloud Champion Innovators • クラウドネイティブ界隈に生息しています 自己紹介 CNDT2022 CNDT2023 CNDW2024 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー -
目次 • ゼロコード計装(Go) • OpAMP(Open Agent Management Protocol) ー 2025-02-05
Oracle Cloud Hangout Cafe #9 ー -
目次 • ゼロコード計装(Go) • OpAMP(Open Agent Management Protocol) ー 2025-02-05
Oracle Cloud Hangout Cafe #9 ー この二つは、 LT 枠で任せる 👍 某氏 -
ゼロコード計装(Go) OpenTelemetry Go Automatic Instrumentation • 内部の仕組みには eBPF を使用 ー
2025-02-05 Oracle Cloud Hangout Cafe #9 ー -
ゼロコード計装(Go) OpenTelemetry Go Automatic Instrumentation • 内部の仕組みには eBPF を使用 ー
2025-02-05 Oracle Cloud Hangout Cafe #9 ー Go アプリ (ex: net/http) opentelemetry- go-instrumentation ユーザ空間 カーネル空間 eBPF eBPF Map ※ ゼロコード計装フローのイメージ図 ❶ ❷ ❸ ❹ ❺ ❶ eBPF プログラムがロード ❷ uprobe にアタッチされ、 net/http (例) が使われたタイミングで発火 ❸ リクエストヘッダの値から トレースコンテキストを eBPF Map に保存 ❹ ゼロコードツールが eBPF Map から トレースコンテキストを抽出 ❺ ゼロコードツールが、スパンの生成とエクスポート -
ゼロコード計装(Go) OpenTelemetry Go Automatic Instrumentation • 内部の仕組みには eBPF を使用 •
先週(2025/01)、β リリース ◦ net/http、database/sql、gRPC、kafka-go ◦ OTel Trace API との拡張性あり ◦ 環境変数ベースの設定、semconv の準拠 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー https://opentelemetry.io/blog/2025/go-auto-instrumentation-beta/ -
ゼロコード計装(Go) OpenTelemetry Go Automatic Instrumentation • 内部の仕組みには eBPF を使用 •
先週(2025/01)、β リリース ◦ net/http、database/sql、gRPC、kafka-go ◦ OTel Trace API との拡張性あり ◦ 環境変数ベースの設定、semconv の準拠 • 今後(ブログ参照) ◦ サポートライブラリやテレメトリの拡充 ◦ Beyla との統合 ▪ eBPF ゼロコードツール。メトリクスや、Go 以外にも対応 ▪ open-telemetry / community: Donation Proposal #2460 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー -
ゼロコード計装(Go) Go Compile-Time Instrumentation • Go コンパイラに渡される前に計装コードを追加する仕組み ー 2025-02-05 Oracle
Cloud Hangout Cafe #9 ー -
ゼロコード計装(Go) Go Compile-Time Instrumentation • Go コンパイラに渡される前に計装コードを追加する仕組み ◦ この仕組みを使ったツールとしてはopentelemetry-go-auto-instrumentation(alibaba)や orchestrion(Datadog)が存在していた
ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー https://x.com/felixge/status/1865034564864790585/photo/1 -
ゼロコード計装(Go) Go Compile-Time Instrumentation • Go コンパイラに渡される前に計装コードを追加する仕組み ◦ この仕組みを使ったツールとしてはopentelemetry-go-auto-instrumentation(alibaba)や orchestrion(Datadog)が存在していた
◦ 両者が OTel に Donation Proposal (#2344、#2497) • 先月(2025/01)に Go compile time instrumentation SIG が誕生 ◦ OTel 内での実験的試みとしてのコンパイルタイム計装ツール instrgen を作っていた Quesma も SIG に ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー -
ゼロコード計装(Go) eBPF 計装と、コンパイルタイム計装といろいろあるな 🧐 • Orchestion プロジェクトの Felix(同僚...)の X ポストスレッドが有益です
ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー https://x.com/felixge/status/1865034549832368242 • Orchestrion はコンパイルタイム計装と読み替えて差し支えない • プロジェクトメンバーの見解であることには留意 -
ゼロコード計装(Go) eBPF を使ったゼロコードツールについては、先日あった Kubernetes Novice で もう少し詳しく触れているので、宣伝です。 ー 2025-02-05 Oracle
Cloud Hangout Cafe #9 ー https://speakerdeck.com/k6s4i53rx/getting-started-opentelemetry-operator-on-kubernetes -
OpAMP ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー Open
Agent Management Protocol • 大規模なデータ収集エージェントをリモート制御するためのネットワークプロトコル ◦ spec は Beta • クライアントサーバープロトコル(HTTP / WS) https://opentelemetry.io/docs/collector/management/#opamp -
OpAMP ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー OpAMP
のサポートしている機能(spec) • エージェントのリモート設定 • エージェントステータスのレポート ◦ エージェントの種別、バージョン、動作している OS など • エージェントの稼働状態のレポート(ハートビート) • エージェント固有のパッケージ管理(e.g. OTel Col イメージ) • エージェントの自動更新 • エージェントの接続認証情報の失効とローテーション Ref: https://opentelemetry.io/docs/specs/opamp/ https://opentelemetry.io/docs/collector/management/#opamp Control plane (OpAMP サーバー) データ収集エージェント OTel Collector など (OpAMP クライアン ト) OpAMP -
OpAMP ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー OpAMP
を使ったOTel Collector のリモート設定 • リモート設定では Supervisor というプロセスが仲介して、OTel Collector を制御 OTel Col OpAMP クライアント Supervisor OpAMP クライアント OpAMP サーバー v2 ❺ Effective Config OpAMP サーバー (バックエンド) config ❶ config_v1 config write ❷ Merge config_v2 v2 read exec ❸ ❹ -
OpAMP を使った OTel Collector のリモート制御については、 CloudNative Days Winter 2024 で整理したので、さらに詳しく気になる方はご参照くださ
い。 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー https://speakerdeck.com/k6s4i53rx/getting-started-opentelemetry-collector-with-opamp OpAMP -
オブザーバビリティベンダーと OpAMP の統合 • Grafana Alloy - grafana / alloy
#1236 • ADOT Collector - aws-observability / aws-otel-collector #2402 ... 中長期のロードマップに OpAMP あり OpAMP を使った既存のツールもあります • ObservIQ の Bindplane • OpAMP を使った OTel Collector のリモート管理 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー OpAMP -
まとめ ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー 今日は、以下について簡単にお話ししました!
• ゼロコード計装(Go) • OpAMP(Open Agent Management Protocol) -
宣伝 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー OpenTelemetry
Meetup もあります。次回はまだ未定です xx 未明 2025-xx x