Skip to content

クラスター設定

EMQXはホットコンフィグレーション機能を提供しており、EMQXノードを再起動することなく、実行時に設定を動的に変更できます。EMQXダッシュボードはホットコンフィグレーション機能を備えた視覚的な設定ページを提供し、EMQXの設定を簡単に変更できます。

クラスター設定モジュールは以下のサブモジュールを提供します:

  • MQTT設定
  • クラスター
  • ネームスペース
  • リスナー
  • ロギング
  • モニタリング
  • クラスターリンク

MQTT設定

MQTT設定ページはMQTTプロトコルに関連する設定機能を提供します。このページでは、以下を含む様々なMQTT関連パラメータを設定できます:

一般

一般タブページには、アイドルタイムアウト、最大パケットサイズ、最大クライアントID長、最大トピックレベル数、許可される最大QoSレベルなど、MQTTプロトコルの基本的な一般設定項目が含まれています。

セッション

セッションタブページには、MQTTセッション管理に関連する設定項目が含まれており、セッション有効期限間隔(MQTT 5.0以外の接続のみサポート。MQTT 5.0接続はクライアント側で設定が必要)、最大サブスクリプション数、最大フライトウィンドウ、QoS 0メッセージの保存有無などがあります。

Durable Sessions

Durable Sessionsタブページには、MQTT Durable Sessions機能に関連する設定項目が含まれており、メッセージ保持期間、メッセージクエリバッチサイズ、アイドルポーリング間隔、セッションハートビート間隔などがあります。

Retainer

Retainerタブページには、保持メッセージに関するMQTTプロトコル関連の設定項目が含まれており、保持メッセージの有効化、メッセージ保存タイプと方法、最大保持メッセージ数、保持メッセージのペイロードサイズ、メッセージ有効期限間隔などがあります。詳細は保持メッセージの設定を参照してください。

保持メッセージを無効にしても、既存の保持メッセージは削除されません。

システムトピック

システムトピックタブページでは、EMQXの組み込みシステムトピックに関する設定項目を提供します。EMQXは定期的に運用状況、使用統計、リアルタイムクライアントイベントを$SYS/で始まるシステムトピックにパブリッシュします。クライアントがこれらのトピックをサブスクライブすると、関連情報がパブリッシュされます。システムトピックの設定項目には、メッセージパブリッシュ間隔、ハートビート間隔などがあります。

強制シャットダウン

強制シャットダウンタブでは、リソース使用率の閾値に基づく自動シャットダウンの動作を設定できます。この機能は、メッセージキューの長さやヒープサイズなどの過剰なリソース消費によるEMQXの不安定化を防止します。

強制シャットダウンタブページで設定可能な項目は以下の通りです:

  • 強制シャットダウンを有効にする:このトグルスイッチで強制シャットダウン機能を有効または無効にします。有効時は指定されたリソース閾値を超えた場合にクライアントプロセスのシャットダウンを自動的にトリガーします。デフォルトで有効です。
  • 最大ヒープサイズ:システムの最大許容ヒープサイズを指定します。ヒープサイズがこの制限を超えると、システムの安定性を維持するために強制シャットダウンが開始されます。デフォルト値は32 MBです。
  • 最大メールボックスサイズ:メールボックスのメッセージキューの最大許容長さを定義します。キューがこの長さを超えると、システム過負荷を防ぐために強制シャットダウンがトリガーされます。デフォルト値は1000です。

クラスター

クラスター設定ページでは、EMQXクラスターのノード管理が可能で、詳細の閲覧、新規ノードの招待、既存ノードの削除が行えます。

ノードの詳細を確認するには、ノード名をクリックしてください。詳細情報のためにクラスター表示ページにリダイレクトされます。

ノードを招待するには、招待をクリックし、ノード名欄にノードのIPアドレスまたはホスト名を入力して確認をクリックします。

ノードを削除するには、削除をクリックします。削除前に確認ダイアログが表示されます。

cluster-node

EMQXはコマンドラインインターフェース(CLI)を使ったクラスターの作成・管理もサポートしています。詳細はクラスターの作成と管理を参照してください。

ネームスペース

EMQXのネームスペース機能は、単一クラスター内で異なるクライアントグループを論理的に分離します。ネームスペースはネームスペースページで管理可能です。管理および設定の詳細はネームスペースを参照してください。

リスナー

リスナーページはデフォルトでリスナーの一覧を表示します。EMQXは以下の4つの一般的なリスナーを提供しています:

  • ポート1883を使用するTCPリスナー
  • ポート8883を使用するSSL/TLSセキュア接続リスナー
  • ポート8083を使用するWebSocketリスナー
  • ポート8084を使用するWebSocketセキュアリスナー

image

通常は、対応するポートとプロトコルタイプを指定してこれらのデフォルトリスナーを使用します。別のタイプのリスナーを追加するには、右上の**+Add Listener**ボタンをクリックして新しいリスナーを作成します。

リスナーの追加

Add Listenerポップアップパネルにはリスナー追加用のフォームが表示され、基本設定項目が含まれています。リスナーを識別するための名前を入力し、リスナータイプ(TCP、SSL、WS、WSS)を選択、リスナーアドレス(IPアドレスとポート番号)を入力します。IPアドレスを指定するとリスナーのアクセス範囲を制限できます。ポート番号のみの指定も可能です。

image

レート制限

Add ListenerフォームのLimiterセクションでは、EMQX稼働中のメッセージ受信およびパブリッシュレートを制限できます。例えば:

  • 最大接続レート(リスナー単位)
  • 最大メッセージパブリッシュレート(クライアント単位)
  • 最大メッセージパブリッシュトラフィック(クライアント単位)

レート制限を設定することで、メッセージデータの過負荷や過剰なクライアント要求発生時のシステムおよびネットワークの安定性を確保します。

レート制限の詳細設定はレート制限を参照してください。

リスナー設定の詳細はEMQX Enterprise設定マニュアルをご覧ください。

リスナーの管理

リスナー追加後は一覧に表示されます。リスナー名をクリックすると編集ページに入り、設定の変更や削除が可能です。なお、リスナー名、タイプ、リスナーアドレスは設定画面で変更できません。

編集ページの削除ボタンをクリックするとリスナーを削除できます。削除時は確認のためリスナー名の入力が必要です。また、有効スイッチでリスナーの有効・無効を切り替えられます。リストには各リスナーの接続数も表示されます。

注意

リスナーの変更および削除はリスクを伴う操作です。リスナーを更新または削除すると、そのリスナー上のクライアント接続は切断されますので注意してください。

ロギング

ロギングページには、コンソールログファイルログログスロットリング監査ログのタブがあります。

EMQXはコンソールログとファイルログの2種類のログ出力をサポートしており、用途に応じていずれかまたは両方を選択可能です。対応する設定ページでログハンドラの有効・無効、ログレベル、ログフォーマットタイプを設定でき、ファイルログではログファイルのパスやログ名も指定できます。ログの詳細設定はダッシュボードによるログ設定を参照してください。

ログスロットリングタブページでは、ログスロットリングの時間ウィンドウを設定できます。ログスロットリングの詳細はログレート制限を参照してください。

監査ログページでは、EMQXの監査ログ機能の有効・無効設定および構成が可能です。詳細設定は監査ログをご覧ください。

モニタリング

注意

モニタリング機能はEMQX Enterpriseエディションのみ利用可能です。

モニタリングページは以下の2つのタブを含みます:

  • システム:ユーザーのニーズに応じて、アラーム機能のアラーム閾値やチェック間隔などの設定を調整可能です。
  • 統合:サードパーティのモニタリングプラットフォームとの統合設定を提供します。

システム

現在のアラームトリガー閾値や監視チェック間隔のデフォルト値が実際のニーズに合わない場合は、このページで設定を調整できます。設定はErlang VMオペレーティングシステムの2つのモジュールに分かれており、各設定項目のデフォルト値や説明はアラームに記載されています。

システムモニタリング画面

統合

このページは主にサードパーティのモニタリングプラットフォームとの統合設定を提供します。現在、EMQXはPrometheusOpenTelemetryDatadogとの統合をサポートしています。

Prometheusを利用する場合、このページで設定を素早く有効化でき、プッシュデータのアドレスやデータ報告間隔などを設定可能です。EMQXが提供するAPI /prometheus/statsを使って監視データを取得できます。このAPI利用時に認証情報は不要です。詳細はPrometheusを参照してください。

通常、EMQXのメトリクスデータ監視にPushgatewayを使う必要はありませんが、Pushgatewayサービスアドレスを設定して監視データをPushgatewayにプッシュし、その後PushgatewayPrometheusサービスにデータを送信する構成も可能です。詳細はPushgatewayの利用タイミングをご覧ください。

ページ下部のヘルプボタンをクリックし、デフォルトまたはPushgateway方式を選択し、案内に従って関連サービスのアドレスやAPI情報を設定すると、対応するPrometheus設定ファイルを素早く生成できます。生成した設定ファイルを使ってPrometheusサービスを起動してください。

ユーザーはGrafanaで監視データをカスタマイズ・修正可能です。Prometheusサービス起動後、ヘルプページの最後にあるDownload Grafana Templateボタンをクリックして、当社が提供するデフォルトダッシュボードの設定ファイルをダウンロードできます。ファイルをGrafanaにインポートすると、可視化パネルでEMQXの監視データを閲覧できます。テンプレートはGrafana公式サイトからも入手可能です。

image

OpenTelemetryおよびDatadog統合の詳細設定はOpenTelemetryとの統合およびDatadogとの統合を参照してください。

クラスターリンク

クラスターリンク機能は複数の独立したEMQXクラスターを接続し、地理的に分散したクラスター間でクライアント同士の通信を可能にします。ユーザーはこのページでクラスターリンクの作成および設定が可能です。作成と設定の詳細はEMQXクラスターリンクを参照してください。