
monitor v0.41.0
Valkey および Redis データベース向けのリアルタイム監視とスローログ分析。異常検知、ACL 監査、Prometheus メトリクスのエクスポートを備えています。
BetterDB Monitor
Valkeyにふさわしいモニタリングレイヤー。
BetterDBは、Valkeyが捨ててしまうもの——スローログ、コマンドパターン、クライアントアクティビティ、異常シグナル——を永続化します。これにより、今何が起きているかだけでなく、午前3時に何が起きたのかをデバッグできます。Valkey 8.x向けに構築され、COMMANDLOG、CLUSTER SLOT-STATS、スレッドごとのI/Oメトリクスをネイティブにサポートします。それ以外についてはRedis 6+と互換性があります。
ウェブサイト | Docker Hub | npm | ドキュメント | ブログ
BetterDBは、OCV Open Charterの下で運営される公益企業BetterDB Inc.によって構築されています。

クイックスタート(Docker)
docker run -d --name betterdb -p 3001:3001 betterdb/monitor:latest
ブラウザで http://localhost:3001 にアクセスしてください。特定のインスタンスを監視するには:
docker run -d \
--name betterdb \
-p 3001:3001 \
-e DB_HOST=your-valkey-host \
-e DB_PORT=6379 \
-e DB_PASSWORD=your-password \
betterdb/monitor:latest
ホストマシン上のデータベースに接続しますか? コンテナ内では
localhostはコンテナ自身を指し、ホストではありません。そのため、データベースのホストとしてhost.docker.internalを使用してください。Docker Desktop (macOS/Windows) ではそのまま動作します。Linux では、名前解決のためにdocker runコマンドに--add-host=host.docker.internal:host-gatewayを追加してください。 ダッシュボードのワンクリック「ローカルインスタンスに接続」ボタンはこれを自動検出し、 適切なホストを事前入力します。
2つのイメージバリアントが公開されており、いずれもマルチアーキテクチャ(linux/amd64、linux/arm64)です:
| タグ | 内容 |
|---|---|
latest、X.Y.Z-no-ai | デフォルトイメージ - 実験的なローカルLLM AI Helperの依存関係を除く、すべての監視機能を含む |
X.Y.Z | 実験的なAI Helperを追加(ご自身のOllamaを持ち込み。AI_ENABLED によりデフォルトで無効) |
永続ストレージ、カスタムポート、ライセンス、エアギャップ環境でのセットアップについては、Docker Production Deploymentを参照してください。
クイックスタート (Kubernetes / Helm)
helm repo add betterdb https://docs.betterdb.com/charts
helm repo update
helm install betterdb-monitor betterdb/betterdb-monitor \
--namespace betterdb --create-namespace \
--set db.host=my-valkey.default.svc.cluster.local \
--set db.password=yourpassword
次に kubectl port-forward -n betterdb svc/betterdb-monitor 3001:3001 を実行して http://localhost:3001 を開くか、チャートの ingress を有効にします。PostgreSQL をバックエンドとする履歴、独自の Secrets の持ち込み、エアギャップ環境でのライセンスについては、Kubernetes ガイドとチャート READMEで説明されています。
クイックスタート (CLI)
Docker を使わずに BetterDB Monitor を実行します:
npx @betterdb/monitor
初回実行時には、インタラクティブなセットアップウィザードがデータベース接続、ストレージバックエンド(SQLite、PostgreSQL、またはインメモリ)、およびサーバー設定を順に案内します。設定は ~/.betterdb/config.json に保存されます。
npm install -g @betterdb/monitor # global install
betterdb --setup # re-run setup wizard
betterdb --port 8080 # override server port
betterdb --db-host 1.2.3.4 # override database host
betterdb --help # all options
Node.js >= 20.0.0 と、監視対象の Valkey または Redis インスタンスが必要です。SQLite ストレージを使用する場合は、npm install -g better-sqlite3 も実行してください。
得られるもの
すべてを見て、すべてを保持
- 履歴分析 - 任意の期間にわたってスローログ、コマンドパターン、クライアントアクティビティ、レイテンシをクエリできます。これまでログローテーションで消えていたデータです。
- COMMANDLOG サポート - Valkey 8.1+ 専用。遅いリクエストだけでなく、大きなリクエストや大きなリプライも対象です。
- MONITOR キャプチャセッション - オンデマンドで実際のトラフィックを記録: ライブテール、フィルタ、リプレイ、JSON/CSV へのエクスポート、接続履歴との照合。
- ホットキー追跡 - アクセス頻度順のトップキーと、時間経過に伴う順位の変動。Key Analytics (Pro、早期アクセス期間中は無料) では、ライブサンプリングによる型、TTL、サイズ分布が追加されます。
- クラスタ可視化 - トポロジーグラフ、SLOT-STATS ヒートマップ、スロットごとの CPU とキー分布。
- クラスタ自動登録 - クラスタ接続が各ノードを独自の監視対象接続として自動登録し、クラスタのスケールに合わせて同期を維持します。docs/cluster-auto-registration.md を参照してください。
- CPU & I/O スレッドメトリクス - 他のどの Redis ツールも提供できないスレッド単位の可視性。
- クライアント分析 - どのサービスが何を担当しているかを、クライアント名とパターンで正確に把握できます。
- ACL 監査証跡 - 誰が何にアクセスしたかを追跡し、コンプライアンスとインシデント後のデバッグのために永続化します。
理解して行動する
- 異常検知 (Pro、早期アクセス期間中は無料) - 相関イベントと平易な言葉による診断を伴う自動ベースライン学習。20 以上の検出器を備え、手動のしきい値設定は不要です。
- 容量予測 - メモリ、ops/sec、CPU、フラグメンテーションの上限到達までの予測時間。
- Webhook - リトライと完全な配信ログを備えた HMAC 署名付きアラート配信。
- ライブマイグレーション - 分析、実行、検証の 3 フェーズワークフローで Redis と Valkey 間を移行できます。
AI 時代のために構築
- ベクトル検索の可観測性 - valkey-search と RediSearch 向けの FT.SEARCH の ops/sec とレイテンシ、およびインデックスごとのヘルス。docs/vector-ai を参照してください。
- 推論レイテンシ - インデックスごとの p50/p95/p99 と、SLA 違反アラート (Pro、早期アクセス期間中は無料)。
- セマンティックキャッシュインテリジェンス (Pro、早期アクセス期間中は無料) - ヒット率のヘルス、類似度しきい値の推奨、承認/却下の提案ワークフロー。エージェントメモリの可観測性も含まれます。
- AI トレース - AI アプリケーションからの OTLP スパンウォーターフォールを、各リクエストの背後にあるライブの Valkey 状態と相関付けます。docs/opentelemetry.md を参照してください。
あらゆるものと連携
- MCP サーバー -
@betterdb/mcp経由で Claude Code、Cursor、または任意の MCP クライアント向けの 60 のツール。 - Prometheus エンドポイント - 100 以上の
betterdb_*メトリクス。docs/prometheus-metrics.md を参照してください。 - OpenTelemetry - OTLP トレースを取り込み、メトリクスとイベントを任意の OTLP バックエンドにミラーリングします。docs/opentelemetry.md を参照してください。
- REST API - UI のすべてが API 呼び出しであり、OpenAPI で文書化されています。
自分のデータに自分の方法でアクセス
| インターフェース | 詳細 |
|---|---|
| Web UI | http://localhost:3001 |
| MCP サーバー | npx @betterdb/mcp (stdio) - Settings → MCP Tokens でトークンを作成 (クラウドでは必須、セルフホストでは任意) |
| Prometheus | http://localhost:3001/api/prometheus/metrics |
| REST API (OpenAPI) | http://localhost:3001/docs |
| ヘルスチェック | http://localhost:3001/api/health |
注: 本番ビルド (Docker、CLI) では、API ルートは
/apiプレフィックスの下で提供されます。ローカル開発 (pnpm dev) ではプレフィックスはありません - 例:http://localhost:3001/health。
サポートされるデータベース
| データベース | 最小バージョン | サポートされる機能 |
|---|---|---|
| Valkey | 8.0+ | COMMANDLOG (8.1+) と CLUSTER SLOT-STATS を含むすべての機能 |
| Redis | 6+ | Valkey 専用の COMMANDLOG と CLUSTER SLOT-STATS を除くすべての機能 |
バックエンドは、ワイヤ互換の iovalkey クライアントをラップした統一アダプタを使用し、INFO レスポンスから Valkey か Redis かを自動検出します(DB_TYPE=auto)。COMMANDLOG や SLOT-STATS といった機能はバージョンごとに検出され、機能が利用できない場合には UI が適切に縮退します。
マネージドサービスにも対応しています。AWS ElastiCache、MemoryDB、Redis Cloud、Upstash 向けのガイドは docs/providers にあり、@betterdb/agent はアウトバウンド WebSocket 経由で VPC 専用インスタンスに到達します。