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
Cloud Monitoringで非同期処理のオブザーバビリティ向上
Search
kekke-n
March 07, 2025
Technology
590
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Monitoringで非同期処理のオブザーバビリティ向上
kekke-n
March 07, 2025
More Decks by kekke-n
See All by kekke-n
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
1.6k
Other Decks in Technology
See All in Technology
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
160
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
1k
フィジカル版Github Onshapeの紹介
shiba_8ro
0
250
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
3
1.9k
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
失敗を資産に変えるClaude Code
shinyasaita
0
660
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
1k
SONiCの統計情報を取得したい
sonic
0
170
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
120
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
370
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
660
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
600
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Design in an AI World
tapps
1
240
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Context Engineering - Making Every Token Count
addyosmani
9
960
We Are The Robots
honzajavorek
0
250
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
Fireside Chat
paigeccino
42
3.9k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Transcript
Cloud Monitoringで非同期処理 オブザーバビリティ向上 Keisuke Nakama @kekke-n 2025.3.7 Jagu'e'r オブザーバビリティ分科会 Meetup#1
中間 啓介(なかま けいすけ) 株式会社SmartHR / SRE 自己紹介 ・今年からプロダクト 開発者から SREになりました
・5歳 息子と3歳 娘がいます ・芋焼酎とクラフトビールが大好きです ・最近 楽しみ 家族で外出することです @kekke-n
非同期処理 メトリクスを Cloud Monitoringで 確認できるようにして、 オブザーバビリティを向上させた話をします ※Ruby Sidekiq 事例になりますが、他 非同期処理でも使える
ネタ あるんじゃないか?と思っています 🙏 本日 内容
• Sidekiqからメトリクスを取得するため 細かい実 装 話 話さないこと
Sidekiqと
Sidekiqと • Rubyでバックグラウンド処理を行うため ライ ブラリ • メール送信、画像処理など、時間 かかる処 理を非同期で実行 https://github.com/sidekiq/sidekiq
管理画面もある で便利
プロダクト システム構成
Sidekiq メトリクス 課題
過去にあったインシデント
文書配付 雇用契約書を SmartHR上で配付できる機能です 文書配付 プロダクト開発をしていた時 人事担当 従業員
カスタマーサポート お客様から 従業員に雇用契約書が送られていな いと問い合わせがきています ...
開発者 や い、Sidekiq ジョブが大 量に詰まって処理が遅くなっ ている!! ジョブ 状況
App Engine インスタンス数 を増やしてひとまず回避 ... ジョブ 状況
インシデント 時間帯でジョブ がどんな状況だったか確認し てみよう〜 Sidekiq管理画面
キュー毎にジョブ 状況が見 れないから分析がし辛い ... Sidekiq管理画面
• キュー毎に ◦ ジョブ 数が確認できない ◦ ジョブがどれだけ待たされたか確認できない ↓ 原因 分析がやりづらい
... Sidekiq メトリクス 課題
つまり、 オブザーバビリティが 良くない!!! 🥺
Sidekiq メトリクスを取得
• Sidekiq::MetricsExporterという社内ライブラリを作りまし た! ◦ Sidekiq プロセスやキュー毎 メトリクスを Cloud Monitoringに送信できます ◦
試験的に導入しているため現状 公開せず社内 み で利用しています SREとしてやったこと
メトリクス送信 全体像
こんな情報が取得できます 送信される Sidekiq メトリクス 以下 ようなも があります。 • 各キュー レイテンシー、サイズ
• プロセス、ワーカー 数 • 完了、失敗、デット ...など ジョブ 数
メトリクス送信時 擬似コード • メトリクスデータを作成 ◦ メトリクス タイプを指定 ◦ 値(ジョブ 数等)
• Cloud Monitoringにメトリクス送信
Metrics Explorer でキュー別に指標を選択
Cloud Monitoringでジョブ 数を確認
Cloud Monitoringでジョブ レイテンシーを確認
ダッシュボードで見る も便利
オブザーバビリティ よくなった ☺
• Periodic Jobsを使って定期的にメトリクスを送る ◦ キューが詰まっている場合にメトリクスも送れなくなってしまうという問題が ありました • メトリクスを出力する httpエンドポイントを作り、 Prometheus的なやり方でメトリ
クスを取得する ◦ Sidekiq App Engine, Cloud Run 両方で動作するケースがあります ◦ そ 両方でprivateなエンドポイントを叩くため 仕組みが必要になり難易 度が高そうでした 検討したけどやらなかったこと
検討したけどやらなかったこと • メトリクスをログに出すエンドポイントを作成し、そ エンドポイントを定期的にリ クエストしてログベース 指標を作る ◦ New Relicにもメトリクスを送る必要があったため見送りました
なぜSREがこ 取り組みをし た か?
• プロダクトエンジニア 167人 • プロダクト数 約 20 • SRE 2人
SmartHR SRE 現状
• Embedded SREで なくEnabling SRE • 他チームへ新しい技術やスキル 導入を支援する • 開発チームが自走できるような状況を作る
SmartHR SRE スタンス
メトリクス 取り方 どうやってやるんだろう .. SmartHR SRE スタンス うおお、これがあれ 自分達でできそうだ! 開発者
SRE 開発者 仕組み 作ったよ〜
• Sidekiq::MetricsExporterという社内ライブラリを各チームに 提供する • 開発チームに非同期処理 オブザーバビリティに関心を持っ てもらう • 開発チームが非同期処理 デバッグや分析を自走できるよう
にする 今回 取り組み 狙い
まとめ
• Sidekiq メトリクスを Cloud Monitoringで確認する方 法について紹介しました • 同様な課題がある場合、参考にしていただけると幸い です •
実 SRE まだ2人です...絶賛採用中!! まとめ
ありがとうございました!