活用事例

このケーススタディは、SixthSense をどこでどのように実装できるかについて、思考プロセスを支援することを目的としています。 銀行、小売、ストリーミングにおける最も一般的な問題を取り上げ、これらの活用事例を構築し、SixthSense がそれらの問題の解決にどのように役立つかを説明します。 このセクションは定期的に更新されます。

Kafka をメッセージサービスとして使用するトレース活用事例を実証する

活用事例内容
活用事例 1トランザクションの可視化
コンポーネントJavaマイクロサービス、Kafka

基本フロー

決済サービスを利用したバンキング。まず、バックエンドの Java アプリケーションである UI とやりとりします。銀行取引の承認を行うと、Java サービスが Kafka に情報をプッシュし、別のサービスが Kafka から情報を読み取って決済を行います。

問題

決済に問題が発生した場合の問題点は以下の通りです。

  1. リクエストを受け取る Java サービスに何が入力されているのかが可視化されていない。
  2. 遅延が発生した場合、Kafka で何が起こっているのかを可視化できないため、問題把握ができない。
  3. 支払い Java マイクロサービスが可視化されていない。
  4. アプリケーションが高負荷になった際にスケーリングするマイクロサービスであるため、アプリケーションインスタンスを追跡するのが難しい。

SixthSense ソリューション

  • アプリケーションがマイクロサービスであり、Docker がスケーリングに使用されるため、SixthSense Observability Javaエージェントをアプリケーションの Docker イメージに組み込むことで、アプリケーションインスタンスの数を特定し、アプリケーションインスタンスにヒットするトランザクションを追跡することができます。
  • SixthSense Java エージェントはトレースをサポートしています。トランザクションに問題がある場合、エージェントはエラーまたはコールの遅延としてリストアップします。トレースIDとトレースドリルダウンを提供し、トランザクションの最後までトレースすることで、フロントエンドのマイクロサービス、Kafka、または下流の Java アプリケーションのいずれであっても、正確なメソッドの特定を支援します。これにより、トランザクションの問題を特定できます。
  • さらに、VM 監視エージェントまたは Kubernetes エージェントをこれらのインスタンスにインストールすることで、VM パフォーマンスの詳細が提供され、VM 自体に問題がある場合の RCA の決定に役立ちます。

データベースクエリの実行に関する問題

活用事例内容
活用事例 2トランザクションと依存関係にあるデータベースの可視性
コンポーネントマイクロサービス、データベース

基本フロー

小売顧客は Clubcard/優先顧客ポイントを使用してポイントを追加したり、ポイントを交換したりします。小売店に仮想または物理的にログインすると、Clubcard/優先顧客情報をフロントエンドのマイクロサービスにスワイプ/入力する必要があります。これにより、バックエンド(データベースである可能性もあります)に問い合わせが行われます。

問題

バックエンドに問題がある場合、以下の問題が発生します。

  1. リクエストを受け取るマイクロサービスサービスに何が入力されているかを確認できない
  2. クエリ実行状況の可視性
  3. バックエンドの可視性

SixthSense ソリューション

  • アプリケーションがマイクロサービスであり、Docker がスケーリングに使用されるため、SixthSense 監視エージェントをアプリケーションの Docker イメージに組み込むことができます。これにより、アプリケーションインスタンスの数が特定され、アプリケーションインスタンスにヒットするトランザクションが追跡されます。
  • SixthSense APM エージェントはトレースをサポートしています。 トランザクションに問題がある場合、エージェントはエラーまたはスローコールとしてリストアップします。 トレースIDとトレースドリルダウンを提供し、トランザクションの最後までトレースすることで、フロントエンドのマイクロサービスまたはバックエンドのどちらにあるかに関わらず、正確なメソッドの特定を支援します。
  • APM エージェントは、DB クエリの詳細とそのパフォーマンスを提供します。
  • さらに、DB 監視エージェントをコンテナとしてインストールし、DB インスタンスを監視するように設定することで、詳細な DB パフォーマンスメトリクスを表示することができます。 これにより、問題がバックエンドの DB 自体にある場合の RCA の決定に役立ちます。

エンドユーザーが悪者

活用事例内容
活用事例 3エンドユーザーのトランザクションとアプリケーションの状態の可視化
コンポーネントマイクロサービス、エンドユーザーのモニタリング

基本フロー ストリーミングサイトでは、顧客はブラウザまたはモバイルアプリケーションを使用して、エンドデバイスにストリーミングされるビデオを視聴します。ビデオを視聴するには、これらのサイトまたはアプリケーションにログインする必要があります。

問題

バックエンドに問題がある場合、以下の問題に直面します。

  1. ストリーミングサイトを可視化できないため、ストリーミングに問題がある場合、ストリーミングサイトが責められることが多い。
  2. 楽天の調査の結果、顧客のデバイスや操作に問題があることは少なく、ストリーミングサイトの可視化不足が原因であることが判明した。

SixthSense ソリューション

  • アプリケーションがマイクロサービスであり、スケーリングに Docker を使用している場合、SixthSense のObservability エージェントをアプリケーションの Docker イメージに組み込むことで、アプリケーションインスタンスの数を特定し、アプリケーションインスタンスにヒットするトランザクションを追跡することができます。
  • SixthSense の Browser/Mobile エージェントはトレースをサポートしています。トランザクションに問題がある場合、SixthSense のUI はフロントエンドからAPMおよびバックエンドへのトレースを相関させ、問題の発生箇所を特定する機能を提供します。
  • 当社のブラウザ/モバイルエージェントは、一度設定されると、ウェブページのロード時間や DOM メトリクスに関する詳細情報を提供します。これにより、問題がエンドユーザーのデバイスにあるかどうかを特定するのに役立ちます。
  • さらに、DB 監視/VM 監視エージェントをコンテナとしてインストールし、DB/VM インスタンスを監視するように設定することも可能です。これにより、詳細な DB/VM パフォーマンスメトリクスが提供されます。これにより、問題の根本原因分析(RCA)の決定に役立ちます。