Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cloud Monitoringで非同期処理のオブザーバビリティ向上
Search
kekke-n
March 07, 2025
Technology
660
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
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
5.4k
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
1.9k
Other Decks in Technology
See All in Technology
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
550
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
970
私の推しは「聞いてから進む」AIです -AI-DLCに一人でアプリを作らせた話
yama3133
1
180
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
1.7k
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
610
The seven pitfalls of AI (revised version)
ufried
0
300
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
0
580
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1k
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.2k
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
670
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
0
170
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
400
Site-Speed That Sticks
csswizardry
13
1.6k
Skip the Path - Find Your Career Trail
mkilby
1
250
A designer walks into a library…
pauljervisheath
211
25k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Documentation Writing (for coders)
carmenintech
77
5.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Designing Experiences People Love
moore
143
24k
Accessibility Awareness
sabderemane
1
240
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
580
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人です...絶賛採用中!! まとめ
ありがとうございました!