Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

サンプルログ、トレース、メトリクス

このガイドでは、サンプルデータセットを使って、ClickStack Open Source と Managed ClickStack の両方を紹介します。

以下のガイドは、Managed ClickStack 入門ガイドを完了し、接続認証情報を控えていることを前提としています。

サービスを選択

ClickHouse Cloudのメインページで、Managed ClickStack のサービスを選択します。

サービスを選択

サンプルデータをダウンロード

UIにサンプルデータを表示するには、次のファイルをダウンロードしてください。

サンプルデータ

# curl
curl -O https://storage.googleapis.com/hyperdx/sample.tar.gz
# or
# wget https://storage.googleapis.com/hyperdx/sample.tar.gz

このファイルには、一般公開されている OpenTelemetry デモ のサンプルのログ、メトリクス、トレースが含まれています。これは、マイクロサービスで構成されたシンプルな e コマースストアです。このファイルを任意のディレクトリにコピーしてください。

サンプルデータを読み込む

このデータを読み込むには、デプロイした OpenTelemetry (OTel) collector の HTTP エンドポイントに送信するだけです。

次のコマンドを実行して、データを OTel collector に送信します。

for filename in $(tar -tf sample.tar.gz); do
  endpoint="http://localhost:4318/v1/${filename%.json}"
  echo "loading ${filename%.json}"
  tar -xOf sample.tar.gz "$filename" | while read -r line; do
    printf '%s\n' "$line" | curl -s -o /dev/null -X POST "$endpoint" \
    -H "Content-Type: application/json" \
    -H "authorization: ${CLICKSTACK_API_KEY}" \
    --data-binary @-
  done
done

これは、OTLP のログ、トレース、メトリクスの送信元が OTel collector にデータを送信する状況をシミュレートしています。本番環境では、これらの送信元は各種言語のクライアントや、別の OTel collector である場合もあります。

Search ビューに戻ると、データの読み込みが始まっていることを確認できます (データが表示されない場合は、時間範囲を Last 1 hour に調整してください) 。

HyperDX の検索

データの読み込みには数分かかります。次の手順に進む前に、読み込みが完了するまで待ってください。

セッションを確認する

ユーザーから、商品の支払い時に問題が発生しているという報告があるとします。HyperDX のセッションリプレイ機能を使って、そのときの体験を確認できます。

左側のメニューから Client Sessions を選択します。

Sessions

このビューでは、e コマースストアのフロントエンドセッションを確認できます。セッションは、ユーザーがチェックアウトして購入完了を試みるまで Anonymous のままです。

メールアドレスが付いている一部のセッションには関連するエラーもあり、取引失敗の報告を裏付けている可能性があります。

失敗しているトレースと、それに関連付けられたメールアドレスを選択します。次のビューでは、ユーザーのセッションを再生して問題を確認できます。play を押してセッションを再生してください。

Session replay

リプレイでは、ユーザーがサイト内を移動し、商品をカートに追加していく様子が表示されます。必要に応じて、支払い完了を試みる場面までスキップしてください。

ユーザーは注文を完了できませんでしたが、明らかなエラーは見当たりません。左側パネルの一番下までスクロールすると、ユーザーのブラウザーから取得したネットワークイベントとコンソールイベントが表示されます。/api/checkout の呼び出し時に 500 エラーが発生していることがわかります。

Error in session

この 500 エラーを選択します。OverviewColumn Values のどちらを見ても、想定外のエラーによって Internal Error が発生していること以外に、問題の原因は示されていません。

トレースを確認する

完全な分散トレースを確認するには、Trace タブに移動します。

セッショントレース

トレースを下にスクロールして、エラーの始点である checkout サービスのスパンを確認します。次に、Payment サービスのスパンを選択します。

スパン

Column Values タブを選択して下にスクロールします。問題は、cache がいっぱいになっていることに関連していると分かります。

カラム値

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

相関付けられたログ

payment サービスで cache が埋まりつつあり、そのため支払いを完了できなくなっていることが分かりました。

ログを確認する

さらに詳しく確認するには、Search に戻ります。

sources から Logs を選択し、payment サービスにフィルタを適用します。

Logs

この問題は最近発生したものですが、影響を受けた支払い件数は多いことがわかります。さらに、Visa の支払いに関連する cache が原因で問題が発生しているようです。

チャートメトリクス

コードに明らかにエラーが入り込んでいますが、metrics を使って cache サイズを確認できます。Chart Explorer ビューに移動します。

データソースとして Metrics を選択します。チャートビルダーで visa_validation_cache.size (Gauge)Maximum を表示するよう設定し、play ボタンを押します。cache は最大サイズに達するまで明らかに増加し、その後エラーが発生しました。

メトリクス
Navigation