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
決済システムの監視を支えるElastic Stack
Search
suzukij
June 21, 2022
Programming
0
52
決済システムの監視を支えるElastic Stack
Elastic{ON} Tokyo 2017登壇資料
suzukij
June 21, 2022
Tweet
Share
More Decks by suzukij
See All by suzukij
決済システム内製化のその先に ~クラウドネイティブな開発を"スケール"させるために必要だったこと / Beyond in-house production of payment systems
suzukij
5
3.4k
決済システムの内製化への旅- SpringとPCFで作るクラウドネイティブなシステム開発 / A Journey to Developing an In-House Payment System
suzukij
1
220
A Journey to Developing an In-House Payment System / Spring One Platform 2019
suzukij
0
44
決済システムの内製化への旅- SpringとTASで作るクラウドネイティブなシステム開発
suzukij
0
56
CloudNativeな決済サービスの 開発と2年間の歩み
suzukij
0
91
Other Decks in Programming
See All in Programming
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.2k
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.1k
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
280
ドメインイベント増えすぎ問題
h0r15h0
2
570
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
300
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
7
1.4k
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
7.7k
HTML/CSS超絶浅い説明
yuki0329
0
190
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
390
Scaling your build logic
antalmonori
1
100
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Automating Front-end Workflow
addyosmani
1366
200k
Scaling GitHub
holman
459
140k
Docker and Python
trallard
43
3.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
A designer walks into a library…
pauljervisheath
205
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
YesSQL, Process and Tooling at Scale
rocio
170
14k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
Become a Pro
speakerdeck
PRO
26
5.1k
Practical Orchestrator
shlominoach
186
10k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Transcript
決済システムの監視を支える Elastic Stack SBペイメントサービス株式会社 鈴木 順也(@suzukij) 2020/11/26
SBペイメントサービス株式会社 シニアアーキテクト 鈴木順也(@suzukij) 自己紹介 主な業務 ・新規サービスの開発 ・運用の効率化/改善 Javaを中心とした決済システムの開発に従事
ソフトバンクグループの決済分野における中核事業会社 会社紹介 – SBペイメントサービス SoftBank Group 決済・金融 インターネット コンテンツ その他
海外投資 通信
ソフトバンク携帯ユーザー向けの 「ソフトバンクカード」のカード発行・ 運営をしています。 ソフトバンクカードは、 Visa加盟店 で利用できるプリペイドカードです。 ご利用金額に応じて Tポイントが貯 まります。 カード発行業務
決済代行 EC運営事業者さま向けにオンライン決済 事業を運営しています。豊富な決済手段 をまとめてご提供しています。 カード加盟店業務 Visa、Mastercard、UnionPay(銀聯)のメン バーシップライセンスを保有しており、各ブラ ンドのアクワイアラー(クレジットカード加盟 店契約会社)としての加盟店審査や管理事 業、端末決済サービスを提供しています。 ソフトバンクと共同で、ソフトバンク 携帯ユーザー向けの通話料合算 請求「ソフトバンクまとめて支払い」 の開発・運営をしています。 キャリア決済 EC/ネット店舗 実店舗/訪問販売 SBペイメントサービスの事業内容 決済代行からカード事業まで幅広く展開
ソフトバンク携帯ユーザー向けの 「ソフトバンクカード」のカード発行・ 運営をしています。 ソフトバンクカードは、 Visa加盟店 で利用できるプリペイドカードです。 ご利用金額に応じて Tポイントが貯 まります。 カード発行業務
決済代行 EC運営事業者さま向けにオンライン決済 事業を運営しています。豊富な決済手段 をまとめてご提供しています。 カード加盟店業務 Visa、Mastercard、UnionPay(銀聯)のメン バーシップライセンスを保有しており、各ブラ ンドのアクワイアラー(クレジットカード加盟 店契約会社)としての加盟店審査や管理事 業、端末決済サービスを提供しています。 ソフトバンクと共同で、ソフトバンク 携帯ユーザー向けの通話料合算 請求「ソフトバンクまとめて支払い」 の開発・運営をしています。 キャリア決済 EC/ネット店舗 実店舗/訪問販売 SBペイメントサービスの事業内容 決済代行からカード事業まで幅広く展開
オンライン決済サービスの監視 • サービス状況を可視化してみた話 1 今日お話しすること Elastic Stack 活用の広がり • システム視点:ログ分析ダッシュボードの活用
• サービス視点:ダッシュボードの顧客への共有 2
オンライン決済サービスの監視
加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化
チケット ECサイト向けに様々な決済手段を提供 加盟店に決済APIを提供するシステム クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 API型 システム概要 オンライン決済サービス 画面リンク型
加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化
チケット ECサイト向けに様々な決済手段を提供 加盟店に決済画面や決済 APIを提供するシステム クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 API型 システム概要 オンライン決済サービス 画面リンク型 多彩な決済手段を一括で導入可能 加盟店の手続きコスト、開発コストを削減
加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化
チケット ECサイト向けに様々な決済手段を提供 加盟店に決済APIを提供するシステム クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 API型 画面リンク型 導入実績 約 120,000 店舗 (2019年12月実績) システム概要 オンライン決済サービス
加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化
チケット ECサイト向けに様々な決済手段を提供 加盟店に決済APIを提供するシステム クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 API型 画面リンク型 決済手段 40 種以上に対応 システム概要 オンライン決済サービス
加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化
チケット ECサイト向けに様々な決済手段を提供 加盟店に決済APIを提供するシステム クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 API型 画面リンク型 取扱高 3兆5,361 億円 (2019年実績) システム概要 オンライン決済サービス
加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化
チケット ECサイト向けに様々な決済手段を提供 加盟店に決済APIを提供するシステム クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 API型 画面リンク型 加盟店と決済機関の間に位置する 自社だけでは完結しない Webシステム システム概要 オンライン決済サービス
障害が発生した際に サービスの状況を関係者間で すばやく共有できていなかった システム部門 営業部門 業務部門 アラート通知 加盟店 (お客さま) システム運用の現場で困っていたこと
障害発生
システム運用の現場で困っていたこと 加盟店 システム オンライン 決済システム 決済機関 システム 原因は? ・どこのシステム?ウチ?決済機関?加盟店? 復旧対応は?
システム部門 障害発生
システム運用の現場で困っていたこと システム部門 原因は?復旧対応は? ・どこのシステム?ウチ?決済機関?加盟店? 全体の状況はどうなってる? 現時点のユーザ影響は? 社内に周知しないと。 加盟店 システム オンライン
決済システム 決済機関 システム 障害発生
システム運用の現場で困っていたこと いつから?どの程度のユーザ影響? ・どこの決済機関? ・どこの加盟店? 営業部門 業務部門 加盟店 システム オンライン 決済システム
決済機関 システム 障害発生
システム運用の現場で困っていたこと 営業部門 業務部門 いつから?どの程度のユーザ影響? ・どこの決済機関? ・どこの加盟店? なるべく早く加盟店へ報告したい 加盟店 システム オンライン
決済システム 決済機関 システム 障害発生
システム運用の現場で困っていたこと サービスの状況をリアルタイムでパッと把握 したい 営業部門 業務部門 システム部門 サービスの状況をリアルタイムで ひと目で把握したい 加盟店 システム
オンライン 決済システム 決済機関 システム 障害発生
サービス全体の状況をリアルタイムで可視化 状況の急変をすばやく把握 ‒いつから?現在の状況は? ‒対象の加盟店は? ‒対象の決済手段は? ‒正常とエラーの比率は? やったこと Kibanaの ダッシュボードで表現
決済サービスの監視ダッシュボード 意識したこと •だれでも •いつでも •どこでも •かんたんに 確認できること
決済サービスの監視ダッシュボード
決済サービスの監視ダッシュボード 決済手段ごとにエリアグラフを配置 グラフはシンプルに Green: 決済トランザクション OK Red: 決済トランザクション NG クレジットカード
クレジットカード 3Dセキュア 携帯キャリアB決済 携帯キャリアA決済 携帯キャリアC決済 アカウント連携決済 クレジットカード与信
決済サービスの監視ダッシュボード クレジットカード クレジットカード 3Dセキュア 携帯キャリアB決済 携帯キャリアA決済 携帯キャリアC決済 アカウント連携決済 クレジットカード与信 確認したいこと
✔ 各決済手段 ✔ OK / NGの比率 ✔ 時系列の推移
決済サービスの監視ダッシュボード 誰でもわかるルール 1. グリーンが急激に少なくなったら要注意 2. レッドが急激に多くなったら要注意
決済サービスの監視ダッシュボード(障害時) 誰でもわかるルール 1. グリーンが急激に少なくなったら要注意 2. レッドが急激に多くなったら要注意
決済サービスの監視ダッシュボード(障害時)
決済方法別、加盟店別トランザクション 加盟店名のタグクラウド 商品名のタグクラウド クレジット 加盟店別
決済方法別、加盟店別トランザクション 加盟店名のタグクラウド 商品名のタグクラウド クレジット 加盟店別 クレジットのトランザクション量の急増 加盟店の特定 商品名の特定
加盟店ユーザID カード番号ハッシュ値 結果別 加盟店別 エラーコード別 クレジットカード与信(不正与信)
結果別 加盟店別 エラーコード別 クレジットカード与信(不正与信) カード番号ハッシュ値 加盟店ユーザID NG数が急増を確認
顧客コード 結果別 加盟店別 エラーコード別 クレジットカード与信(不正与信) 加盟店を特定 カード番号ハッシュ値
カード番号ハッシュ値 結果別 加盟店別 エラーコード別 エラーコードの確認 ・カード番号 誤り ・有効期限 誤り ・取扱不可カード
クレジットカード与信(不正与信) 加盟店ユーザID
結果別 加盟店別 エラーコード別 たった3ユーザから大量の与信 クレジットカード与信(不正与信) ECサイト ユーザID別
結果別 加盟店別 エラーコード別 大量のカード番号 クレジットカード与信(不正与信) カード番号ハッシュ値 加盟店ユーザID
Elasticsearchへのデータ投入(DB) RDB Logstash jdbc-input-plugin 1分間隔でSQLを実行 結果をelasticsearchに投入 Logstash Elasticsearch Kibana オンライン
決済サービス
Elasticsearchへのデータ投入(ログ) Beatsで各サーバ上の ログの内容をLogstashに送信 Logstash Elasticsearch Kibana オンライン 決済サービス Beats Beats
Beats Beats RDB Logstashでログを変換し、 Elasticsearchに登録
職場のモニターにダッシュボードを常時表示 “なんとなく” で見れる状態 • 思わぬ気付きを得る ‒ 障害、不正利用 • 周囲の関心を引く ‒
他チームへの展開
• 思わぬ気付きを得る ‒ 障害、不正利用 • 周囲の関心を引く ‒ 他チームへの展開 COVID-19問題 テレワークで職場にいない
職場のモニターにダッシュボードを常時表示 “なんとなく” で見れる状態
障害発生時に自動でKibanaダッシュボードの スクリーンショットをSlackに投稿 障害時にダッシュボード画像をSlack通知 障害検知
障害時にダッシュボード画像をSlack通知 障害検知 アラートのリンクから直接ダッシュボードへ Kibana 7.0 からスマホでもダッシュボードの確認が可能に
誰でも いつでも どこでも サービスの状況を把握できるように • 障害以外でも加盟店の変化に気付くように(爆売れ、不正利用) • 決済トランザクションデータの活用への関心が高まった 取り組みの効果
Elastic Stack 活用の広がり
その後の取り組みや事例を紹介 1. システム視点 ログ分析ダッシュボードの活用 2. サービス視点 ダッシュボードの顧客への共有 先ほど話した内容は3年前の話
システム視点:ログ分析ダッシュボードの活用 これまで データベース上の決済データのみをElastic Stackで可視 化していた。 現在 アプリケーションログやアクセスログもすべてElastic Stackに集約し、可視化されたダッシュボード上で確認を おこなう。 ⇒
開発/運用の調査効率UP、調査時間の削減
アクセスログ
アクセスログ一覧 平均レスポンスタイム アプリ別 アクセス数 ステータスコード別 アクセス数 アクセスログ
アプリケーションログ
アプリケーションログ ログレベル別 ログ出力数 アプリ別 ログ出力数 アプリケーションログ
アプリケーションログ 開発 / 運用の調査効率UP、調査時間の削減 どのようなダッシュボードでどういった監視がしたいかを検討し ながらシステムを開発するようになった
サービス視点:ダッシュボードの加盟店への共有 某チケット販売イベント 当社 システム担当者 チケット 購入者 チケット購入 オンライン 決済サービス
オンライン 決済サービス 当社 システム担当者 加盟店 担当者 数日間のイベント期間中 ダッシュボードをライブ配信 チケット 購入者
チケット購入 サービス視点:ダッシュボードの加盟店への共有 某チケット販売イベント
決済数 取扱高 前日比・傾向 内訳 分類 加盟店イベントの監視 - サービス視点(とあるチケット販売イベント) xx,xxx xxx,xxx
xx,xxx,xxx,xxx x,xxx,xxx,xxx
xx,xxx xxx,xxx xx,xxx,xxx,xxx x,xxx,xxx,xxx 決済数 取扱高 前日比・傾向 内訳 分類 加盟店イベントの監視
- サービス視点(とあるチケット販売イベント)
xx,xxx xxx,xxx xx,xxx,xxx,xxx x,xxx,xxx,xxx 決済数 取扱高 前日比・傾向 内訳 分類 加盟店イベントの監視
- サービス視点(とあるチケット販売イベント)
xx,xxx xxx,xxx xx,xxx,xxx,xxx x,xxx,xxx,xxx 決済数 取扱高 前日比・傾向 内訳 分類 加盟店イベントの監視
- サービス視点(とあるチケット販売イベント)
決済数 取扱高 前日比・傾向 内訳 分類 xx,xxx xxx,xxx xx,xxx,xxx,xxx x,xxx,xxx,xxx 加盟店イベントの監視
- サービス視点(とあるチケット販売イベント)
xx,xxx xxx,xxx xx,xxx,xxx,xxx x,xxx,xxx,xxx 決済数 取扱高 前日比・傾向 内訳 分類 加盟店イベントの監視
- サービス視点(とあるチケット販売イベント)
加盟店イベントの監視 - サービス視点(とあるチケット販売イベント) XX,XXX X,XXX,XXX,XXX XXX,XXX X,XXX,XXX,XXX
加盟店イベントの監視 - サービス視点(とあるチケット販売イベント) XX,XXX X,XXX,XXX,XXX XXX,XXX X,XXX,XXX,XXX 加盟店の システム障害 加盟店の
システム障害
加盟店イベントの監視 - サービス視点(とあるチケット販売イベント) XX,XXX X,XXX,XXX,XXX XXX,XXX X,XXX,XXX,XXX 加盟店へリアルタイムに状況を共有、 さらには加盟店自身も見落としていた障害を検知
決済サービスの状況をほぼリアルタイムで可視化 誰でもいつでもどこでもサービス状況を把握できるように 既存データを可視化して活用、データの価値が高まった Elastic Stack 活用の広がり システム視点:ログ分析ダッシュボードの活用 サービス視点:ダッシュボードの顧客への共有 本日のまとめ
ご清聴ありがとうございました
弊社はエンジニアを募集しています 興味がある方は @suzukij まで
None