適用対象: IoT Edge 1.5
重要
IoT Edge 1.5 LTS は、サポートされているリリースです。 IoT Edge 1.4 LTS は、2024 年 11 月 12 日をもってサポートが終了しています。 以前のリリースの場合は、「IoT Edge を更新する」を参照してください。
IoT Edge ランタイム コンポーネントである IoT Edge ハブと IoT Edge エージェントによって、Prometheus 公開形式の組み込みメトリックが生成されます。 これらのメトリックにリモートでアクセスして、IoT Edge デバイスの正常性を監視および把握します。
独自のソリューションを使用してこれらのメトリックにアクセスするか、組み込みのメトリックを収集して Azure Monitor または Azure IoT Hub に送信するメトリック コレクター モジュールを使用します。 詳細については、「メトリックの収集と転送」を参照してください。
メトリックは、edgeHub および edgeAgent モジュールのポート 9600 (http://edgeHub:9600/metrics
およびhttp://edgeAgent:9600/metrics
) で既定で公開されます。 既定では、ホストにはマップされません。
モジュールの createOptions
のメトリック ポートを公開してマッピングすることで、ホストからメトリックにアクセスします。 次の例では、既定のメトリック ポートをホスト上のポート 9601 にマップします。
{
"ExposedPorts": {
"9600/tcp": {}
},
"HostConfig": {
"PortBindings": {
"9600/tcp": [
{
"HostPort": "9601"
}
]
}
}
}
edgeHub と edgeAgent の両方のメトリック エンドポイントをマッピングするときに、異なる一意のホスト ポート番号を選択します。
注
組み込みのメトリックを収集するには、環境変数をhttpSettings__enabled
に設定しないでください。
メトリックを無効にするために使用できる環境変数の一覧は、azure/iotedge リポジトリ ドキュメントにあります。
使用可能なメトリック
メトリックには、収集されるメトリックの性質を識別するタグが含まれます。 すべてのメトリックには、次のタグが含まれます。
タグ | 説明 |
---|---|
iothub | デバイスが通信するハブ |
edge_device | 現在のデバイスの ID |
インスタンス番号 | 現在のランタイムを表す GUID。 再起動時に、すべてのメトリックがリセットされます。 この GUID を使用すると、再起動の調整が容易になります。 |
Prometheus の表示形式には、カウンター、ゲージ、ヒストグラム、概要の 4 つの主要なメトリックの種類が含まれています。 さまざまなメトリックの種類の詳細については、Prometheus のメトリックの種類に関するドキュメントを参照してください。
組み込みのヒストグラムと概要メトリックの分位点は、0.1、0.5、0.9、および 0.99 です。
edgeHub モジュールでは、次のメトリックが生成されます。
名前 | ディメンション | 説明 |
---|---|---|
edgehub_gettwin_total |
source (操作元)id (モジュール ID) |
種類: カウンター GetTwin 呼び出しの合計数 |
edgehub_messages_received_total |
route_output (メッセージを送信した出力)id |
種類: カウンター クライアントから受信したメッセージの合計数 |
edgehub_messages_sent_total |
from (メッセージの送信元)to (メッセージの送信先)from_route_output to_route_input (メッセージの送信先の入力)priority (送信先へのメッセージの優先度) |
種類: カウンター クライアントまたはアップストリームに送信されたメッセージの合計数 to_route_input が $upstream 場合、to は空になります |
edgehub_reported_properties_total |
target (ターゲットの更新)id |
種類: カウンター 報告されたプロパティ更新呼び出しの合計数 |
edgehub_message_size_bytes |
id |
種類: 概要 クライアントからのメッセージ サイズ 新しい測定値が 10 分間報告されない場合、値は NaN として報告される場合があります。
summary の種類では、対応する_count カウンターと_sum カウンターが出力されます。 |
edgehub_gettwin_duration_seconds |
source id |
種類: 概要 ツイン操作の取得にかかった時間 |
edgehub_message_send_duration_seconds |
from to from_route_output to_route_input |
種類: 概要 メッセージの送信に要した時間 |
edgehub_message_process_duration_seconds |
from to priority |
種類: 概要 キューからのメッセージの処理にかかった時間 |
edgehub_reported_properties_update_duration_seconds |
target id |
種類: 概要 報告されたプロパティの更新にかかった時間 |
edgehub_direct_method_duration_seconds |
from (呼び出し元)to (受信者) |
種類: 概要 ダイレクト メッセージの解決にかかった時間 |
edgehub_direct_methods_total |
from to |
種類: カウンター 送信されたダイレクト メッセージの合計数 |
edgehub_queue_length |
endpoint (メッセージの送信元)priority (キューの優先順位) |
種類: ゲージ 指定された優先度に対する edgeHub のキューの現在の長さ |
edgehub_messages_dropped_total |
reason (no_route、ttl_expiry)from from_route_output |
種類: カウンター 理由により削除されたメッセージの合計数 |
edgehub_messages_unack_total |
reason (ストレージ故障)from from_route_output |
種類: カウンター ストレージの障害による未確認のメッセージの合計数 |
edgehub_offline_count_total |
id |
種類: カウンター edgeHub がオフラインになった合計回数 |
edgehub_offline_duration_seconds |
id |
種類: 概要 edgeHub がオフラインだった時間 |
edgehub_operation_retry_total |
id operation (操作名) |
種類: カウンター edgeHub 操作が再試行された合計回数 |
edgehub_client_connect_failed_total |
id reason (未認証) |
種類: カウンター クライアントが edgeHub に接続できなかった合計回数 |
edgeAgent モジュールでは、次のメトリックが生成されます。
名前 | ディメンション | 説明 |
---|---|---|
edgeAgent_total_time_running_correctly_seconds |
module_name |
種類: ゲージ デプロイでモジュールが指定され、実行中の状態だった時間 |
edgeAgent_total_time_expected_running_seconds |
module_name |
種類: ゲージ デプロイでモジュールが指定された時間 |
edgeAgent_module_start_total |
module_name 、module_version |
種類: カウンター モジュールを開始するように edgeAgent から docker に要求された回数 |
edgeAgent_module_stop_total |
module_name 、module_version |
種類: カウンター モジュールを停止するように edgeAgent から docker に要求された回数 |
edgeAgent_command_latency_seconds |
command |
種類: ゲージ docker が特定のコマンドを実行するのにかかった時間。 使用可能なコマンド: 作成、更新、削除、開始、停止、再起動 |
edgeAgent_iothub_syncs_total |
種類: カウンター edgeAgent がそのツインと iotHub との同期を試行した回数 (成功と失敗の両方)。 この数には、ツインを要求するエージェントとツインの更新を通知するハブの両方が含まれます |
|
edgeAgent_unsuccessful_iothub_syncs_total |
種類: カウンター edgeAgent がそのツインと iotHub との同期に失敗した回数。 |
|
edgeAgent_deployment_time_seconds |
種類: カウンター 変更を受け取った後に新しいデプロイを完了するために要した時間。 |
|
edgeagent_direct_method_invocations_count |
method_name |
種類: カウンター Ping や Restart など、組み込みの edgeAgent ダイレクト メソッドが呼び出された回数。 |
edgeAgent_host_uptime_seconds |
種類: ゲージ ホストがオンになっている期間 |
|
edgeAgent_iotedged_uptime_seconds |
種類: ゲージ iotedged が実行されている期間 |
|
edgeAgent_available_disk_space_bytes |
disk_name 、disk_filesystem 、disk_filetype |
種類: ゲージ ディスクの空き領域のサイズ |
edgeAgent_total_disk_space_bytes |
disk_name 、disk_filesystem 、disk_filetype |
種類: ゲージ ディスクのサイズ |
edgeAgent_used_memory_bytes |
module_name |
種類: ゲージ すべてのプロセスで使用されている RAM の容量 |
edgeAgent_total_memory_bytes |
module_name |
種類: ゲージ 使用可能な RAM |
edgeAgent_used_cpu_percent |
module_name |
種類: ヒストグラム すべてのプロセスで使用されている CPU の割合 |
edgeAgent_created_pids_total |
module_name |
種類: ゲージ コンテナーによって作成されたプロセスまたはスレッドの数 |
edgeAgent_total_network_in_bytes |
module_name |
種類: ゲージ ネットワークから受信したバイト数 |
edgeAgent_total_network_out_bytes |
module_name |
種類: ゲージ ネットワークに送信されたバイト数 |
edgeAgent_total_disk_read_bytes |
module_name |
種類: ゲージ ディスクから読み取られたバイト数 |
edgeAgent_total_disk_write_bytes |
module_name |
種類: ゲージ ディスクに書き込まれたバイト数 |
edgeAgent_metadata |
edge_agent_version 、experimental_features 、host_information |
種類: ゲージ デバイスに関する一般的なメタデータ。 値は常に 0 で、情報はタグでエンコードされます。 experimental_features とhost_information は JSON オブジェクトであることに注意してください。
host_information は {"OperatingSystemType": "linux", "Architecture": "x86_64", "Version": "1.2.7", "Provisioning": {"Type": "dps.tpm", "DynamicReprovisioning": false, "AlwaysReprovisionOnStartup": false}, "ServerVersion": "20.10.11+azure-3", "KernelVersion": "5.11.0-1027-azure", "OperatingSystem": "Ubuntu 20.04.4 LTS", "NumCpus": 2, "Virtualized": "yes"} のように表示されます。
ServerVersion は Docker バージョンで、Version は IoT Edge セキュリティ デーモンのバージョンであることに注意してください。 |