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
明日から始めるSidekiqオブザーバビリティ向上
Search
imaharu
November 12, 2023
Technology
5.7k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
明日から始めるSidekiqオブザーバビリティ向上
After Kaigi on Rails LT Night で登壇しました
https://smartbank.connpass.com/event/299631
imaharu
November 12, 2023
Other Decks in Technology
See All in Technology
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
3
710
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
150
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
140
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
460
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
13k
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
370
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
540
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
730
Patterns in AI Driven Software Development
akosma
PRO
0
420
AIコーディングはじめました
miso
0
130
AI AgentによるEmbedded SREの取り組み
tgidgd
1
320
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
330
Featured
See All Featured
Everyday Curiosity
cassininazir
0
380
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
570
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Building an army of robots
kneath
307
47k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Why Our Code Smells
bkeepers
PRO
340
58k
New Earth Scene 8
popppiees
4
2.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Transcript
GLOBIS DIGITAL PLATFORM 明日から始める Sidekiqオブザーバビリティ向上
GLOBIS DIGITAL PLATFORM 2 自己紹介 越智亮太 @imaharuTech 株式会社グロービス Railsエンジニア3年 SRE
1.5年
会社紹介
GLOBIS DIGITAL PLATFORM 4 本日のゴール 明日、Sidekiqオブザーバビリティ向上 Pull Requestを作成し 検証環境で実験できるになる
GLOBIS DIGITAL PLATFORM 5 オブザーバビリティとは システムで何が起きているか把握できる能力
GLOBIS DIGITAL PLATFORM 6 Sidekiqのオブザーバビリティがある状態 1. 遅いJobが特定可能 2. Jobが完了していない原因を特定可能
GLOBIS DIGITAL PLATFORM 7 Sidekiqのオブザーバビリティがある状態 遅いJobが特定可能
GLOBIS DIGITAL PLATFORM 8 Sidekiqのオブザーバビリティがある状態 Jobが完了していない原因を特定可能
GLOBIS DIGITAL PLATFORM 9 Sidekiqのオブザーバビリティがある状態 Jobが完了していない原因を特定可能
GLOBIS DIGITAL PLATFORM 10 Sidekiqのオブザーバビリティ向上施策の紹介 1. エラーログにjid追加 2. enqueuedログ追加 3.
dequeuedログにjob引数を追加 4. datadogのdurationとelapsedを紐付け 5. job statusを追加
GLOBIS DIGITAL PLATFORM 11 Sidekiqのオブザーバビリティ向上施策の紹介 1. エラーログにjid追加 2. enqueuedログ追加 3.
dequeuedログにjob引数を追加 4. datadogのdurationとelapsedを紐付け 5. job statusを追加
GLOBIS DIGITAL PLATFORM 12 Sidekiq JSONログの出力形式
GLOBIS DIGITAL PLATFORM 13 成功するJobのログ
GLOBIS DIGITAL PLATFORM 14 失敗するJobのログ
GLOBIS DIGITAL PLATFORM 15 エラーメッセージに jidがない
GLOBIS DIGITAL PLATFORM 16 Jobライフサイクル全てのログを追跡できない つまり、Jobが完了していない原因を特定可能できない 引用: https://github.com/sidekiq/sidekiq/wiki/Job-Lifecycle
GLOBIS DIGITAL PLATFORM 17 実装 $ cat config/initializers/sidekiq.rb
GLOBIS DIGITAL PLATFORM 18 実装前後のログ変化
GLOBIS DIGITAL PLATFORM 19 実装 $ cat config/initializers/sidekiq.rb Sidekiq::Context.add
GLOBIS DIGITAL PLATFORM 20 実装の解説 ctxにjidを詰めれば良さそう Sidekiq::Context.add
GLOBIS DIGITAL PLATFORM 21 実装の解説 Sidekiq::Context.add
GLOBIS DIGITAL PLATFORM 22 実装の解説 Sidekiq::Contextは Jobの状態をハッシュに詰め込んだもの Sidekiq::Context.add
GLOBIS DIGITAL PLATFORM 23 実装の解説 $ cat config/initializers/sidekiq.rb config.error_handlers
GLOBIS DIGITAL PLATFORM 24 実装の解説 config.error_handlers
GLOBIS DIGITAL PLATFORM 25 実装の解説 config.error_handlers default error handler add_jid_
error_handler default error handler Array#unshiftで配列に先頭追加することで 以降のhandlerでctx.jidが出力される
GLOBIS DIGITAL PLATFORM 26 まとめ Jobが完了していない原因を特定しやすくなった!!! 引用: https://github.com/sidekiq/sidekiq/wiki/Job-Lifecycle
GLOBIS DIGITAL PLATFORM 27 まとめ 明日、Sidekiqオブザーバビリティ向上 Pull Requestを作成し 検証環境で実験できるようになった!
We are hiring!!!