EMQX ダッシュボード
EMQXは、EMQXクラスターの監視および管理を行い、必要な機能をウェブページ経由で設定できる組み込みのDashboard管理コンソールを提供しています。新しいDashboardは刷新されたデザインを採用し、使いやすいMQTTブローカー管理UIを提供します。
EMQX Dashboardの新しいUI/UXデザインは、主要なデータやメトリクスの表示と内容を最適化し、視覚的な体験を向上させるとともに、接続、サブスクライブ、パブリッシュの認証・認可管理、データブリッジングやルールエンジンを用いたデータ統合変換など、より包括的で強力かつ使いやすい組み込み機能を提供します。ブラウザからの迅速かつ簡単なアクセスにより、ユーザーはより便利にEMQXを利用してIoTビジネスの開発を進められます。

主な機能
このセクションでは、Dashboardを通じて設定および管理できるEMQXのさまざまな機能を紹介します。
監視
稼働中のEMQXクラスターの全体情報を表示します。接続数、サブスクライブされたトピック数、メッセージ配信数、インバウンド/アウトバウンドレートなどを含みます。また、ノードリスト、ノード情報、各種システムメトリクス情報も確認できます。さらに、クライアント接続やサブスクリプションデータの閲覧・管理も可能です。
アクセス制御
EMQXにおける認証および認可の仕組みを視覚的に追加・設定できます。
データ統合
強力なSQLベースのルールエンジンやデータ統合機能、Flowデザイナーのビジュアル機能を活用し、ローコードでのデータ処理および統合を実現します。これにより、MQTTデータのリアルタイム抽出、フィルタリング、強化、変換、保存、検証が可能です。
管理
クラスター設定
MQTT、ログ、リスナーなどの設定項目をオンラインで変更・更新でき、更新成功後すぐに反映されます。
高度な MQTT
トピック書き換え、自動サブスクライブ、遅延パブリッシュ、ファイル転送機能の管理および設定が可能です。
拡張機能
カスタムプラグインの統合により、組み込みのゲートウェイ管理・設定を通じて接続プロトコルを拡張できます。また、Hooksを利用して、モジュール間の関数呼び出し、メッセージ伝達、イベント伝達をフックし、システム機能の変更や拡張が可能です。
問題解析と診断
オンラインのMQTT over WebSocketクライアント接続やトピックメトリクスによるデバッグに加え、スローサブスクリプションやログトレースなどの機能を用いた診断や問題発見もサポートしています。
システム
ユーザーアカウント、監査ログ、APIキー、ライセンス設定、シングルサインオン機能の管理および設定が可能です。
ダッシュボードの起動
EMQX Dashboardはウェブアプリケーションで、デフォルトでポート18083で待ち受けます。EMQXを正常にインストール後、ブラウザでhttp://localhost:18083/(ローカル以外のマシンにデプロイした場合はlocalhostを実際のIPアドレスに置き換え)にアクセスすることでDashboardを利用できます。
TIP
Dashboardを有効にしなくてもEMQXは通常通り利用可能です。Dashboardはあくまで視覚的に操作するためのオプションです。
初回ログイン
EMQXを初めてインストールしたユーザーは、ブラウザでDashboardを開いた後、デフォルトのユーザー名adminとパスワードpublicでログインできます。
初回ログイン時にシステムはデフォルトのユーザー名とパスワードでログインしていることを検知し、Dashboardのセキュリティ向上のためパスワード変更を強制します。変更後のパスワードは元のパスワードと同じにできず、publicを再度使用することは推奨されません。
URLによるトークンベースログイン
EMQX 5.6.0以降、DashboardはURLに認証情報を埋め込むことで直接ログインできるトークンベースのログイン方式をサポートしています。
この機能は、ユーザーが手動で認証情報を入力せずに自動的にログインさせるシームレスなリダイレクトや統合シナリオに特に有用です。
利用方法
/loginエンドポイントを使って認証トークンを取得します。レスポンスにはユーザー名が含まれないため、JSONペイロードに手動でユーザー名を追加してからBase64エンコードする必要があります。以下のように、トークン取得、ユーザー名の挿入、Base64エンコードを一括で実行できます。
curl -s -X POST "http://127.0.0.1:18083/api/v5/login" \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{"username": "admin","password": "public"}' | jq '.username = "admin"' | base64ログインURLを構築します。DashboardのURLの
login_metaクエリパラメータにエンコード済み文字列を埋め込みます。例:EMQX 5.6.0未満の場合:
bashhttp://localhost:18083?login_meta=BASE64_ENCODED_STRINGこれによりデフォルトのクラスター概要ページにリダイレクトされます。
EMQX 5.6.0以降の場合:
bashhttp://localhost:18083/#/dashboard/overview?login_meta=BASE64_ENCODED_STRINGログイン後の遷移先ページを指定できます。
この方法により、事前認証済みのスムーズなユーザー体験でEMQX Dashboardにアクセス可能です。トークンは安全に取り扱い、有効期限やスコープ制限を適切に設定してください。
パスワードリセット
Dashboardのログインパスワードはadminsコマンドでリセット可能です。詳細はCLI - adminsを参照してください。
./bin/emqx ctl admins passwd <Username> <Password>パスワード有効期限
現在のDashboardログインパスワードの使用期間が設定されたパスワード有効期限(password_expired_time)を超えると、ログイン時にパスワード更新を促されます。password_expired_time設定の詳細はDashboard設定を参照してください。
「管理者」ロールのユーザーはREST APIを使ってパスワード有効期限を設定可能です。
例:
curl -X 'PUT' \
'http://admin:ppp@localhost:18083/api/v5/configs/dashboard' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"password_expired_time": "1d"}'この例ではパスワード有効期限を1日に設定しています。
アカウントロックと解除
セキュリティ強化のため、EMQX ダッシュボードには「アカウントロックと解除」機能があります。ユーザーが5分間に5回パスワードを誤入力すると、そのアカウントは10分間ロックされます。
「管理者」ロールのユーザーはCLIからユーザーのパスワードをリセットして手動でアカウントロックを解除できます。10分経過後は自動的にロックが解除され、通常通りログイン可能になります。
管理者はロック時間やロック発動までの失敗回数をバックエンド設定で変更可能です。設定の詳細はDashboard設定を参照してください。
ダッシュボードの設定
DashboardはデフォルトでHTTPをリッスンし、ポート番号は18083です。ユーザーはHTTPSを有効化したり、リスナーポートを変更したりできます。Dashboardの設定方法や変更方法の詳細はEMQX Enterprise設定マニュアルを参照してください。