Baca dalam bahasa Inggris

Bagikan melalui


Report and inventory hardware and OS information with Azure IoT and OSConfig

Penting

Versi 1.0.3 (diterbitkan 28 Juni 2022) mencakup perubahan yang melanggar pada nama anggota yang dapat memengaruhi pengguna yang ada. Untuk informasi selengkapnya, lihat: Transisi nama anggota dari PascalCase ke camelCase dalam versi 1.0.3

Audiens dan cakupan

Artikel ini dirancang untuk mendukung orang-orang yang menyediakan atau mengelola perangkat dengan Azure IoT. Jika itu tidak terdengar seperti Anda, pertimbangkan untuk melihat dokumentasi Audiens untuk OSConfig.

Artikel ini menjelaskan dan menunjukkan penggunaan modul DeviceInformation dan TPM untuk mendapatkan informasi perangkat termasuk sistem operasi, versi, kehadiran TPM, memori, dan banyak lagi.

Tip

Jika Anda berada di sini untuk referensi model objek, Anda dapat melewati contoh Kasus penggunaan ke informasi Referensi

Contoh kasus penggunaan

Contoh-contoh ini dapat berfungsi sebagai titik awal bagi Anda untuk beradaptasi dengan lingkungan unik Anda.

Prasyarat untuk mencoba contoh pada sistem langsung

Jika Anda menggunakan artikel ini untuk referensi (misalnya, Anda di sini untuk menyalin nama properti), tidak ada prasyarat.

Jika Anda ingin mencoba contoh pada sistem langsung (disarankan), maka:

  1. Anda akan memerlukan akun Azure dengan IoT Hub

    Artikel ini mengasumsikan beberapa keakraban dengan IoT Hub dan alat terkait. Misalnya, ini mengasumsikan Anda nyaman membuat IoT Hub dan melampirkan perangkat. Jika Anda lebih suka pengenalan langkah demi langkah yang lebih preskriptif untuk menginstal dan menggunakan OSConfig dari awal, lihat: Mulai cepat: Mengelola satu perangkat IoT virtual menggunakan Azure CLI sebagai gantinya.

  2. Anda akan memerlukan setidaknya satu perangkat Linux dengan agen OSConfig yang diinstal dan terhubung ke Azure IoT.

    Untuk informasi selengkapnya, lihat: Cara dan tempat menginstal agen OSConfig untuk Linux.

  3. Anda akan menggunakan Portal Microsoft Azure atau Azure CLI untuk berinteraksi dengan perangkat melalui IoT Hub

    Untuk langkah-langkah lebih lanjut, pilih pengalaman pilihan Anda:

  1. Pastikan Anda masuk ke Portal Microsoft Azure dan dapat mengakses halaman Gambaran Umum IoT Hub Cuplikan layar yang memperlihatkan IoT Hub dan perangkat dari Portal Microsoft Azure

Contoh A. Dapatkan semua properti informasi perangkat

Dalam contoh ini kita cukup mengambil semua informasi perangkat yang tersedia di dua namespace ini. Diharapkan bahwa Anda akan menggunakan informasi ini sebagai bagian dari skenario inventaris dalam solusi cloud Anda, atau dalam skenario diagnostik.

Petunjuk langkah demi langkah ikuti tangkapan layar

Menelusuri ke kembar modul OSConfig untuk melihat informasi perangkat

  1. Navigasi ke OSConfig twin untuk perangkat pilihan Anda
    1. Dari halaman IoT Hub Anda di Portal Microsoft Azure, navigasikan ke Perangkat Manajemen Perangkat > (atau Manajemen Perangkat > IoT Edge jika perangkat telah IoT Edge diinstal)
    2. Klik nama perangkat dalam daftar ID perangkat
    3. Di bawah Identitas Modul, klik ID modul osconfig
    4. Klik Module Identity Twin
  2. Gulir untuk melihat DeviceInfo bagian dan Tpm di bawah properties.reported, dan catat informasi yang tersedia termasuk cpuType, , osVersiontotalMemory, tpmVersion, dan beberapa lagi.

Contoh B. Buat laporan tabular info OS dan CPU di seluruh perangkat

Untuk contoh ini, hanya Bash / Cloud Shell, contoh dalam skala besar yang diisi. Ini memperlihatkan penggunaan fungsi IoT Hub Query bersama dengan fitur Azure CLI--output table. Diharapkan Anda akan mengintegrasikan titik data ini ke dalam alur kerja cloud Anda sendiri, menampilkan tabel sesuai kebutuhan untuk operator solusi Anda.

Tidak dapat diterapkan. Navigasi ke Prasyarat untuk mencoba contoh pada sistem langsung dalam dokumen ini dan pilih "Bash / Cloud Shell".

Contoh C. Hitung perangkat dengan dan tanpa TPM

Contoh ini akan menggunakan operator GROUP BY Azure IoT Query, yang diterapkan melalui informasi TPM yang diekspos oleh OSConfig.

Tidak berlaku, lihat Portal Microsoft Azure, dalam skala besar.

Informasi referensi

Deskripsi model objek

Bagian ini menjelaskan properti kembar dan perilaku yang sesuai.

Tip

Dalam kasus di mana titik pandang kembar yang diinginkan/dilaporkan berbeda dari titik pandang DTDL yang ditingkatkan, yang pertama diberikan terlebih dahulu diikuti oleh yang terakhir dalam tanda kurung.

Info Perangkat
  • Jalur: properties.reported.DeviceInfo (DeviceInfo komponen)

  • Deskripsi: Informasi di seluruh perangkat seperti nama OS, versi OS, jenis CPU, dll.

  • Anggota

    Nama Jenis Catatan
    osName string Nama OS, seperti Ubuntu, Debian, dll.
    osVersion string Versi OS, seperti "20.04", dll.
    cpuType string Pengidentifikasi ISA tingkat tinggi, seperti "aarch64", "x86_64", dll.
    cpuVendorId string Pengidentifikasi vendor, seperti "ARM", "GenuineIntel", dll.
    cpuModel string Pengidentifikasi prosesor, seperti "Cortex-A72", dll.
    totalMemory int RAM terinstal, seperti yang terlihat oleh OS
    freeMemory int RAM yang tersedia (pada waktu mulai layanan)¹, seperti yang terlihat oleh OS
    kernelName string Nama kernel, seperti "Linux"
    kernelVersion string Informasi build kernel tambahan, seperti "#75-Ubuntu SMP PREEMPT Fri Jun 3 14:24:57 UTC 2022"
    kernelRelease string Pengidentifikasi versi build kernel, seperti "5.4.0-1065-raspi"
    productVendor string Mengacu pada konteks vendor produk perangkat, seperti "Contoso Systems, Inc"; sering kosong
    productName string Nama produk perangkat, seperti "Raspberry Pi 4 Model B Rev 1.4"
    productVersion string Versi produk perangkat; sering kosong
    systemCapabilities string Dari lshw -c system
    systemConfiguration string Dari lshw -c system
    osConfigVersion string Nomor versi untuk agen OSConfig yang mewakili perangkat

    ¹ Properti freeMemory dirancang untuk karakterisasi sistem umum, bukan untuk pemantauan dinamis. Dengan demikian, ini hanya memperbarui nilai saat layanan dimulai, menghindari biaya CPU dan jaringan untuk terus memperbarui nilai ini. Untuk pemantauan memori gratis yang sedang berlangsung, lihat Azure Monitor.

  • Contoh payload (seperti yang terlihat di bagian kembar properties.reported )

    "DeviceInfo": {
         "__t": "c",
         "osName": "Ubuntu",
         "osVersion": "20.04.4",
         "cpuType": "aarch64",
         "cpuVendorId": "ARM",
         "cpuModel": "Cortex-A72",
         "totalMemory": 7998708,
         "freeMemory": 7168776,
         "kernelName": "Linux",
         "kernelVersion": "#75-Ubuntu SMP PREEMPT Fri Jun 3 14:24:57 UTC 2022",
         "kernelRelease": "5.4.0-1065-raspi",
         "productVendor": "",
         "productName": "Raspberry Pi 4 Model B Rev 1.4",
         "productVersion": "",
         "systemCapabilities": "smp cp15_barrier setend swp tagged_addr_disabled",
         "systemConfiguration": "",
         "osConfigVersion": "1.0.3.2022062801"
    }
    
Tpm
  • Jalur: properties.reported.Tpm (Tpm komponen)

  • Deskripsi: Kehadiran dan status TPM yang terekspos ke OS

  • Anggota

    Nama Jenis Catatan
    tpmStatus enum ints 0 (tidak diketahui), 1 (terdeteksi), 2 (tidak terdeteksi)
    tpmVersion string Versi antarmuka TPM, misalnya "2.0"
    tpmManufacturer string Pengidentifikasi, misalnya "IFX"
  • Example payload (as seen in twin's properties.reported section)

    "Tpm": {
         "__t": "c",
         "tpmStatus": 1,
         "tpmVersion": "2.0",
         "tpmManufacturer": "IFX"
    }
    

Langkah berikutnya

Untuk gambaran umum skenario dan kemampuan OSConfig, lihat:

Untuk contoh praktis tertentu, lihat: