2017年7月24日 ユーザストーリー

ワイヤーカード―取引の監視とエラー分析にElastic Stackを活用

著者 Jan Krynojewski

アウトソーシングと法人向け電子決済ソリューションを提供するワイヤーカードAGは、1999年のサービス開始以来、独立型開発企業としてこの分野を世界で牽引しています。

背景と挑戦

ワイヤーカードテクノロジーズでクレジットカード決済の処理を実行するバックエンドシステムの運用を行う部門が私たちSDAP(Service Delivery Acquiring Processing)です。

Eコマース事業者や、POS端末、その他のチャネルから支払いを受け取り、VISA、MasterCard、JCB、中国銀聯のネットワークに送金する業務を行います。この部門で最も重視されるのが、処理の速さ(応答時間の短さ)とサービスの可用性の高さです。

各取引の処理には多数の分散型システムが関与しており、以前は監視を一元的なデータベースクラスターで行っていました。そのデータベースに、運用に関連するすべてのデータと情報を格納していたわけです。

しかし、取引数が増えるにつれ、このアプローチがスケーラブルでないことが明らかになりました。監視の目的は、パフォーマンスを損なわずに取引プロセスの異常(エラーコード数の急激な増加やランタイムの低速化など)をすばやく検出することです。すべての監視リクエストをセントラルテーブルに対するSQLクエリとしていたため、処理が集中していました。当時は、クエリの頻度とシステム付加の最適なバランスを図るため頻繁にメンテナンスを行わなければなりませんでした。

Picture1.png

画像1:ワイヤーカードで以前行っていた監視プロセスの見取り図

Elastic Stackによるリアルタイムな取引監視

他のソリューションを検討しはじめてすぐに、Elastic Stackが候補になりました。Elastic Stackに関する知識はゼロという状態にもかかわらず、私たちのチームは比較的短期間の概念実証で構築に成功しました。Metricbeat、PacketBeat、FileBeatをLogstashと組み合わせ、分散システムから関連するデータすべてを収集してElasticsearchに格納し、Kibanaで表示させるというプロセスです。しかも、このプロセスではデータベースに対して1度もクエリを行いません。

ワイヤーカードではインフラのロードバランサーにF5 BigIPを使用しています。F5 BigIPには組み込みの高速ロギング機能があり、アプリケーション層から重要な情報を抽出しているため、Logstashのsyslogにほぼリアルタイムでデータをストリーミングすることができます。Logstashのsyslogでは自由にデータを変換できるので、たとえばIDを単語に置き換えるといった処理を行うと、Kibanaで非常に効果的に可視化させることができます。設定自体も非常に効率的で、実質的に取引処理システムへの負荷がありません。

Elastic Stackの設定は比較的シンプルです。中心となる2つのLogstashインスタンスはそれぞれ8コアを搭載し、ロードバランサーとBeatインスタンスからデータを受け取ります。次にそのデータを3ノード構成のElasticsearchクラスターに送信します。

私たちの場合、クラスターサイズは3ノードが最適です。メンテナンスの頻度は非常に低く済み、大きな遅延を起こすことなくログとイベントデータを処理する十分なスループットがあります。

週末も含めて24時間稼働しているオペレーション部門でも、メインのKibanaダッシュボードからクリティカルな情報を確認することができるようになりました。またエンドツーエンドの取引処理も、複数のシステムを横断し、リアルタイムで監視可能です。Kibanaのダッシュボードでは、次の項目を表示させています。

  • 受領 / 却下率
  • 各カードスキームへの分散状況(VISA、MasterCard、JCB、中国銀聯のシェア率)
  • 地理的冗長性のあるデータセンター間の取引分散状況
  • 技術的エラーのコード
  • 取引時間のパーセンタイル

Wirecard's Kibana Dashboard

画像2:ワイヤカードで使用しているKibanaのダッシュボード

SDAP部門では、X-Packのアラート機能を使用した緻密なチェックも5秒間隔で行っています。この新しいチェック事項もKibanaを組み合わせて分かりやすく表示したことで、問題が起きた際のチームの応答時間を大幅に短縮させることができました。

Kibanaの詳細表示と絞り込み機能のおかげで、エラーの根本原因の分析もはるかに簡単になりました。すべての情報が一元的に格納され、相互に関連付けられているからです。

Picture2.png

画像3:Elastic Stackによる監視の様子

今後の見通し

Elastic Stackの導入が大きな効果を上げたことで、私たちはこのシステムをさらに拡張し、より多彩な機能を統合しようと考えています。

次の段階として、ワイヤカードのアプリケーションからすべてのログファイルをFilebeat経由でLogstash、およびElasticsearchに送信することを計画しています。KibanaのLogTrailプラグインと組み合わせて、サーバーへのログインを行うことなく、リアルタイムにログを表示させることができるようになります。

オペレーション部門のためにKibanaにあらゆるデータを一元的に表示させれば、完璧な「コックピット」になるでしょう。エラー解析もさらにシンプル化できます。さらに、ワイヤカードでは機械学習のPOCも予定しています。取引監視をどこまでサポートできるか、検証したいと考えています。


執筆者:ヤン・クリノイェウスキ

ワイヤーカードテクノロジーズGmbH、サービスデリバリーアクワイヤリングプロセッシング部門責任者。前職はアプリ / DevOpsエンジニアで、監視と自動化分野で長年の経験を持つ。

2016年初めに基幹事業監視システムの実装責任者となり、分散型でオペレーショナルなチームが統一されたビューでシステムの全体像を確認でき、より効果的なコラボレーションを実施できる環境作りを目指している。