Slide 1

Slide 1 text

Workflow Automation によるインシデント原 因調査 自動化 伊藤 勝梧 16 October 2024 komoju.com

Slide 2

Slide 2 text

伊藤 勝梧 showwin Staff SRE @ DEGICA, 2023.9 ~

Slide 3

Slide 3 text

KOMOJU by DEGICA 決済代行システム

Slide 4

Slide 4 text

多様な 決済方法を 提供

Slide 5

Slide 5 text

海外 決済手段も 対応

Slide 6

Slide 6 text

導入実績 10000社以上

Slide 7

Slide 7 text

KOMOJU by DEGICA 名前を聞いたことない …です…よ ??

Slide 8

Slide 8 text

10% 日本人 エンジニア 5名 日本在住 海外出身エンジニア 90%

Slide 9

Slide 9 text

KOMOJU 立ち位置 ユーザ 加盟店 Gateways (決済システム/アクワイアラ)

Slide 10

Slide 10 text

インシデント 早く復旧 させたい Generated by DALL·E 3

Slide 11

Slide 11 text

課題: インシデント復旧時間 改善 戦略: Runbook 作成とそ 自動化 実装: Workflow Automationによる自動化 結果: アラート 調査時間 短縮

Slide 12

Slide 12 text

課題: インシデント復旧時間 改善 戦略: Runbook 作成とそ 自動化 実装: Workflow Automationによる自動化 結果: アラート 調査時間 短縮

Slide 13

Slide 13 text

障害検知 原因特定 修正 インシデント復旧 まで プロセス 障害発生 障害回復

Slide 14

Slide 14 text

障害検知 原因特定 修正 迅速に障害検知できることが最重要 障害発生 障害回復

Slide 15

Slide 15 text

障害検知 原因特定 修正 インシデント復旧 まで プロセス 障害発生 障害回復

Slide 16

Slide 16 text

障害検知 原因特定 修正 問題 原因が特定 できれ 解決 容易 障害発生 障害回復

Slide 17

Slide 17 text

想像してください 入社して半年経過 今日から初 オンコールシフト アラート来ないで…🙏 Generated by DALL·E 3

Slide 18

Slide 18 text

Lorem Ipsum is simply

Slide 19

Slide 19 text

Lorem Ipsum is simply

Slide 20

Slide 20 text

Lorem Ipsum is simply

Slide 21

Slide 21 text

原因調査に 手間取る LB ログを確認 次 …? APMでエラー トレースを確認 手がかり なさに焦る 直近 デプロイ 有無を確認

Slide 22

Slide 22 text

ふたを 開けてみると Generated by DALL·E 3

Slide 23

Slide 23 text

5xx Expired 偽陽性アラート: 誤ったカード情報 によりエラー数増加 Error ユーザ 加盟店 Gateways (決済システム/アクワイアラ)

Slide 24

Slide 24 text

課題: インシデント復旧時間 改善 戦略: Runbook 作成とそ 自動化 実装: Workflow Automationによる自動化 結果: アラート 調査時間 短縮

Slide 25

Slide 25 text

Runbook One monitor, one runbook

Slide 26

Slide 26 text

手探り Runbook 障害検知 原因特定 修正 30~60分 5~10分 復旧時間改善 例 障害回復

Slide 27

Slide 27 text

手探り Runbook 障害検知 原因特定 修正 30~60分 5~10分 復旧時間改善 例 障害回復 Runbook自動化

Slide 28

Slide 28 text

課題: インシデント復旧時間 改善 戦略: Runbook 作成とそ 自動化 実装: Workflow Automationによる自動化 結果: アラート 調査時間 短縮

Slide 29

Slide 29 text

Workflow Automation 2023年6月にリリース Step by step でワークフローを定義 Datadog Monitor などを契機に実行

Slide 30

Slide 30 text

アラート 偽 陽性確認を 自動化 してみる

Slide 31

Slide 31 text

アラートを契機に Workflowが実行される

Slide 32

Slide 32 text

APM Spanを参照して HTTP Status > 399 が 発生している エンドポイント 一覧 を列挙

Slide 33

Slide 33 text

支払い 認証に関するエンド ポイント みでエラー発生? 違う場合 エラー発生箇所を Slackに投稿して終了

Slide 34

Slide 34 text

Span カスタムタグから 決済手段がクレジットカードか判 断 違う場合 問題 Gatewayを Slackに投稿して終了

Slide 35

Slide 35 text

アプリケーションDBから同期さ れるデータを参照して、 ユーザ カード情報に起因する エラーか判断 Yes 場合 偽陽性アラートだと Slackに投下 No 場合 要調査とSlack に投下

Slide 36

Slide 36 text

Tips Generated by DALL·E 3

Slide 37

Slide 37 text

Workflowから データ参照 パターン

Slide 38

Slide 38 text

Datadog内 データ参照 原則こ 方法がオススメ DD Agentなどからメトリクス/ログ 取り込み Search Queryで記述 ログ 料金 み注意

Slide 39

Slide 39 text

Datadog内 データ参照 原則こ 方法がオススメ DD Agentなどからメトリクス/ログ 取り込み Search Queryで記述 ログ 料金 み注意

Slide 40

Slide 40 text

アプリケーション DBから データ取り込み Redash Puller WebApp DB Kumonga (DD Agent) OpenMetrics OpenMetrics Job Queue

Slide 41

Slide 41 text

Datadog内 データ参照 原則こ 方法がオススメ DD Agentなどからメトリクス/ログ 取り込み Search Queryで記述 ログ 料金 み注意

Slide 42

Slide 42 text

外部サービス から データ取得 連携サービス以外から データ取得が困難 Datadog内にデータを保存しない で無料

Slide 43

Slide 43 text

外部サービス から データ取得 連携サービス以外から データ取得が困難 Datadog内にデータを保存しない で無料

Slide 44

Slide 44 text

認証方法: Basic認証, JWT, mTLS データ 整形が必要 認証&整形 Proxy サービス 作成を推奨 非連携サービス から データ取得

Slide 45

Slide 45 text

外部サービス から データ取得 連携サービス以外から データ取得が困難 Datadog内にデータを保存しない で無料

Slide 46

Slide 46 text

外部サービス から データ取得 連携サービス以外から データ取得が困難 Datadog内にデータを保存しない で無料

Slide 47

Slide 47 text

課題: インシデント復旧時間 改善 戦略: Runbook 作成とそ 自動化 実装: Workflow Automationによる自動化 結果: アラート 調査時間 短縮

Slide 48

Slide 48 text

Runbook Runbook自動化 27秒 3分30秒 🎉

Slide 49

Slide 49 text

Runbook Runbook自動化 27秒 3分30秒 🎉?

Slide 50

Slide 50 text

まず 障害を迅速に検知できるように Focus on detection 監視モニターに 必ずRunbookを用意 One monitor, one runbook 必要に応じてRunbookを自動化 Automate runbook 明日からできること

Slide 51

Slide 51 text

We are Hiring! Senior Backend Engineer with native-level Japanese skill