Mengakses metrik bawaan di Azure IoT Edge

Berlaku untuk:Tanda centang IoT Edge 1.5 IoT Edge 1.5 Tanda centang IoT Edge 1.4 IoT Edge 1.4

Penting

IoT Edge 1.5 LTS dan IoT Edge 1.4 LTS adalah rilis yang didukung. IoT Edge 1.4 LTS adalah akhir masa pakai pada 12 November 2024. Jika Anda menggunakan rilis sebelumnya, lihat Memperbarui IoT Edge.

Komponen runtime IoT Edge, hub IoT Edge, dan agen IoT Edge, menghasilkan metrik bawaan dalam format eksposisi Prometheus. Akses metrik dari jarak jauh untuk memantau dan memahami kesehatan perangkat IoT Edge.

Anda dapat menggunakan solusi Anda sendiri untuk mengakses metrik ini. Atau, Anda dapat menggunakan modul pengumpul metrik, yang menangani pengumpulan metrik bawaan dan mengirimkannya ke Azure Monitor atau Azure IoT Hub. Untuk informasi selengkapnya, lihat Mengumpulkan dan mengangkut metrik.

Metrik secara otomatis diekspos secara default pada port 9600modul edgeHub dan edgeAgent (http://edgeHub:9600/metrics dan http://edgeAgent:9600/metrics). Metriks tidak memetakan port ke host secara default.

Akses metrik dari host dengan mengekspos dan memetakan port metrik dari modul createOptions. Contoh di bawah ini memetakan port metrik default ke port 9601 pada host:

{
  "ExposedPorts": {
    "9600/tcp": {}
  },
  "HostConfig": {
    "PortBindings": {
      "9600/tcp": [
        {
          "HostPort": "9601"
        }
      ]
    }
  }
}

Pilih nomor port host yang berbeda dan unik jika Anda memetakan titik akhir metrik edgeHub dan edgeAgent.

Catatan

Variabel lingkungan httpSettings__enabled sebaiknya tidak diatur ke false agar metrik bawaan tersedia untuk koleksi.

Variabel lingkungan yang dapat digunakan untuk menonaktifkan metrik tercantum dalam dokumen repositori azure/iotedge.

Metrik yang tersedia

Metrik berisi tag untuk membantu mengidentifikasi sifat metrik yang dikumpulkan. Semua metrik berisi tag berikut:

Tag Deskripsi
iothub Hub yang berkomunikasi dengan perangkat
edge_device ID perangkat saat ini
instance_number GUID yang mewakili runtime saat ini. Saat menghidupkan ulang, semua metrik diatur ulang. GUID ini membuatnya lebih mudah untuk menyesuaikan proses hidupkan ulang.

Dalam format eksposisi Prometheus, tersedia empat jenis metrik inti: penghitung, pengukur, histogram, dan ringkasan. Untuk informasi selengkapnya tentang berbagai jenis metrik, lihat dokumentasi jenis metrik Prometheus.

Kuantil yang tersedia untuk histogram bawaan dan metrik ringkasan adalah 0,1, 0,5, 0,9 dan 0,99.

Modul edgeHub menghasilkan metrik berikut:

Nama Dimensi Deskripsi
edgehub_gettwin_total source (sumber operasi)
id(ID Modul)
Jenis: penghitung
Jumlah total panggilan GetTwin
edgehub_messages_received_total route_output (output yang mengirim pesan)
id
Jenis: penghitung
Jumlah total pesan yang diterima dari klien
edgehub_messages_sent_total from (sumber pesan)
to (tujuan pesan)
from_route_output
to_route_input (input tujuan pesan)
priority (prioritas pesan ke tujuan)
Jenis: penghitung
Jumlah total pesan yang dikirim ke klien atau upstream
to_route_input kosong ketika to adalah $upstream
edgehub_reported_properties_total target(target pembaruan)
id
Jenis: penghitung
Total panggilan pembaruan properti yang dilaporkan
edgehub_message_size_bytes id
Jenis: ringkasan
Ukuran pesan dari klien
Nilai dapat dilaporkan seolah-olah NaN tidak ada pengukuran baru yang dilaporkan untuk jangka waktu tertentu (saat ini 10 menit); untuk summary jenis, sesuai _count , dan _sum penghitung yang dipancarkan.
edgehub_gettwin_duration_seconds source
id
Jenis: ringkasan
Waktu yang digunakan untuk operasi mendapatkan kembaran
edgehub_message_send_duration_seconds from
to
from_route_output
to_route_input
Jenis: ringkasan
Waktu yang digunakan untuk mengirim pesan
edgehub_message_process_duration_seconds from
to
priority
Jenis: ringkasan
Waktu yang digunakan untuk memproses pesan dari antrean
edgehub_reported_properties_update_duration_seconds target
id
Jenis: ringkasan
Waktu yang digunakan untuk memperbarui properti yang dilaporkan
edgehub_direct_method_duration_seconds from(pemanggil)
to(Penerima)
Jenis: ringkasan
Waktu yang digunakan untuk menyelesaikan pesan langsung
edgehub_direct_methods_total from
to
Jenis: penghitung
Jumlah total pesan langsung yang dikirim
edgehub_queue_length endpoint (sumber pesan)
priority (Prioritas antrean)
Tipe: pengukur
Panjang antrean edgeHub saat ini untuk prioritas tertentu
edgehub_messages_dropped_total reason (no_route, ttl_expiry)
from
from_route_output
Jenis: penghitung
Jumlah total pesan yang dihapus karena alasannya
edgehub_messages_unack_total reason (storage_failure)
from
from_route_output
Jenis: penghitung
Jumlah total pesan yang tidak diakui karena kegagalan penyimpanan
edgehub_offline_count_total id Jenis: penghitung
Jumlah frekuensi edgeHub saat offline
edgehub_offline_duration_seconds id Jenis: ringkasan
Waktu ketika hub tepi sedang offline
edgehub_operation_retry_total id
operation(Nama Operasi)
Jenis: penghitung
Jumlah frekuensi operasi edgeHub saat dicoba ulang
edgehub_client_connect_failed_total id
reason(Tidak terautentikasi)
Jenis: penghitung
Jumlah frekuensi kegagalan klien tersambung ke edgeHub

Modul edgeAgent menghasilkan metrik berikut:

Nama Dimensi Deskripsi
edgeAgent_total_time_running_correctly_seconds module_name Tipe: pengukur
Jumlah waktu penentuan modul dalam penyebaran dan dalam status berjalan
edgeAgent_total_time_expected_running_seconds module_name Tipe: pengukur
Jumlah waktu penentuan modul dalam penyebaran
edgeAgent_module_start_total module_name, module_version Jenis: penghitung
Frekuensi edgeAgent meminta docker untuk memulai modul
edgeAgent_module_stop_total module_name, module_version Jenis: penghitung
Frekuensi edgeAgent meminta docker untuk menghentikan modul
edgeAgent_command_latency_seconds command Tipe: pengukur
Jumlah waktu yang dibutuhkan docker untuk menjalankan perintah yang diberikan. Perintah yang mungkin adalah: membuat, memperbarui, menghapus, memulai, menghentikan, dan memulai ulang
edgeAgent_iothub_syncs_total Jenis: penghitung
Frekuensi edgeAgent menjalankan sinkronisasi pada kembarannya dengan iotHub, baik yang berhasil maupun tidak berhasil. Jumlah ini termasuk Agen yang meminta kembaran dan pemberitahuan Hub tentang pembaruan pada kembaran
edgeAgent_unsuccessful_iothub_syncs_total Jenis: penghitung
Frekuensi edgeAgent gagal menjalankan sinkronisasi pada kembarannya dengan iotHub.
edgeAgent_deployment_time_seconds Jenis: penghitung
Jumlah waktu yang diperlukan untuk menyelesaikan penyebaran baru setelah menerima perubahan.
edgeagent_direct_method_invocations_count method_name Jenis: penghitung
Frekuensi panggilan metode langsung edgeAgent bawaan, seperti Ping atau Mulai Ulang.
edgeAgent_host_uptime_seconds Tipe: pengukur
Jumlah waktu tuan rumah telah berada di
edgeAgent_iotedged_uptime_seconds Tipe: pengukur
Jumlah waktu iotedged telah berjalan
edgeAgent_available_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Tipe: pengukur
Jumlah ruang yang tersisa pada disk
edgeAgent_total_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Tipe: pengukur
Ukuran disk
edgeAgent_used_memory_bytes module_name Tipe: pengukur
Jumlah RAM yang digunakan oleh semua proses
edgeAgent_total_memory_bytes module_name Tipe: pengukur
RAM tersedia
edgeAgent_used_cpu_percent module_name Jenis: histogram
Persentase dari cpu yang digunakan oleh semua proses
edgeAgent_created_pids_total module_name Tipe: pengukur
Jumlah proses atau utas yang telah dibuat kontainer
edgeAgent_total_network_in_bytes module_name Tipe: pengukur
Jumlah byte yang diterima dari jaringan
edgeAgent_total_network_out_bytes module_name Tipe: pengukur
Jumlah byte yang dikirim ke jaringan
edgeAgent_total_disk_read_bytes module_name Tipe: pengukur
Jumlah byte yang dibaca dari disk
edgeAgent_total_disk_write_bytes module_name Tipe: pengukur
Jumlah byte yang ditulis ke disk
edgeAgent_metadata edge_agent_version, , experimental_featureshost_information Tipe: pengukur
Metadata umum tentang perangkat. Nilai selalu 0, informasi dikodekan di dalam tag. Catatan experimental_features dan host_information adalah objek json. host_information terlihat seperti {"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"}. Catatan ServerVersion adalah versi Docker dan Version merupakan versi daemon keamanan IoT Edge.

Langkah berikutnya