Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Main Session からの続編: OpenTelemetry のトピックいろいろ / o...

逆井(さかさい)
February 05, 2025
120

Main Session からの続編: OpenTelemetry のトピックいろいろ / opentelemetry-zero-code-go-opamp

OCHaCafe シーズン 9: 【ハイブリッド開催】実践! OpenTelemetry の LT スライドです。メインセッションからの続編としての位置付けで話しました。
https://ochacafe.connpass.com/event/333251/

逆井(さかさい)

February 05, 2025
Tweet

More Decks by 逆井(さかさい)

Transcript

  1. Oracle Cloud Hangout Cafe #9 Main Session からの続編: OpenTelemetry のトピックいろいろ

    - ゼロコード計装(Go)/ OpAMP - #ochacafe 逆井(さかさい) @ k6s4i53rx
  2. 逆 井 啓 佑 さかさい • 所属:Datadog Japan • コミュニティ: ◦

    OpenTelemetry Meetup ◦ Google Cloud Champion Innovators • クラウドネイティブ界隈に生息しています 自己紹介 CNDT2022 CNDT2023 CNDW2024 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー
  3. 逆 井 啓 佑 さかさい • 所属:Datadog Japan • コミュニティ: ◦

    OpenTelemetry Meetup ◦ Google Cloud Champion Innovators • クラウドネイティブ界隈に生息しています 自己紹介 CNDT2022 CNDT2023 CNDW2024 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー
  4. 目次 • ゼロコード計装(Go) • OpAMP(Open Agent Management Protocol) ー 2025-02-05

    Oracle Cloud Hangout Cafe #9 ー この二つは、 LT 枠で任せる 👍 某氏
  5. ゼロコード計装(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 から   トレースコンテキストを抽出 ❺ ゼロコードツールが、スパンの生成とエクスポート
  6. ゼロコード計装(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/
  7. ゼロコード計装(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 ー
  8. ゼロコード計装(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 ー
  9. ゼロコード計装(Go) eBPF 計装と、コンパイルタイム計装といろいろあるな 🧐 • Orchestion プロジェクトの Felix(同僚...)の X ポストスレッドが有益です

    ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー https://x.com/felixge/status/1865034549832368242 • Orchestrion はコンパイルタイム計装と読み替えて差し支えない • プロジェクトメンバーの見解であることには留意
  10. OpAMP ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー Open

    Agent Management Protocol • 大規模なデータ収集エージェントをリモート制御するためのネットワークプロトコル ◦ spec は Beta • クライアントサーバープロトコル(HTTP / WS) https://opentelemetry.io/docs/collector/management/#opamp
  11. 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
  12. 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 ❸ ❹
  13. 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
  14. オブザーバビリティベンダーと 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
  15. まとめ ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー 今日は、以下について簡単にお話ししました!

    • ゼロコード計装(Go) • OpAMP(Open Agent Management Protocol)
  16. 宣伝 ー 2025-02-05 Oracle Cloud Hangout Cafe #9 ー OpenTelemetry

    Meetup もあります。次回はまだ未定です xx 未明 2025-xx x