大量の時系列データを直感的に管理・分析するには?
膨大な時系列データを「見える化」し、効果的に活用するための鍵となるのが、使いやすいグラフィカル管理インターフェースです。
Timecho Workbench は、IoTDB開発チームが提供する公式GUIツールで、データベースの運用・監視・分析を一元的に支援します。専門的なSQL知識がなくても、マウス操作だけでデータ構造の確認、クエリ実行、可視化までが可能です。
- 構造の可視化: デバイスと測定点の階層関係をツリービューで明確に表示
- 高度な分析機能: 統計計算からAI予測まで、豊富な解析手法を内蔵
- 安定した運用支援: クラスタ状態のリアルタイム監視とセキュリティ管理を統合
主な機能紹介
1. クラスタ全体のモニタリングダッシュボード
起動画面では、ConfigNodeおよびDataNodeの稼働状況を即座に把握できます。各ノードのIPアドレス、サービスステータス(Active/Running)、接続状態などを一覧表示。異常があれば早期に検知でき、システムの健全性を継続的にチェック可能です。
2. 複数インスタンスの統合制御
複数のIoTDBインスタンスを単一のUIから操作可能。新規作成、設定変更、削除に加え、ドラッグ&ドロップによるトポロジー図の編集もサポート。インスタンス間のデータフローを視覚的に整理でき、大規模環境でも管理が容易になります。
3. 測定ポイント(Timeseries)の体系的管理
以下の2つのビューで測点情報を整理:
- リスト表示: 測点名、データ型、符号化方式、圧縮方式などを表形式で一括確認。新規登録や属性変更もGUI上で完結
- モデルビュー: データベース → デバイス → 測点 の階層構造をインタラクティブなツリーで表示。親子関係の確認や、スキーマ設計のレビューに最適
4. 直感的なデータ探索と操作
複雑なクエリ文を書かずに、条件を指定してデータを取得できます。
- データ検索: 対象測点と期間を選択するだけで履歴データを取得。結果はCSVなどでエクスポート可能
- 集計クエリ: 平均値、最大値、最小値、総和などの基本統計量をボタン操作で算出
- SQLエディタ: 高度なクエリが必要な場合でも、シンタックスハイライト付きエディタで複数文をまとめて実行。関数ヘルプやテンプレート補完も利用可
5. AIを活用した時系列データ解析
独自開発の時系列AIモデル「Timer」を組み込み、高度な分析を実現。
- 将来予測: 過去のトレンドに基づき、今後のデータ推移を自動予測
- 異常検知: 正常パターンからの逸脱をリアルタイムで検出し、アラート通知
- モデル登録: 他のAIモデルも追加可能。複数モデルを比較しながら最適なものを選定できます
6. 多様なデータ可視化オプション
取得したデータを即座にグラフ化し、トレンドを把握。
- トレンドチャート: 単一または複数測点の時系列変化を折れ線グラフで表示。リアルタイム更新にも対応
- 信号処理ビューア: 周波数領域での分析を支援。FFT(高速フーリエ変換)、ウェーブレット変換、ローパス/ハイパスフィルタなどを適用した結果を視覚化
7. 運用効率を高める便利機能
- ビュー機能: 複雑なクエリ結果を仮想テーブルとして保存。異なる部署ごとにカスタマイズされたデータ表示を提供可能
- データ同期監視: 異なるデータベース間のレプリケーションタスクをGUIで作成・監視。進捗状況やエラー有無をリアルタイムで確認
- ロールベースアクセス制御: ユーザーとロールを作成し、データアクセス権限を細かく設定。機密情報の保護に貢献
- 監査ログ: 全ユーザ操作を記録。不正アクセスや誤操作の原因追跡に利用可能
導入前の準備と手順
Step 1:IoTDB側でのメトリクス収集の有効化
Prometheus連携のため、まずIoTDBの監視機能を有効化します。
- サーバ設定ファイルで
enable_metric_service=trueを設定 - ConfigNodeとDataNodeを再起動
# サービス停止
./sbin/stop-standalone.sh
# 再起動(デーモンモード)
./sbin/start-confignode.sh -d
./sbin/start-datanode.sh -d
クライアントでshow clusterを実行し、全ノードが"Running"状態であることを確認してください。
Step 2:Prometheusの設定
IoTDBのメトリクスを収集するため、Prometheusをセットアップします。
- Prometheusをダウンロード・展開
tar xvfz prometheus-*.tar.gz
cd prometheus-*
- 設定ファイル
prometheus.ymlを編集し、IoTDBノードをターゲットに追加
scrape_configs:
- job_name: "confignode"
static_configs:
- targets: ["iotdb-1:9091", "iotdb-2:9091", "iotdb-3:9091"]
honor_labels: true
- job_name: "datanode"
static_configs:
- targets: ["iotdb-1:9092", "iotdb-2:9092", "iotdb-3:9092"]
honor_labels: true
- Prometheusを長期保存向けに起動(例:180日保持)
./prometheus --config.file=prometheus.yml --storage.tsdb.retention.time=180d
- Web UI(http://<IP>:9090)を開き、「Status > Targets」で全ターゲットのStateが「Up」となっていることを確認
Step 3:Workbenchのインストールと起動
- 配布パッケージ内の
config/application-prod.propertiesを開き、必要に応じてホスト名やポートを修正 - 起動スクリプトを実行
Windows:
start.bat -d
Linux:
./start.sh -d
jpsコマンドでJavaプロセスが起動していることを確認- ブラウザから
http://<サーバIP>:<ポート>(例: http://127.0.0.1:9190)にアクセスし、ログイン画面が表示されれば成功です