オブザーバビリティ クイックスタート
完全なオブザーバビリティスタック(ログ、トレース、メトリクス)を体験してください。すべてVeloDBによって駆動されています。
前提条件
- Docker and Docker Compose がインストールされていること
- VeloDB Cloud account - 無料でサインアップし、Quick Start Guideに従ってwarehouseを作成してください
- MySQL client - データベース作成用
VeloDB接続詳細の確認
VeloDB Cloudでwarehouseを作成した後:
- VeloDB Consoleでwarehouseに移動します
- Connectionをクリックして以下を確認します:
- Host - クラスターエンドポイント(例:
xxx.velodb.io) - MySQL Port - 通常は
9030 - HTTP Port - 通常は
8080
- Host - クラスターエンドポイント(例:
- Settingsをクリックして
adminパスワードを取得またはリセットします
体験できること
Kibanaのようなログ検索
Lucene風の構文による全文検索、ヒストグラム可視化、フィールド分析
分散トレースの探索
マイクロサービス全体のトレースを確認し、期間、サービス、ステータスでフィルタリング
任意のリクエストの詳細調査
タイミング詳細を含む全サービスホップを表示する完全なウォーターフォールビュー
クイックセットアップ(5分)
1. ダウンロード
mkdir velodb-observability && cd velodb-observability
curl -O https://raw.githubusercontent.com/velodb/velodb-tutorials/main/observability/docker-compose.yaml
この単一ファイルにはすべてが含まれています - Grafana イメージにはダッシュボードと Doris App プラグインが事前にパッケージされています。
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
Grafanaで正確な時刻表示を確保するために、VELODB_TIMEZONEをローカルタイムゾーン(America/New_York、Europe/London、Asia/Tokyo等)に設定してください。
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
Part 1: Demo Storeを探索する
http://localhost:8080 を開いてeコマースのストアフロントを確認してください:

テレメトリを生成するために以下のアクションを試してください:
- 商品カテゴリを閲覧する
- カートにアイテムを追加する
- チェックアウトを実行する
- 商品を検索する
すべてのクリックにより、VeloDBに流入するログ、トレース、メトリクスが生成されます。
Part 2: ログを発見する
http://localhost:3000 → Apps → Doris App → Discoverを開いてください
「0 hits」と表示される場合は、ストアを閲覧後にテレメトリデータがVeloDBに流入するまで30秒お待ちください。
ログを確認する
データベースとotel_logsTableを選択してください。時系列でのログボリュームのヒストグラムが表示されます:

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

以下のクエリを試してください:
| Query | 検索結果 |
|---|---|
severity_text:ERROR | すべてのエラー |
service_name:frontend | frontendサービスのログ |
"failed to connect" | 完全一致フレーズ |
status_code:[500 TO 599] | サーバーエラー |
service_name:cart AND severity_text:WARN | cartの警告 |
クリックによるフィルタ
任意のフィールド値をクリックして即座にフィルタできます:

ログ詳細を展開する
任意のログをクリックしてすべてのフィールドと周辺のコンテキストを確認してください:


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

ログ内のトレースIDを見つける
ログとトレースはトレースIDで関連付けられています。興味深いログを見つけたら、トレースIDを使用してすべてのサービスにわたる完全なリクエストフローを確認してください。


トレースIDをクリックしてコピーし、Tracesページ(Part 3)で検索してください。
Part 3: トレースを探索する
Apps → Doris App → Tracesに移動してください
すべてのトレースを表示する
システムを流れるすべてのリクエストを確認してください:

遅いリクエストを見つける
パフォーマンス問題を見つけるために最小継続時間でフィルタしてください:

最も遅いリクエストを最初に表示するために継続時間でソートしてください:

トレースを詳しく調べる
任意のトレースをクリックして完全なウォーターフォールビューを確認してください:

以下を確認できます:
- リクエストに関与するすべてのサービス
- 各サービスでの所要時間
- スパン間の親子関係
- 任意のスパンのエラーステータス
Part 4: メトリクスを探索する
Dashboards → VeloDB OTEL → 1 Metricsに移動して、事前構築されたメトリクス可視化を確認してください:

ダッシュボードはマイクロサービスからの主要メトリクスを表示します:
- RPS (Requests Per Second) - 各サービスのリクエストスループット
- Request Duration - サービス全体のレイテンシパーセンタイル
完了です!
これでVeloDBを活用した完全なオブザーバビリティスタックが構築されました:
- ログ - Kibanaのように全文クエリやSQLで検索可能
- トレース - すべてのマイクロサービスにわたる分散トレーシング
- メトリクス - SQLでパフォーマンスメトリクスをクエリ
- 相関 - トレースIDでログからトレースへジャンプ
すべてのオブザーバビリティデータは1つの場所に格納され - 標準SQLでクエリ可能で、10倍のストレージ圧縮とリアルタイム取り込みを実現します。
**さらに詳しく知りたいですか?**アーキテクチャの詳細と本番環境デプロイメントガイドについてはオブザーバビリティ 概要をご確認ください。
クリーンアップ
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」と表示される場合は、.envファイルのVELODB_TIMEZONEをお使いのブラウザのタイムゾーンと一致するように更新し、コンテナを再起動してください。
VeloDBに接続できませんか? → ホストに到達可能で、ポート9030と8080が開いていることを確認してください。
Collectorがエクスポートしませんか?
→ 接続エラーについてdocker logs otel-collectorを確認してください。
詳細情報
- オブザーバビリティ 概要 - オブザーバビリティにおけるVeloDBの必要性
- VARIANT Data タイプ - ログとトレース用の半構造化データ型
- Inverted Index - VeloDBが高速全文検索を実現する仕組み