Skip to content

Retained Messages ​

EMQXのRetained Messagesページでは、すべての保持メッセージを確認できます。ユーザーが保持メッセージをパブリッシュすると、EMQXはこのメッセージをシステム内に保存します。ユーザーはRetained Messagesページでこのメッセージを閲覧でき、保持メッセージのトピックをサブスクライブすると、EMQXはそのメッセージをトピックにパブリッシュし、ユーザーは即座にメッセージを受信できます。保持メッセージは、ユーザーが手動で削除しない限り、デフォルトで期限切れにはなりません。

Retained Messages List ​

Retained Messages Listには、現在システムに保存されているすべての保持メッセージが表示されます。リストにはトピック、QoS(サービス品質)レベル、パブリッシャーのクライアントID、保持メッセージがパブリッシュされた時間が含まれます。リスト内では、Show PayloadボタンとDeleteボタンをクリックして、それぞれ保持メッセージのペイロードを確認したり、保持メッセージを削除したりできます。右上のRefreshボタンをクリックすると現在の保持メッセージリストが更新され、Settingsをクリックすると保持メッセージ設定ページに遷移します。

EMQXはデフォルトで3つのシステムトピックのメッセージを保持します。クラスター環境では、異なるシステムトピックの保持メッセージはノード名に基づいて保存されます。

  • $SYS/brokers/+/sysdescr: 現在のEMQXノードのシステム説明。
  • $SYS/brokers/+/version: 現在のEMQXノードのバージョン番号。
  • $SYS/brokers: 現在のEMQXクラスター内のすべてのノードの数と名前。

image

Delete Retained Message ​

通常、保持メッセージはクライアントから保持メッセージのトピックに空メッセージをパブリッシュすることで削除できます。この方法に加えて、保持メッセージリストのDeleteボタンをクリックして特定の保持メッセージを削除することも可能です。さらに、Clear Allボタンを使ってクラスター全体の保持メッセージを一括削除することもできます。保持メッセージの有効期限は保持メッセージ設定ページで設定でき、有効期限に達した保持メッセージはEMQXによって自動的に削除されます。

View Payload ​

保持メッセージのペイロードを確認したい場合は、保持メッセージ項目のActions列にあるShow Payloadをクリックしてください。

ポップアップウィンドウの右下にあるCopyボタンをクリックするとペイロードをコピーできます。また、左下のドロップダウンリストからペイロードの表示形式を選択でき、JSONや16進数(Hex)などの特殊なペイロード形式をより直感的に表示できます。

Retainer Settings ​

Retained Messagesページ右上のSettingsボタンをクリックすると、Management -> MQTT SettingsページのRetainerタブに遷移し、保持メッセージ機能の有効・無効切り替えや保持メッセージの各種設定が行えます。

TIP

保持メッセージ機能をトグルスイッチで無効にすると、Retained MessagesページにEnableボタンが表示されます。このボタンをクリックすると、Retainerタブに遷移します。

mqtt-settings-retainer

以下に各項目の詳細を示します。

設定項目種類オプション値デフォルト値説明
Storage Type-Built-in Database--
Storage MethodEnumram, discramram: メモリのみで保存
disc: メモリとハードディスクに保存。
Max Retained MessagesInteger≥ 00(無制限)0は無制限。
最大保持メッセージ数を設定すると、上限に達した際に既存のメッセージが置き換えられます。ただし、新しいトピックの保持メッセージは上限を超えて保存できません。
Max Payload SizeBytesize1MBメッセージの最大ペイロードサイズ。ペイロードが最大値を超える場合、EMQXは保持メッセージとしてではなく通常のメッセージとして扱います。
Message Expire IntervalDuration期限切れなし保持メッセージの有効期限。0は期限切れなしを意味します。PUBLISHパケットにメッセージ有効期限が設定されている場合は、そちらが優先されます。
Message Clear IntervalDuration無効期限切れメッセージをクリーンアップする間隔。
Max Publish RateInteger≥ 02000保持メッセージのパブリッシュ最大レート。上限を超えたメッセージは配信されますが、保持メッセージとしては保存されません。
Deliver RateInteger≥ 01000保持メッセージの配信最大レート。