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
3
1.8k
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
A2Aのクライアントを自作する
rynsuke
1
300
2024/08/19 PEK Recap | データで振り返るPEK2024
rynsuke
2
310
バッチ処理のSLOをどう設計するか
rynsuke
11
1.7k
スタートアップにおける、チーム拡大を見据えたコンポーネント分割の取り組み
rynsuke
3
3.7k
Notionではじめるライフハックのススメ
rynsuke
24
1.6k
「Datadog入れてみたらAWSの料金が爆発した話」@ゆるSRE勉強会 #1
rynsuke
12
11k
LLM Meetup Tokyo #2 手続きを記憶するコマンド型エージェントの実装
rynsuke
3
3.3k
Other Decks in Technology
See All in Technology
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.9k
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
110
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.1k
ChatGPTとPlantUML/Mermaidによるソフトウェア設計
gowhich501
1
130
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
540
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
400
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
270
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
270
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
140
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
160
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
9.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Typedesign – Prime Four
hannesfritz
42
2.8k
4 Signs Your Business is Dying
shpigford
184
22k
Scaling GitHub
holman
463
140k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Site-Speed That Sticks
csswizardry
10
810
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Git: the NoSQL Database
bkeepers
PRO
431
66k
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を活⽤することで以下を実現 ◦
エラーの⾃動グルーピングと発⽣状況の可視化 ◦ 新規パターンの通知 ◦ エラー調査のためのコンテキストの集約 • β版ではありますが、とても便利な機能なのでぜひ使ってみてください!
ク ラ ウ ド 運 ⽤ を 安 全 に