Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
eBPFで計装はノーコードの時代へ Grafana Beylaの出来るコト出来ないコト
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kojake_300
July 01, 2024
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
eBPFで計装はノーコードの時代へ Grafana Beylaの出来るコト出来ないコト
kojake_300
July 01, 2024
More Decks by kojake_300
See All by kojake_300
actでGithub ActionsのVibe Codingを加速させる
kojake_300
0
190
SRE支援から見えてきたSREの核
kojake_300
3
690
OpenClarityの裏側を知りたい
kojake_300
0
400
OpenClarityを覗いてみる
kojake_300
0
360
【SRE-NEXT 2024】内製化を見据えた効果的なSRE支援のアプローチ / SRE support approach
kojake_300
3
3.6k
オシャレな図を書くために意識していること
kojake_300
0
180
Skaffoldを用いたGKEアプリケーションの CD(Continuous Development)
kojake_300
0
4.9k
Google Cloud Managed Service for Prometheusでprismaメトリクスを可視化してみた
kojake_300
0
160
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
4 Signs Your Business is Dying
shpigford
187
22k
ラッコキーワード サービス紹介資料
rakko
1
3.6M
Test your architecture with Archunit
thirion
1
2.3k
Abbi's Birthday
coloredviolet
2
8.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
How to Talk to Developers About Accessibility
jct
2
230
Transcript
eBPFで計装はノーコードの時代へ Grafana Beylaの出来るコト出来ないコト Copyright © 3-shake, Inc. All Rights Reserved.
2024/06/29 O11y-SRE × CloudNative コラボMeetup
Agenda 1. 自己紹介 2. はじめに 3. 分散トレーシングとは 4. Grafana Beylaとは
5. まとめ
自己紹介 01 Copyright © 3-shake, Inc. All Rights Reserved.
自己紹介 ❏ 某 SIer で業務系アプリケーションの保守運用や Devops 推進、金融機 関向けのクラウドアプリケーションの保守運用を経験したのちスリー シェイクにジョイン ❏
スリーシェイクではお客様環境の EKS 改善や Google Cloud 上のシス テムの SRE 支援を行っている ❏ 趣味はサウナ、旅行、サッカー観戦(町田ゼルビア推し) kojake_300 株式会社スリーシェイク Sreake 事業部
はじめに 02 Copyright © 3-shake, Inc. All Rights Reserved.
はじめに ❏ 分散トレーシングについて、こんなことを考えたことはありませんか? アプリケーションのコードを 変更せずに トレース情報を仕込みたいなあ
はじめに ❏ 分散トレーシングについて、こんなことを考えたことはありませんか? アプリケーションのコードを 変更せずに トレース情報を仕込みたいなあ それ、Beylaなら 実現出来ちゃうんです!
はじめに ❏ 本登壇では、Beylaとは何者なのか、従来の分散トレーシングと何が違うのかを解説します!
分散トレーシングとは 03 Copyright © 3-shake, Inc. All Rights Reserved.
分散トレーシングとは ❏ 各アプリケーションの一連の処理の流れを可視化出来るようにしたもの。 ❏ パフォーマンスボトルネックやアプリケーションエラーを調査する上で重要な情報となる。 サービスA サービスB サービスC
トレーシング情報を仕込む方法 ❏ トレーシング/ログ/メトリクスなどのテレメトリ取得ロジックをアプリに仕込むことを計装と呼ぶ。 ❏ トレーシングの計装方法は以下の三種類。 手動計装 自動計装 (アプリ) 自動計装 (インフラ)
アプリケーションコードに直接 トレース情報をコーディングする アプリケーション起動時に、 メインロジックの 前に計装処理を実行する eBPF等で起動中の アプリケーションに動的に 計装する 柔軟な計装が可能である メインロジックを修正せずに 一般的なライブラリに 対して計装出来る アプリケーションのコードを 変更せずに計装出来る SREがコードを 修正するのはリスクや 費用対効果を鑑みる必要がある 手動計装程ではないがSREが コードを修正するリスクや 費用対効果を鑑みる必要がある 取得出来るトレース情報が少ない 計装方法 メリット デメリット Beyla
分散トレーシングとSRE ❏ 分散トレーシングは、アプリケーションを修正しないと情報を取得することが出来ない。 ❏ インフラ畑出身のSREにとって、分散トレーシングを推進することは難しい。 システムの信頼性をより可視化するため、分散 トレーシングを導入しませんか? こっちはopentelemetry collectorをインs SRE
開発者 アプリなんもわからん から出来ないよ、、 分散トレーシングよくわからんし 機能開発で忙しいから無理! やるならそっちで全部やって!
分散トレーシングとSRE ❏ 分散トレーシングは、アプリケーションを修正しないと情報を取得することが出来ない。 ❏ インフラ畑出身のSREにとって、分散トレーシングを推進することは難しい。 システムの信頼性をより可視化するため、分散 トレーシングを導入しませんか? こっちはopentelemetry collectorをインs SRE
開発者 アプリなんもわからん から出来ないよ、、 分散トレーシングよくわからんし 機能開発で忙しいから無理! やるならそっちで全部やって! もっと気軽に 分散トレーシングを導入したい!
Grafana Beylaとは 04 Copyright © 3-shake, Inc. All Rights Reserved.
❏ Grafana BeylaはオープンソースのeBPFベースの自動計測ツールで、Go、C/C++、Rust、Python、 Ruby、Java、NodeJS、.NETなどのアプリケーションのオブザーバビリティを簡単に観測することが 可能[1]。 ❏ コア技術となるeBPFは、Linux HTTP/SおよびgRPCサービスのREDメトリクス (Rate-Error-Duration)と基本的なトレーススパンを、アプリケーションコードやコンフィギュレー ションに変更を加えることなくキャプチャするために使用される。
Grafana Beylaとは [1] https://grafana.com/oss/beyla-ebpf/
【補足】eBPFとは [2] https://ebpf.io/ ❏ eBPF(Extended Berkeley Packet Filter)とは、LinuxのUserSpaceからカーネル上で実行される コードをカーネルにロードし、カーネル上で任意の処理を行う技術のこと[2]。 ❏
KernelSpaceの様々なイベントにeBPFを安全にアタッチ出来る。 ❏ パケットフィルタリングに留まらず、セキュリティやサービスメッシュ、プロファイリングなど多岐 に渡り使用されている。 eBPF Frontend Application eBPF Program eBPF Map 色々な イベント User Space Kernel Space ① カーネルへロード ③ イベント監視 ④ 処理結果を 格納 ② 任意の処理を実行 ⑤ 読み取り
検証 ❏ 以下の環境でBeylaから取得したメトリクス、トレースを可視化。 ※ Google Cloud Managed Service for Prometheus
についてはこちらで解説 GKE Cloud Trace Cloud Monitoring otel collector go app1 go app2 beyla Google Cloud Managed Service for Prometheus
検証結果(トレース) ❏ app1->app2の分散トレーシングが可視化出来ている。
検証結果(メトリクス) 高 低 頻度 ❏ レスポンスタイムのヒストグラムが取得出来ている。
Beylaで出来るコト出来ないコト ❏ 出来るコト👍 ❏ アプリケーションコードを一切触らずに計装が出来る。 ❏ 出来ないコト👎 ❏ 分散トレーシングはgolangしか対応していない。[3] ❏
アプリの計装と比べ、対応しているライブラリがかなり少ないため詳細なトレーシング情報を取 得出来ない。[4] • net/http • Gorilla Mux • Gin • gRPC-go • + 各言語のhttp/https [3] https://grafana.com/docs/beyla/latest/distributed-traces/ [4] https://grafana.com/docs/beyla/latest/tutorial/getting-started/#running-an-instrumented-service
Beylaのこれから ❏ 初期リリースが2023/7と若いサービスのため、機能的にはまだまだ感が否めない。[5] ❏ しかし、redisやkafkaの計装など、どんどん対応ライブラリが増えていきそう。[6][7] ❏ star数も着々と増えているので、数年後にはデファクトスタンダードなライブラリになっているかも。[8] [5] https://github.com/grafana/beyla/releases/tag/v0.0.1 [6]
https://github.com/grafana/beyla/pull/890 [7] https://github.com/grafana/beyla/pull/891 [8] https://star-history.com/#grafana/beyla&open-telemetry/opentelemetry-collector&Date
まとめ 05 Copyright © 3-shake, Inc. All Rights Reserved.
❏ SREがより簡単に分散トレーシングを導入出来る時代までもう少し。 ❏ Grafana Belyaは発展途上、これからに期待! まとめ Beyla
ご清聴ありがとうございました