テレメトリーをクエリ可能に
デバイスの測定値やイベントをクエリして時系列の変化を調べ、業務に合わせたダッシュボードを構築できます。
EMQX CLICKHOUSE 統合
EMQX でデバイステレメトリを取り込み、フィルタリング・変換した後、ClickHouse でクエリしてダッシュボードや分析に活用します。
概要
EMQX で処理したテレメトリを使い、デバイスの履歴を検索し、設備の性能を比較して、変化の原因を調査します。
デバイスの測定値やイベントをクエリして時系列の変化を調べ、業務に合わせたダッシュボードを構築できます。
EMQX でメッセージをフィルタリングし、必要なフィールドを選択することで、クエリに適した形のデータを ClickHouse に送れます。
ClickHouse が一時的に中断した場合でも、EMQX はリクエストをキューに保持し、設定したバッファ容量と有効期限の範囲内で配信を再試行します。
アーキテクチャ
デバイスが EMQX にデータをパブリッシュします。SQL ルールでテレメトリを処理して ClickHouse のテーブルに書き込み、分析ツールからクエリします。
EMQX Enterprise
MQTT Broker
機能
メッセージのフィールドを整え、データベースへの書き込みを調整し、EMQX から ClickHouse への配信を監視します。
データベースに書き込む前に、SQL ルールでトピックとフィールドを選択し、不要なメッセージを除外して、ペイロードの値を変換します。
ルール SQL リファレンスINSERT テンプレートで、ルールの結果を ClickHouse のカラムにマッピングします。値とデータ型は対象テーブルに合わせてください。
ClickHouse Sink ガイド複数のレコードをバッチにまとめ、データベースへのリクエスト数を減らします。実際に近いトラフィックでバッチサイズを調整し、レコードがクエリ可能になるタイミングを確認してください。
バッチ設定EMQX のクエリモードは同期と非同期から選べます。非同期モードでは、データベースの応答を待たずに MQTT のパブリッシュ処理が進みます。
クエリモードガイドワークロードに合わせてバッファ容量とリクエストの有効期限を設定します。配信の失敗を監視し、中断後にパイプラインがどのように復旧するかをテストしてください。
バッファー設定成功、失敗、破棄されたリクエスト数とキューの深さを追跡し、配信の問題を特定してパイプラインを調整します。
監視ガイド仕組み
EMQX がデータを挿入できる ClickHouse のテーブルと認証情報を用意し、EMQX Dashboard でパイプラインを設定します。
始める前に
デバイスや MQTT クライアントを EMQX に接続し、分析したいテレメトリーをパブリッシュします。
メッセージを選択し、ClickHouse テーブル用にフィールドを整える SQL ルールを作成してテストします。
INSERT テンプレートを指定して ClickHouse のコネクターと Sink を設定します。テストメッセージをパブリッシュし、テーブルをクエリして配信を確認します。
リソース
FAQ
ClickHouse は分析クエリ向けの列指向 SQL データベースです。データ量が増えても、デバイスの履歴を調べたり、テレメトリーを集計したり、ダッシュボードにデータを提供したりできます。
一時的な接続障害が発生した場合、EMQX はリクエストをキューに入れて再試行できます。設定した上限に達すると、リクエストが期限切れになったり破棄されたりすることがあります。ワークロードに合わせてバッファ容量とリクエストの TTL を設定し、失敗したリクエストと破棄されたリクエストを監視してください。
はい。ClickHouse Sink がテーブルに書き込む前に、EMQX の SQL ルールでトピックやペイロードのフィールドを選択し、メッセージをフィルタリングして値を変換できます。
スループットは、メッセージサイズ、SQL ルール、バッチ設定、ネットワーク状況、ClickHouse の処理能力によって異なります。実際に近いトラフィックでパイプライン全体のベンチマークを行い、取り込み要件に合わせてバッチと並行処理を調整してください。
ClickHouse 統合に対応した EMQX 環境、接続可能な ClickHouse エンドポイント、データベース名、書き込み権限のある認証情報、対象テーブルが必要です。コネクター、ルール、INSERT テンプレートを含む Sink を設定し、テストメッセージで配信を確認してください。
MQTT データの取り込み、ClickHouse のスキーマ、分析の目標について、EMQX のエキスパートと一緒に計画を立てましょう。