ClickStack - サンプルのログ、トレース、メトリクス
このガイドでは、サンプルデータセットを使用して、ClickStack Open Source と Managed ClickStack の両方を対象とした手順を説明します。
- マネージド版 ClickStack
- ClickStack オープンソース版
サンプルデータのダウンロード
UIにサンプルデータを投入するには、次のファイルをダウンロードしてください:
このファイルには、当社の公開OpenTelemetry demoからのログ、メトリクス、トレースのサンプルが含まれています。これはマイクロサービスで構成されたシンプルなeコマースストアです。このファイルを任意のディレクトリにコピーしてください。
サンプルデータのロード
このデータをロードするには、デプロイ済みのOpenTelemetry(OTel)コレクターのHTTPエンドポイントに送信するだけです。
次のコマンドを実行して、OTel collectorにデータを送信します。
これは、OTLP ログ、トレース、メトリクスのソースから OTel collector へデータを送信する動作をシミュレートします。本番環境では、これらのソースは言語クライアントまたは他の OTel collector である可能性があります。
Search ビューに戻ると、データの読み込みが開始されていることを確認できます(データが表示されない場合は、時間枠を Last 1 hour に調整してください):

データの読み込みには数分かかります。次の手順に進む前に、読み込みが完了するまで待機してください。
セッションを確認する
ユーザーが商品の支払い時に問題を経験しているという報告があるとします。HyperDXのセッションリプレイ機能を使用して、そのユーザー体験を確認できます。
左側のメニューから Client Sessions を選択します。

このビューを使用すると、eコマースストアのフロントエンドセッションを確認できます。セッションは、ユーザーがチェックアウトして購入を完了しようとするまで匿名として扱われます。
メールを含む一部のセッションには関連するエラーがあり、失敗したトランザクションの報告を裏付けている可能性があります。
失敗と関連するメールを含むトレースを選択します。次の画面では、ユーザーのセッションを再生して問題を確認できます。再生ボタンを押してセッションを視聴してください。

リプレイには、ユーザーがサイトを閲覧し、カートに商品を追加する様子が表示されます。セッション後半の支払い完了を試みる箇所まで、自由にスキップしてください。
エラーはタイムライン上に赤色で表示されます。
ユーザーは注文を完了できませんでしたが、明確なエラーは表示されませんでした。左パネルの下部までスクロールして、ユーザーのブラウザからのネットワークイベントとコンソールイベントを確認してください。/api/checkout の呼び出し時に500エラーが発生していることが確認できます。

この500エラーを選択します。Overviewもカラム値も、エラーが予期しないものでありInternal Errorを引き起こしているという事実以外、問題の原因を示していません。
トレースを探索する
Traceタブに移動して、完全な分散トレースを確認します。

トレースを下にスクロールして、エラーの発生元である checkout サービススパンを確認します。次に、Payment サービススパンを選択してください。

Column Valuesタブを選択し、下にスクロールします。キャッシュが満杯になっていることが原因であることが確認できます。

上にスクロールしてトレースに戻ると、先ほどの設定のおかげで、ログがスパンと相関付けられていることが確認できます。これにより、さらなるコンテキストが提供されます。

決済サービス内のキャッシュが満杯になり、決済処理の完了を妨げていることが確認されました。
ログを確認する
詳細については、Searchに戻ります:
ソースからLogsを選択し、paymentサービスにフィルターを適用します。

この問題は最近発生したものですが、影響を受けた決済の件数が多いことが確認できます。さらに、Visa決済に関連するキャッシュが問題の原因となっているようです。
チャートのメトリクス
コードに明らかにエラーが混入していますが、メトリクスを使用してキャッシュサイズを確認できます。Chart Explorerビューに移動します。
データソースとしてMetricsを選択します。チャートビルダーでvisa_validation_cache.size (Gauge)のMaximumをプロットし、再生ボタンを押します。キャッシュは最大サイズに達するまで増加し続け、その後エラーが発生していることが確認できます。

以下の例では、オールインワンイメージの手順を使用してオープンソース版ClickStackを起動し、ローカルClickHouseインスタンスに接続済みであることを前提としています。
インジェスト API key をコピー
Team Settingsに移動し、API KeysセクションからIngestion API Keyをコピーします。このAPI keyにより、OpenTelemetryコレクター経由のデータインジェストが安全に保護されます。

サンプルデータのダウンロード
UIにサンプルデータを投入するには、次のファイルをダウンロードしてください:
このファイルには、当社の公開OpenTelemetry demoからのログ、メトリクス、トレースのサンプルが含まれています。これはマイクロサービスで構成されたシンプルなeコマースストアです。このファイルを任意のディレクトリにコピーしてください。
サンプルデータのロード
このデータをロードするには、デプロイ済みのOpenTelemetry(OTel)コレクターのHTTPエンドポイントに送信するだけです。
まず、上記でコピーしたAPIキーをエクスポートしてください。
次のコマンドを実行して、OTel collectorにデータを送信します。
これは、OTLP ログ、トレース、メトリクスのソースから OTel collector へデータを送信する動作をシミュレートします。本番環境では、これらのソースは言語クライアントまたは他の OTel collector である可能性があります。
Search ビューに戻ると、データの読み込みが開始されていることを確認できます(データが表示されない場合は、時間枠を Last 1 hour に調整してください):

データの読み込みには数分かかります。次の手順に進む前に、読み込みが完了するまで待機してください。
セッションを確認する
ユーザーが商品の支払い時に問題を経験しているという報告があるとします。HyperDXのセッションリプレイ機能を使用して、そのユーザー体験を確認できます。
左側のメニューから Client Sessions を選択します。

このビューを使用すると、eコマースストアのフロントエンドセッションを確認できます。セッションは、ユーザーがチェックアウトして購入を完了しようとするまで匿名として扱われます。
メールを含む一部のセッションには関連するエラーがあり、失敗したトランザクションの報告を裏付けている可能性があります。
失敗と関連するメールを含むトレースを選択します。次の画面では、ユーザーのセッションを再生して問題を確認できます。再生ボタンを押してセッションを視聴してください。

リプレイには、ユーザーがサイトを閲覧し、カートに商品を追加する様子が表示されます。セッション後半の支払い完了を試みる箇所まで、自由にスキップしてください。
エラーはタイムライン上に赤色で表示されます。
ユーザーは注文を完了できませんでしたが、明確なエラーは表示されませんでした。左パネルの下部までスクロールして、ユーザーのブラウザからのネットワークイベントとコンソールイベントを確認してください。/api/checkout の呼び出し時に500エラーが発生していることが確認できます。

この500エラーを選択します。Overviewもカラム値も、エラーが予期しないものでありInternal Errorを引き起こしているという事実以外、問題の原因を示していません。
トレースを探索する
Traceタブに移動して、完全な分散トレースを確認します。

トレースを下にスクロールして、エラーの発生元である checkout サービススパンを確認します。次に、Payment サービススパンを選択してください。

Column Valuesタブを選択し、下にスクロールします。キャッシュが満杯になっていることが原因であることが確認できます。

上にスクロールしてトレースに戻ると、先ほどの設定のおかげで、ログがスパンと相関付けられていることが確認できます。これにより、さらなるコンテキストが提供されます。

決済サービス内のキャッシュが満杯になり、決済処理の完了を妨げていることが確認されました。
ログを確認する
詳細については、Search ビューに戻ります:
ソースからLogsを選択し、paymentサービスにフィルターを適用します。

この問題は最近発生したものですが、影響を受けた決済の件数が多いことが確認できます。さらに、Visa決済に関連するキャッシュが問題の原因となっているようです。
チャートのメトリクス
コードに明らかにエラーが混入していますが、メトリクスを使用してキャッシュサイズを確認できます。Chart Explorerビューに移動します。
データソースとしてMetricsを選択します。チャートビルダーでvisa_validation_cache.size (Gauge)のMaximumをプロットし、再生ボタンを押します。キャッシュは最大サイズに達するまで増加し続け、その後エラーが発生していることが確認できます。


