Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2019.10.4 - 決済トランザクションの監視におけるElastic Stackの活用 ~アプリケーションロギング/トレーシングの可視化~

hainet50b
October 04, 2019

2019.10.4 - 決済トランザクションの監視におけるElastic Stackの活用 ~アプリケーションロギング/トレーシングの可視化~

▼開催日▼
2019年10月4日

▼イベント▼
第33回Elasticsearch勉強会「Observability」
https://www.meetup.com/ja-JP/tokyo-elastic-fantastics/events/264954133/

hainet50b

October 04, 2019
Tweet

More Decks by hainet50b

Other Decks in Programming

Transcript

  1. ソフトバンク携帯ユーザー向けの 「ソフトバンクカード」のカード発行・ 運営をしています。 ソフトバンクカードは、 Visa加盟店 で利用できるプリペイドカードです。 ご利用金額に応じて Tポイントが貯 まります。 カード発行業務

    決済代行 EC運営事業者さま向けにオンライン決済 事業を運営しています。豊富な決済手段 をまとめてご提供しています。 カード加盟店業務 Visa、Mastercard、UnionPay(銀聯)のメン バーシップライセンスを保有しており、各ブラ ンドのアクワイアラー(クレジットカード加盟 店契約会社)としての加盟店審査や管理事 業、端末決済サービスを提供しています。 ソフトバンクと共同で、ソフトバンク 携帯ユーザー向けの通話料合算 請求「ソフトバンクまとめて支払い」 の開発・運営をしています。 キャリア決済 EC/ネット店舗 実店舗/訪問販売 ペイメントサービスの事業内容
  2. ソフトバンク携帯ユーザー向けの 「ソフトバンクカード」のカード発行・ 運営をしています。 ソフトバンクカードは、 Visa加盟店 で利用できるプリペイドカードです。 ご利用金額に応じて Tポイントが貯 まります。 カード発行業務

    決済代行 EC運営事業者さま向けにオンライン決済 事業を運営しています。豊富な決済手段 をまとめてご提供しています。 カード加盟店業務 Visa、Mastercard、UnionPay(銀聯)のメン バーシップライセンスを保有しており、各ブラ ンドのアクワイアラー(クレジットカード加盟 店契約会社)としての加盟店審査や管理事 業、端末決済サービスを提供しています。 ソフトバンクと共同で、ソフトバンク 携帯ユーザー向けの通話料合算 請求「ソフトバンクまとめて支払い」 の開発・運営をしています。 キャリア決済 EC/ネット店舗 実店舗/訪問販売 ペイメントサービスの事業内容
  3. 加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化

    チケット クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 API型 決済代行サービス
  4. 加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化

    チケット クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 API型 導入実績 約 111,742 店舗 (2019年5月実績) 取扱高 2兆9,453 億円 (2018年実績) 決済代行サービス
  5. 加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化

    チケット クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 API型 決済手段 40 種以上に対応 決済代行サービス
  6. 加盟店 決済機関 通販サイト ゲーム 教育 不動産 その他 電子書籍/動画 決済サービス 全て一本化

    チケット クレジット 携帯キャリア決済 コンビニ支払い プリペイドカード 口座振替 ポイント支払い アカウント連携決済 当社 当社 加盟店システムと決済機関システムの間に位置す る自社だけでは完結しない Webシステム API型 決済代行サービス
  7. 決済代行 システム 加盟店 X 加盟店 Y 加盟店 Z 決済機関 A

    決済機関 B 決済機関 C 決済代行システムの構成 Java / Spring Bootで開発された複数のアプリケーションで構成。 加盟店からのリクエストを決済機関へハンドリングする。 プラットフォームにPaaSを採用
  8. 加盟店 X 加盟店 Y 加盟店 Z 決済機関 A 決済機関 B

    決済機関 C 決済代行システムの構成 アプリケーションログは標準出力へ。 プラットフォームがsyslogで送信し、 Logstash経由してElasticsearchへ格納される。 決済代行 システム
  9. App A 加盟店 決済機関 分散トレーシングZipkinの導入 App B App C リクエスト単位に一意となる

    ID(=トレースID)を自動で発行し、ログに付与する。 決済代行システムではトランザクション単位に発行される。 ログドキュメントのトレース IDを grokフィルターで構造化する。 ログを送信 Kibanaで「適当なログ」から トランザクション単位で ログを釣り上げられるようになった。 トレースIDで検索
  10. Trace/SpanとZipkinダッシュボード Trace Span 決済代行 システム Zipkinダッシュボード:/traces/{trace-id} トレースデータ を送信 バックエンドにElasticsearchを採用 Span単位でドキュメントが格納される。

    Span(=処理) Name Service(=アプリケーション) Name 処理の順序と 処理時間を可視化 サンプリングレート 100% 保持期間180日 Spanはアプリケーションの実装で任意に追加できる。 HTTPリクエストだけでなく SQLやメソッドも可視化できる。
  11. 社内への取り組みの広がり 加盟店 X 加盟店 Y 加盟店 Z 決済機関 A 決済機関

    B 決済機関 C 決済代行 システム 他システム 他システムにも可能な限り Elastic StackやZipkinを導入。 一貫してKibanaダッシュボードで状況を把握できるようになった。 関連するシステムが増えるとトレーシングの範囲が広がる。 システムの監視からサービス全体の監視へと関心が移っていき、 ビジネスサイドの方にも喜ばれるようになっていった。
  12. 加盟店 X 加盟店 Y 加盟店 Z 決済機関 A 決済機関 B

    決済機関 C 決済代行 システム 決済代行システムのインターフェースに JSON形式の自由項目を追加した。 この自由項目をログに出力することで、 システムごとの業務項目でログを検索したり、 複数のトレースを紐付けることができるようになった。 他システム 社内への取り組みの広がり
  13. 加盟店 X 加盟店 Y 加盟店 Z 決済機関 A 決済機関 B

    決済機関 C 決済代行 システム 既存社内ツール 新規社内ツール 他システム 社内への取り組みの広がり 業務項目もgrokフィルターで構造化した。 この業務項目を既存社内ツールへのリンクにすることで 既存社内ツールの活用促進や、 このリンクを前提とした新規ツールの開発につながった。
  14. 関連資料① 2017/12/14 Elastic {ON} TOUR Tokyo 2017 決済サービスの監視を支える Elastic Stack

    (https://www.slideshare.net/JunyaSuzuki1/elastic-stack-84302320) ①決済機関ごとのトランザクション成功率を監視 ②機械学習で不正与信を検知
  15. 関連資料② Dev 2019/7/23 CloudNative Days Tokyo 2019 決済システム内製化への旅 SpringとPCFで作るクラウドネイティブなシステム開発 (https://www.slideshare.net/JunyaSuzuki1/springpcf-cndt2019-osdt2019-keynote)

    Ops 2019/7/10 Pivotal.IO 2019 決済システム内製化に向けたプラットフォーム構築 PCF・BOSHによるオブザーバブルプラットフォーム (https://www.slideshare.net/DaichiKimura3/pcfbosh-156082821)