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.5k
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
1.9k
Other Decks in Technology
See All in Technology
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
390
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
550
Codex概要
ymiya55
0
490
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
0
1.2k
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
140
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
260
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.2k
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
120
20260930_Gemma4_Hands-on
tsho
0
240
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
280
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Paper Plane
katiecoart
PRO
4
54k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
We Are The Robots
honzajavorek
0
390
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
560
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Product Roadmaps are Hard
iamctodd
55
13k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
680
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
390
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
Paper Plane (Part 1)
katiecoart
PRO
2
11k
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人です...絶賛採用中!! まとめ
ありがとうございました!