ログとオブザーバビリティ
EMQX は、システムの監視、管理、診断を支援する一連のオブザーバビリティ関連機能を提供しています。これらの機能はすべて、ダッシュボードの以下のメニュー項目からアクセスおよび設定が可能です。
監視:
EMQX はメトリクス監視機能を提供しており、運用担当者はこれを基に現在のサービス状況を監視し、システムの異常をトラブルシューティングできます。ユーザーは EMQX ダッシュボード、HTTP API、およびシステムトピックを利用してメトリクスデータを追跡できます。
EMQX は CPU 使用率、システムおよびプロセスメモリ使用率、プロセス数、ルールエンジンのリソース状況、クラスターのパーティションおよび修復状況を監視する組み込みの監視・アラーム機能を備えており、システム異常発生時にアラームを発報します。
管理:
ログはトラブルシューティングやシステムパフォーマンス最適化のための信頼できる情報源です。EMQX のログからアクセス状況、操作履歴、ネットワーク問題の記録を確認できます。
Prometheus は SoundCloud がオープンソースで提供する監視ソリューションで、多次元データモデルのサポート、柔軟なクエリ言語、強力なアラーム管理機能が特徴です。EMQX は Prometheus と統合してシステムメトリクスを収集し、
pushgateway
へメトリクスをプッシュすることをサポートしています。Datadog はアプリケーション向けに統合されたリアルタイムのオブザーバビリティおよびセキュリティソリューションを提供するプラットフォームです。EMQX は Datadog との統合をサポートしており、EMQX の稼働状況の把握、システムパフォーマンス問題の監視・トラブルシューティング、Datadog コンソール上でのメトリクス表示を支援します。
診断:
EMQX はトピック監視機能(トピックメトリクス)を提供しており、指定したトピックに対して送受信されたメッセージ数やレートなどのメトリクスをカウントできます。この機能はダッシュボードの 診断 -> トピックメトリクス ページから閲覧・利用でき、HTTP API 経由での設定も可能です。
通常、EMQX はメッセージの送信をミリ秒単位で完了しますが、ネットワークの影響を受けます。しかしクライアント側でサブスクリプションメッセージのレイテンシが非常に高くなるケースがあります。この問題を解決するために、EMQX はスローサブスクリプション機能を提供しています。
EMQX 5.x ではログトレース機能が追加され、特定のクライアントID、トピック、IP に対してリアルタイムにデバッグレベルのログ出力を有効化できます。