メインコンテンツまでスキップ
バージョン: 4.x

Observability クイックスタート

完全なオブザーバビリティスタック(ログ、トレース、メトリクス)を体験してください。すべてVeloDBによって動作します。


前提条件

  • Docker and Docker Compose がインストールされていること
  • VeloDB Cloud account - 無料でサインアップし、Quick Start Guideに従ってwarehouseを作成してください
  • MySQL client - データベース作成用

VeloDB接続詳細の確認方法

VeloDB Cloudでwarehouseを作成した後:

  1. VeloDB Consoleで自分のwarehouseにアクセスします
  2. Connectionをクリックして以下を確認します:
    • Host - クラスターエンドポイント(例:xxx.velodb.io
    • MySQL Port - 通常は9030
    • HTTP Port - 通常は8080
  3. Settingsをクリックしてadminパスワードを取得またはリセットします

体験できること

Kibanaのようなログ検索

Discover Logs Lucene風の構文による全文検索、ヒストグラム可視化、フィールド分析

分散トレースの探索

Traces Overview マイクロサービス全体のトレースを確認し、期間、サービス、ステータスでフィルタリング

任意のリクエストの詳細調査

Trace Waterfall タイミング詳細と共にすべてのサービスホップを表示する完全なwaterfallビュー


クイックセットアップ(5分)

1. ダウンロード

mkdir velodb-observability && cd velodb-observability
curl -O https://raw.githubusercontent.com/velodb/velodb-tutorials/main/observability/docker-compose.yaml
備考

この単一ファイルにはすべてが含まれています - Grafanaイメージにはダッシュボードとthe Doris App pluginが事前にパッケージされています。

2. 設定

.envファイルを作成します(コピーペーストして編集):

VELODB_HOST=your-cluster.velodb.io
VELODB_USER=admin
VELODB_PASSWORD=your-password
VELODB_DATABASE=observability
VELODB_MYSQL_PORT=9030
VELODB_HTTP_PORT=8080
VELODB_TIMEZONE=America/Los_Angeles
DATA_RETENTION_DAYS=7
REPLICATION_NUM=1
警告

VELODB_TIMEZONEをお使いのローカルタイムゾーン(America/New_York、Europe/London、Asia/Tokyo など)に設定して、Grafanaで正しい時刻が表示されるようにしてください。

3. データベースの作成

source .env && mysql -h $VELODB_HOST -P ${VELODB_MYSQL_PORT:-9030} -u $VELODB_USER -p -e "CREATE DATABASE IF NOT EXISTS $VELODB_DATABASE"

4. 開始

docker compose --profile demo up -d

15以上のマイクロサービスとGrafanaを使用してデモのeコマースアプリを開始します。

5. 動作確認

サービスの開始まで1〜2分待ってから、以下を確認してください:

# Check all containers are running
docker compose --profile demo ps

# Verify data is flowing to VeloDB
docker logs otel-collector 2>&1 | grep -E "LOG|METRIC"

次のような出力が表示されるはずです:

[LOG] total 0 MB 1234 ROWS, total speed 0 MB/s 41 R/s
[METRIC] total 0 MB 567 ROWS, total speed 0 MB/s 18 R/s

パート1: デモストアを探索する

http://localhost:8080 を開いてeコマースのストアフロントを確認してください:

OTEL Demo Store

テレメトリーを生成するために以下のアクションを試してください:

  • 商品カテゴリーを閲覧する
  • カートに商品を追加する
  • チェックアウトを進める
  • 商品を検索する

すべてのクリックがログ、トレース、メトリクスを生成し、VeloDBに流れ込みます。


パート2: ログを発見する

http://localhost:3000AppsDoris AppDiscover を開いてください

備考

「0 hits」と表示される場合は、ストアを閲覧後30秒待ってテレメトリーデータがVeloDBに流れ込むのをお待ちください。

ログを表示する

データベースと otel_logs テーブルを選択してください。時間軸でのログボリュームのヒストグラムが表示されます:

Discover Overview

全文検索クエリで検索する

検索バーでクエリを入力してください - Lucene様の構文をサポートしています:

Lucene Query

以下のクエリを試してください:

クエリ検索結果
severity_text:ERRORすべてのエラー
service_name:frontendfrontendサービスログ
"failed to connect"完全フレーズマッチ
status_code:[500 TO 599]サーバーエラー
service_name:cart AND severity_text:WARNカートの警告

クリックでフィルタリング

任意のフィールド値をクリックすることで即座にフィルタリングできます:

Filter Applied

ログの詳細を展開する

任意のログをクリックしてすべてのフィールドと周辺のコンテキストを表示できます:

Expanded Log

Surrounding Logs

SQLに切り替える

SQLを好みますか?複雑なクエリのためにSQLモードに切り替えてください:

SQL Query

ログでtrace IDを見つける

ログとトレースはtrace IDで接続されています。興味深いログを見つけたら、trace IDを使用してすべてのサービス間の完全なリクエストフローを確認できます。

Log with Trace ID

Trace ID Field

trace IDをクリックしてコピーし、Tracesページ(パート3)で検索してください。


パート3: トレースを探索する

AppsDoris AppTraces に移動してください

すべてのトレースを表示する

システム内を流れるすべてのリクエストを確認できます:

Traces Overview

遅いリクエストを見つける

最小期間でフィルタリングしてパフォーマンス問題を見つけてください:

Duration Filter

期間でソートして最も遅いリクエストを最初に表示してください:

Sorted by Duration

トレースを詳しく調べる

任意のトレースをクリックして完全なウォーターフォール表示を確認してください:

Trace Waterfall

以下を確認できます:

  • リクエストに関与するすべてのサービス
  • 各サービスで費やした時間
  • スパン間の親子関係
  • 任意のスパンでのエラーステータス

パート4: メトリクスを探索する

DashboardsVeloDB OTEL1 Metrics に移動して事前構築されたメトリクスの可視化を確認してください:

Metrics Dashboard

ダッシュボードはマイクロサービスからの主要なメトリクスを表示します:

  • RPS (Requests Per Second) - 各サービスのリクエストスループット
  • Request Duration - サービス間のレイテンシパーセンタイル

完了です!

VeloDBによって強化された完全な可観測性スタックが構築されました:

  • ログ - Kibanaのように全文クエリやSQLで検索可能
  • トレース - すべてのマイクロサービス間の分散トレーシング
  • メトリクス - SQLでパフォーマンスメトリクスをクエリ
  • 相関 - trace IDを使ってログからトレースにジャンプ

すべての可観測性データが一箇所に存在し - 標準SQLでクエリ可能で、10倍のストレージ圧縮とリアルタイム取り込みを提供します。

さらに詳しく知りたいですか? アーキテクチャの詳細と本番環境デプロイメントガイドについてはObservability Overviewをご確認ください。


クリーンアップ

docker compose --profile demo down -v

トラブルシューティング

警告

Grafanaで「0 hits」と表示されるが、データは存在する場合

まず、VeloDBにデータが存在することを確認してください:

source .env && mysql -h $VELODB_HOST -P ${VELODB_MYSQL_PORT:-9030} -u $VELODB_USER -p$VELODB_PASSWORD $VELODB_DATABASE -e "SELECT COUNT(*) FROM otel_logs"

データが存在するにもかかわらず、Grafanaで"0 hits"と表示される場合は、.envVELODB_TIMEZONEをお使いのブラウザのタイムゾーンと一致するように更新し、コンテナを再起動してください。

VeloDBに接続できませんか? → ホストに到達可能で、ポート9030 + 8080が開いていることを確認してください。

Collectorがエクスポートされませんか? → 接続エラーがないかdocker logs otel-collectorを確認してください。


詳細情報