Diagnose
Diagnoseモジュールは、ユーザーが使用中のエラーや問題をデバッグ・特定するためのいくつかのデバッグツールを提供します。
- WebSocketクライアント:ページ上のWebSocketクライアントを使用して、迅速な接続およびパブリッシュ・サブスクライブのデバッグを行えます。
- トピックモニタリング:トピックに基づいて、メッセージの受信、送信、およびドロップされたデータを監視・表示します。
- スローサブスクリプション:スローサブスクリプション統計を有効にすると、クライアントIDに基づいてメッセージ送信の全フローで設定された閾値を超える時間を消費するサブスクリプションをページ上で確認できます。
- ログトレース:特定のクライアント、トピック、またはIPに対するログをリアルタイムでフィルタリングし、ページ上で閲覧またはダウンロードできます。
WebSocket Client
左側のDiagnoseメニューのWebSocket Clientをクリックすると、WebSocket Clientページに移動します。WebSocket Clientページは、クライアントの接続、サブスクライブ、パブリッシュ機能の迅速なデバッグを可能にするシンプルかつ効果的なMQTTテストツールを提供します。自身が送受信したメッセージデータの閲覧も可能です。ページ上部の**+**ボタンをクリックすると複数のWebSocket接続を追加でき、ページをリフレッシュすると全ての接続状態および送受信データがクリアされます。

Topic Metrics
左側のDiagnoseメニューのTopic Monitoringをクリックすると、Topic Metricsページに移動します。Topic Monitoringでは、ページ右上のCreateボタンをクリックし、監視したいトピックを入力してAddをクリックすると、新しいトピックメトリクス統計を作成できます。作成に成功すると、そのトピックごとのメッセージの受信数、送信数、ドロップ数およびそれらのレートを確認でき、詳細では各QoSごとのデータも閲覧可能です。Resetボタンをクリックすると、既存のトピック統計をリセットできます。テーブルのヘッダーにある統計指標をクリックすると、昇順・降順で監視リストを並べ替え表示できます。

ダッシュボードは特定のトピック名のみをサポートしています。EMQX 6.3以降、ワイルドカードトピックメトリクスの収集はTopic Metrics REST APIを通じてのみ作成・管理でき、ダッシュボード上には表示されません。
Slow Subscriptions
左側のDiagnoseメニューのSlow Subscriptionsをクリックすると、Slow Subscriptionsページに移動します。スローサブスクリプション統計を利用するには、まずスローサブスクリプションの基本設定を行い、この機能を有効にする必要があります。各設定項目の説明はslow subscriptionsをご参照ください。有効化すると、メッセージ送信の全フローで設定されたtime delay thresholdを超える時間を消費したメッセージが統計対象となります。デフォルトでは、統計リストはレイテンシの降順でサブスクライバーとトピック情報を表示します。Client IDをクリックすると、該当サブスクライバーの接続詳細ページに遷移し、接続情報を確認してスローサブスクリプションの原因を調査できます。

Log Trace
左側のDiagnoseメニューのLog Traceをクリックすると、Log Traceページに移動します。特定のクライアント、トピック、またはIPに対してリアルタイムでログをフィルタリングし、デバッグやトラブルシューティングに利用できます。ページ右上のCreateボタンをクリックし、トレース対象を選択します。クライアントIDとIPは正確に入力する必要があり、トピックはワイルドカードマッチングと完全一致の両方に対応しています。進行中のトレースはリストから手動で停止でき、停止したトレースはリストから削除可能です。

現在の全トレースはリストで確認でき、特定のトレースのログを閲覧またはダウンロードできます。クラスター環境では、リストのDownloadボタンをクリックするとダッシュボードに対応するノードのログがダウンロードされ、Viewボタンをクリックするとノードを選択してログの閲覧およびダウンロードが可能です。
