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
Error Tracking for Logsを用いたバッチ処理のエラー監視
Search
Ryunosuke Iwai
October 25, 2023
Technology
2
780
Error Tracking for Logsを用いたバッチ処理のエラー監視
@Datadog Japan Meetup 2023 Fall
https://datadog.connpass.com/event/296998/
Ryunosuke Iwai
October 25, 2023
Tweet
Share
More Decks by Ryunosuke Iwai
See All by Ryunosuke Iwai
バッチ処理のSLOをどう設計するか
rynsuke
9
760
スタートアップにおける、チーム拡大を見据えたコンポーネント分割の取り組み
rynsuke
3
2.7k
Notionではじめるライフハックのススメ
rynsuke
1
720
「Datadog入れてみたらAWSの料金が爆発した話」@ゆるSRE勉強会 #1
rynsuke
12
9.2k
LLM Meetup Tokyo #2 手続きを記憶するコマンド型エージェントの実装
rynsuke
3
2.7k
Other Decks in Technology
See All in Technology
類似ロジック実装をiOS/Android間で合わせる道標No.1
fumiyasac0921
0
120
IaCからAWSに入門した初心者が CloudFormationを通して考えた「AWS操作」の使い分け
maimyyym
3
600
MixIT 2024 - Pulumi : Gérer son infra avec son langage de programmation préféré
ju_hnny5
1
120
.NET Profiler in 2024.
kkamegawa
2
2.3k
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
4
940
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
180
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
3
3.3k
Cloud Service Mesh に触れ合う
phaya72
1
290
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
7
1.4k
令和最新版 Ruby プロファイラ "Pf2" のご紹介
osyoyu
0
160
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
840
M&A戦略を支えるデータマネジメント (MIDAS Tech Study #16 GENDA Komiyama)
kommy339
1
160
Featured
See All Featured
Fireside Chat
paigeccino
22
2.6k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
The Language of Interfaces
destraynor
151
23k
RailsConf 2023
tenderlove
9
570
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
Unsuck your backbone
ammeep
664
57k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
Writing Fast Ruby
sferik
622
60k
How to Ace a Technical Interview
jacobian
273
22k
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Transcript
Error Tracking for Logsを⽤いた バッチ処理のエラー監視 @Datadog Japan Meetup 2023 Fall
Cloudbase 株式会社 @ryuke
2022年4月 株式会社メルカリ Microservice Platform CI/CD Kubernetes / Github Actions 2023年1月
Cloudbase株式会社 Platform / SRE チーム Go / terraform / Datadog SNS https://twitter.com/i_ryuke Pokemon Sleep 6645-5328-5408 スイカを転がすゲーム ブーム 現職 前職 @ryuke 岩井 ⿓之介
None
システム構成
システム構成
スキャンワークフローをStep Functionsで実現 +
None
Datadog導⼊により達成できたこと • インテグレーションによりサービスの状態が⼀⽬でわかるように
Datadog導⼊により達成できたこと • CloudWatch Logsを使っていたが、ロググループごとにしかログを確認で きなかった → ログを横断的に確認できるように
⼀⽅で、⼤量のデータを処理するバッチジョブに対する監視の課題 • ⼤量のデータを処理する中で、どうしても⼀部のケースでエラーは発⽣する ◦ APIのレートリミットや権限不⾜、想定していないパターンのデータ、避けられ ないヌルポ • 個々のエラーは要対応ではあるが、寝ている⼈を毎回叩き起こすほどのものではない • 既存のソリューションはうまくフィットしない
◦ Step Functions インテグレーション: ジョブ単位の死活監視のみ ◦ APM: 処理がリクエストごとに分割されていることが前提
監視要件 1. 各エラーが何件、どんな頻度で発⽣しているのかを可視化したい 2. 新しいパターンのエラーが発⽣したときに通知したい 3. 各エラーを調査するのに⼗分なコンテキストが得られること
監視要件 1. 各エラーが何件、どんな頻度で発⽣しているのかを可視化したい 2. 新しいパターンのエラーが発⽣したときに通知したい 3. 各エラーを調査するのに⼗分なコンテキストが得られること → Error Tracking
for Logs がうまくハマった
Error Tracking for Logs
Datadog Error Tracking for Logs • APM / RUM にもError
Trackingはあったが、そのLogs版 • Datadog Logsを活⽤していれば、最⼩限のセットアップで使い始めること が可能 • 2022/11リリース • 2023/10時点でβ機能
セットアップ • 構造化ログのフィールドにエラースタックとメッセージを追加するだけ
1. 各エラーが何件、どんな頻度で発⽣しているのかを可視化したい • コンテキスト情報を元に⾃動でグルーピングしてくれる • それぞれの発⽣件数や頻度を可視化 • ステータスのトラッキング • regressionの検知
2. 新しいパターンのエラーが発⽣したときに通知したい • 新規に発⽣したイシューに対してのみ通知を発⾏することが可能 ◦ アラート疲れの防⽌ • もちろん、既存のものを通知することもできる
3. 各エラーを調査するのに⼗分なコンテキストが得られること • ログのフィールドとして好きな情報を⼊れられる • 該当のログに対してフィルタリングやグルーピングを⾏なってドリルダウンしながら調査し ていく体験が最⾼
達成できたこと ✅ 1. 各エラーが何件、どんな頻度で発⽣しているのかを可視化したい ✅ 2. 新しいパターンのエラーが発⽣したときに通知したい ✅ 3. 各エラーを調査するのに⼗分なコンテキストが得られること
まとめ • バッチ処理の監視に関して、全体に影響を与えないエラーの発⽣状況をう まくトラッキングしたいという課題があった • Error Tracking For Logsを活⽤することで以下を実現 ◦
エラーの⾃動グルーピングと発⽣状況の可視化 ◦ 新規パターンの通知 ◦ エラー調査のためのコンテキストの集約 • β版ではありますが、とても便利な機能なのでぜひ使ってみてください!
ク ラ ウ ド 運 ⽤ を 安 全 に