メインコンテンツまでスキップ
メインコンテンツまでスキップ

ClickStackによるビジュアライゼーションとダッシュボード

ClickStackは、HyperDXでのチャート作成をサポートするイベントの視覚化機能を提供しています。これらのチャートは、他のユーザーと共有するためにダッシュボードに追加できます。

視覚化は、トレース、メトリクス、ログ、またはユーザー定義の広範なイベントスキーマから作成できます。

視覚化の作成

HyperDXのChart Explorerインターフェースを使用すると、ユーザーはメトリクス、トレース、およびログを時間軸で視覚化でき、データ分析のための迅速な視覚化を容易に作成できます。このインターフェースはダッシュボード作成時にも再利用されます。以下のセクションでは、Chart Explorerを使用して視覚化を作成するプロセスを説明します。

各視覚化は、データソースを選択し、その後メトリクスを選択し、オプションのフィルター式グループ化フィールドを追加することから始まります。概念的に、HyperDXの視覚化は、内部的にはSQLのGROUP BYクエリにマッピングされます— ユーザーは選択した次元にまたがる集計を定義します。

たとえば、サービス名でグループ化されたエラーの数(count())をチャート化することがあります。

以下の例では、リモートデータセットを使用します。このデータセットは、ガイド"Remote Demo Dataset"で説明されているsql.clickhouse.comで利用可能です。 ユーザーはplay-clickstack.clickhouse.comを訪れることで、これらの例を再現することもできます。

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

Chart Explorer

視覚化の作成

以下の例では、サービス名ごとの平均リクエスト時間を時間経過に沿ってチャート化します。これには、ユーザーがメトリック、カラム(SQL表現が可能)、および集計フィールドを指定する必要があります。

上部メニューからLine/Bar視覚化タイプを選択し、次にTraces(またはplay-clickstack.clickhouse.comを使用している場合はDemo Traces)データセットを選択します。以下の値を入力して、サービス名ごとの平均リクエスト時間を表示するチャートを作成します。

  • メトリック: Average
  • カラム: Duration/1000
  • 条件: <空>
  • グループ化: ServiceName
  • エイリアス: Average Time
Simple visualization

ユーザーは、SQLのWHERE句またはLucene構文を使用してイベントをフィルタリングし、イベントが視覚化される時間枠を設定できることに注意してください。また、複数のシリーズもサポートされています。

たとえば、フィルタServiceName:"frontend"を追加してサービスfrontendでフィルタリングします。Add Seriesをクリックして、エイリアスCountで時間経過に伴うイベント数の第2シリーズを追加します。

Simple visualization 2
注記

視覚化は、すべてのデータソースから作成できます — メトリクス、トレース、またはログ。ClickStackは、これらすべてを広範なイベントとして扱います。任意の数値カラムを時間軸でチャート化でき、文字列日付、または数値カラムはグループ化に利用できます。

この統一アプローチにより、ユーザーは一貫した柔軟なモデルを使用して、異なるテレメトリタイプ間でダッシュボードを構築できるようになります。

ダッシュボードの作成

ダッシュボードは、関連する視覚化をグループ化する方法を提供し、ユーザーがメトリクスを比較し、パターンを並べて探索することで、システム内の潜在的な根本原因を特定するのに役立ちます。これらのダッシュボードは、アドホック調査に使用することも、継続的なモニタリングのために保存することもできます。

ダッシュボードレベルでグローバルフィルターを適用でき、これによりそのダッシュボード内のすべての視覚化に自動的に伝播されます。これにより、チャート全体の一貫したドリルダウンが可能になり、サービスやテレメトリタイプにわたるイベントの相関関係を簡素化します。

以下では、ログとトレースデータソースを使用して2つの視覚化を作成するダッシュボードを作成します。これらの手順は、"Remote Demo Dataset"に説明されている、sql.clickhouse.comでホストされているデータセットに接続して、play-clickstack.clickhouse.com上でも再現可能です。

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

Create Dashboard

デフォルトでは、ダッシュボードはアドホック調査をサポートするために一時的なものです。

独自のHyperDXインスタンスを使用している場合、このダッシュボードが後で保存できるようにするには、Create New Saved Dashboardをクリックします。このオプションは、読み取り専用環境play-clickstack.clickhouse.comを使用している場合は利用できません。

視覚化の作成 – サービスごとの平均リクエスト時間

Add New Tileを選択して視覚化作成パネルを開きます。

上部メニューからLine/Bar視覚化タイプを選択し、次にTraces(またはplay-clickstack.clickhouse.comを使用している場合はDemo Traces)データセットを選択します。サービス名ごとの平均リクエスト時間を時間経過に沿って表示するチャートを作成するために、以下の値を入力します。

  • チャート名: Average duration by service
  • メトリック: Average
  • カラム: Duration/1000
  • 条件: <空>
  • グループ化: ServiceName
  • エイリアス: Average Time

Saveをクリックする前に、プレイボタンをクリックします。

Create Dashboard Visualization

視覚化をダッシュボードの全幅を占めるようにサイズ変更します。

Dashboard with visuals

視覚化の作成 – サービスごとのイベント数の時間経過

Add New Tileを選択して視覚化作成パネルを開きます。

上部メニューからLine/Bar視覚化タイプを選択し、次にLogs(またはplay-clickstack.clickhouse.comを使用している場合はDemo Logs)データセットを選択します。サービス名ごとの時間経過に伴うイベント数を表示するチャートを作成するために、以下の値を入力します。

  • チャート名: Event count by service
  • メトリック: Count of Events
  • 条件: <空>
  • グループ化: ServiceName
  • エイリアス: Count of events

Saveをクリックする前に、プレイボタンをクリックします。

Dashboard Visualization 2

視覚化をダッシュボードの全幅を占めるようにサイズ変更します。

Dashboard with visuals 2

ダッシュボードをフィルタリング

LuceneまたはSQLフィルターとともに時間範囲を、ダッシュボードレベルで適用でき、自動的にすべての視覚化に伝播されます。

Dashboard with filtering

例を示すために、ダッシュボードにLuceneフィルタServiceName:"frontend"を適用し、時間ウィンドウを過去3時間に設定します。視覚化がfrontendサービスからのデータのみを反映することに注意してください。

ダッシュボードは自動的に保存されます。ダッシュボード名を設定するには、タイトルを選択し、Save Nameをクリックする前に修正します。

Dashboard save

ダッシュボード - 視覚化の編集

視覚化を削除、編集、または複製するには、その上にカーソルを合わせて、対応するアクションボタンを使用します。

Dashboard edit

ダッシュボードは左側のメニューからアクセス可能で、特定のダッシュボードを迅速に見つけるためのビルトイン検索があります。

Dashboard search

プリセット

HyperDXは、即座に使用可能なダッシュボードと共に展開されます。

ClickHouseダッシュボード

このダッシュボードはClickHouseの監視用の視覚化を提供します。このダッシュボードに移動するには、左側のメニューから選択します。

ClickHouse dashboard

このダッシュボードは、SelectsInserts、およびClickHouse Infrastructureの監視を分離するためにタブを使用しています。

システムテーブルアクセスが必要

このダッシュボードは、ClickHouseのsystem tablesをクエリし、重要なメトリックを公開します。以下の権限が必要です:

GRANT SHOW COLUMNS, SELECT(CurrentMetric_MemoryTracking, CurrentMetric_S3Requests, ProfileEvent_OSCPUVirtualTimeMicroseconds, ProfileEvent_OSReadChars, ProfileEvent_OSWriteChars, ProfileEvent_S3GetObject, ProfileEvent_S3ListObjects, ProfileEvent_S3PutObject, ProfileEvent_S3UploadPart, event_time) ON system.metric_log

GRANT SHOW COLUMNS, SELECT(active, database, partition, rows, table) ON system.parts

GRANT SHOW COLUMNS, SELECT(event_date, event_time, memory_usage, normalized_query_hash, query, query_duration_ms, query_kind, read_rows, tables, type, written_bytes, written_rows) ON system.query_log

GRANT SHOW COLUMNS, SELECT(event_date, event_time, hostname, metric, value) ON system.transposed_metric_log

サービスダッシュボード

サービスダッシュボードは、トレースデータに基づいて現在アクティブなサービスを表示します。これには、ユーザーがトレースを収集し、有効なトレースデータソースを構成していることが必要です。

サービス名はトレースデータから自動的に検出され、HTTPサービス、データベース、エラーの3つのタブに整理された一連の組み込み視覚化が表示されます。

観測をLuceneまたはSQL構文を使用してフィルタリングし、時間ウィンドウを調整して分析を集中させることができます。

ClickHouse services

Kubernetesダッシュボード

このダッシュボードは、ユーザーがOpenTelemetryを通じて収集されたKubernetesイベントを探索できるようにします。Kubernetes Pod、Deployment、Node名、Namespace、およびClusterによるフィルタリングが可能で、自由形式のテキスト検索も行えます。

Kubernetesデータは簡単にナビゲーションできるように、Pods、Nodes、およびNamespacesの3つのタブに整理されています。

ClickHouse kubernetes