6.9K Views
November 19, 24
スライド概要
2024/11/20開催の「Japan Datadog User Group Meetup#6」で話したスライドです。
https://datadog-jp.connpass.com/event/334594/
Inferred Service dependenciesを試してみた 2024/11/20 Japan Datadog User Group Meetup#6 横山達男/tatsuo48
横山 達男(@tatsuo48) Money Forward ・SRE/テックリード SRE NEXT ・コアスタッフ AWSとDatadogが得意です。 家計簿歴:10年
Datadogの事例インタビュー Datadogを活用しプロダクト開発チームによる 自律的なシステム運用を推進
DatadogとかSREとか スライドリンク https://www.docswell.com/user/tatsuo48
知ってもらいたいこと ● ● Datadog APMを使っていてService Mapがわかりづらいなと感じたら Inferred Service dependenciesがおすすめ!
お話すること ● ● ● ● ● Datadog APMについて APMを使う上での困りごと Inferred Service dependencies 試してみた 今後の展望&まとめ
Datadog APMについて
Datadog APMについて ● Datadogが提供するApplication Performance Monitoring ○ ● Datadog APM 皆さんも使っていると思います
Datadog APMについて ● Datadogが提供するApplication Performance Monitoring ○ ● Datadog APM 皆さんも使っていると思います
とても便利
APMを使う上での困りごと
Service Mapがみづらい ● あなたの会社のService Mapは見やすいですか?
Service Mapがみづらい ● こんな感じだったりしませんか?
Service Mapがみづらい ● ● こんな感じだったりしませんか? 実際はこんな構造が何個もあったり
Service Mapがみづらい
Service Mapがみづらい なんかいっぱいあ るサービス群
なんかいっぱいあるサービス群 ● Datadogのデフォルト挙動 ○ ○ ● 結果 ○ ○ ● DBも1サービス httpリクエストのトレースも 1サービス 1つのコードベースに APMを入れると何倍ものサービス に 直感的ではない挙動 みづらい ○ ちょっととっつきづらさを感じる人も なんかいっぱいあ るサービス群
なんかいっぱいあるサービス群 ● Service Catalog機能を使う上でもこの挙動は不 便 ○ アプリとそのアプリの DB、httpリクエストを表すサービス がそれぞれService Catalogに別として存在 なんかいっぱいあ るサービス群
なんかいっぱいあるサービス群 ● よく聞かれる質問として認識済み ○ APM Troubleshooting
Service Mapがみづらい
Service Mapがみづらい 複数サービスから 依存が集中した サービス
複数サービスから依存が集中したサービス ● 例えばRuby ○ ○ ● DB接続にmysql2 gemを利用 初期設定では mysql2というサービス名を利用 弊社では複数プロダクトがRuby製 複数サービスから 依存が集中した サービス
複数サービスから依存が集中したサービス ● 結果 ○ ○ mysql2サービスに依存が集中する 確かにmysql2みんなつかっているし正しい ■ けど別にそれを Service Mapで表したくはない 複数サービスから 依存が集中した サービス
ちょっと不便
Inferred Service dependencies
Inferred Service dependencies ● 分割されているサービスを統合 ○ ○ ● DBで1サービス、httpリクエストで1サービス 1つのサービスとして表示 オペレーションの単位では分かれたまま ○ オペレーション単位で処理を確認できる利便性は維 持
導入方法 ● ● 詳細は以下をご参照ください ○ Inferred Service dependencies ポイントは3つ ○ ○ ○ AgentのバージョンUP ■ 環境変数も何個か追加必要、バージョンによって必要なものが微妙に違う アプリ側にも環境変数追加 ■ こちらは1個追加するのみ コード内で明示的にインテグレーションのサービス名を設定している箇所を削除 ■ これがあると、上記 2つを有効化してもサービスが統合されないので注意 ■ refs: Service Overrides
試してみた
試してみた ● 3パターン ○ ○ 有効化前 ■ 各サービスへの明示的なサービス名の指定あり ■ 各サービスへの明示的なサービス名の指定なし 有効化後 ■ 各サービスへの明示的なサービス名の指定なし
試してみた ● 有効化前 ○ 各サービスへの明示的なサービス名の指定あり なんかいっぱいあ るサービス群
試してみた ● 有効化前 ○ 各サービスへの明示的なサービス名の指定なし 複数サービスから 依存が集中した サービス
試してみた ● 有効化後 ○ 各サービスへの明示的なサービス名の指定なし DB,HTTPリクエ スト含め、単一の サービスとして表 示 通信先は推定 サービス (Inferred Service)として表 示
試してみた ● 有効化後 ○ 各サービスへの明示的なサービス名の指定なし 複数サービスから 依存が集中した サービスなし
試してみた ● 有効化後 ○ 各サービスへの明示的なサービス名の指定なし アプリケーション 内で www.google.c omへのアクセス を送っていること もわかってうれし い
試してみた ● 有効化後 ○ 各サービスへの明示的なサービス名の指定なし DB,HTTPリクエ スト含め、単一の サービスとして表 示 通信先は推定 サービス (Inferred Service)として表 示 複数サービスから 依存が集中した サービスなし アプリケーション 内で www.google.c omへのアクセス を送っていること もわかってうれし い
見やすくなって解決!
まとめ
まとめ ● ● ServiceMapがもっと便利になる機能のご紹介でした! まだプライベートベータなのでこちらから申し込み! ○ Private Beta Link
宣伝
宣伝(Datadog) ● Datadog Live Tokyo 2024 Reprise 12/18 ○ パネルディスカッションに参加させていただきます 🎉 複数サービスから 依存が集中した サービス
宣伝(弊社) ● 熱烈大歓迎! ○ ○ ● 今日のお話のような Datadogなどのツールの利用改善に全社横断で取り組んでみたい方 SREとして特定のプロダクトの改善に力入れたい方 エンジニアは英語が標準語でグローバルな環境 ○ ○ ○ 3ヶ月間の英語研修で TOEICスコア 665 → 890 になった話 私は500点前後 -> 790点へ 英語を話さないといけない環境があなたを成長させます ■ 多くの人がこの状況をポジティブに捉え、楽しく英語を学んでいます 💪
宣伝(SRE NEXT) ● 🎉SRE NEXT 2025開催決定🎉 ○ SRE NEXT 2025を開催します
おわり ~Fin~