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
明日から始める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
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
NetBoxを利用した作業効率化の試み_NetDevNight4
tnoha
0
460
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
110
第3回しろおびセキュリティスポンサーセッション
log0417
0
140
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
130
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
120
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.6k
Webアクセシビリティ入門 2026
recruitengineers
PRO
1
290
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
1
330
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
3
450
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
440
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
120
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
320
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
What's in a price? How to price your products and services
michaelherold
247
13k
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
Mobile First: as difficult as doing things right
swwweet
225
10k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
530
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Ethics towards AI in product and experience design
skipperchong
2
340
How to Talk to Developers About Accessibility
jct
2
480
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!!!