Report and inventory hardware and OS information with Azure IoT and OSConfig
Wichtig
Version 1.0.3 (veröffentlicht am 28. Juni 2022) enthält breaking changes an Membernamen, die sich auf vorhandene Benutzer auswirken können. Weitere Informationen finden Sie unter: Membernamen übergangen von PascalCase zu camelCase in Version 1.0.3
Zielgruppe und Bereich
Dieser Artikel unterstützt Personen, die Geräte mit Azure IoT bereitstellen oder verwalten . Wenn das nicht nach Ihnen klingt, sollten Sie sich die Dokumentation audiences for OSConfig ansehen.
Dieser Artikel beschreibt und veranschaulicht die Verwendung der Module DeviceInformation und TPM zum Abrufen von Geräteinformationen, einschließlich Betriebssystem, Version, TPM-Anwesenheit, Arbeitsspeicher und mehr.
Tipp
Wenn Sie hier für die Objektmodellreferenz sind, können Sie die Beispiele für Anwendungsfälle zu den Referenzinformationen überspringen.
Beispiele für Anwendungsfälle
Diese Beispiele können als Ausgangspunkte für die Anpassung an Ihre einzigartige Umgebung dienen.
Voraussetzungen zum Ausprobieren der Beispiele auf Livesystemen
Wenn Sie diesen Artikel als Referenz verwenden (z. B. hier, um einen Eigenschaftsnamen zu kopieren), gibt es keine Voraussetzungen.
Wenn Sie die Beispiele für Livesysteme ausprobieren möchten (empfohlen), dann:
Sie benötigen ein Azure-Konto mit einem IoT Hub
In diesem Artikel wird vorausgesetzt, dass sie mit IoT Hub und verwandten Tools vertraut sind. Es wird beispielsweise davon ausgegangen, dass Sie mit der Erstellung von IoT Hubs und dem Anfügen von Geräten vertraut sind. Wenn Sie eine ausführlichere schrittweise Einführung in die Installation und Verwendung von OSConfig von Grund auf bevorzugen, finden Sie unter Schnellstart: Verwalten eines einzelnen virtuellen IoT-Geräts mithilfe der Azure CLI .
Sie benötigen mindestens ein Linux-Gerät, auf dem der OSConfig-Agent installiert und mit Azure IoT verbunden ist.
Weitere Informationen finden Sie unter Installieren des OSConfig-Agents für Linux.
Sie verwenden das Azure-Portal oder die Azure CLI, um mit den Geräten über Ihre IoT Hub
Wählen Sie für weitere Schritte Ihre bevorzugte Benutzeroberfläche aus:
- Stellen Sie sicher, dass Sie beim Azure-Portal angemeldet sind und auf die Übersichtsseite Ihres IoT Hub zugreifen können
Beispiel A. Abrufen aller Geräteinformationseigenschaften
In diesem Beispiel rufen wir einfach alle Geräteinformationen ab, die in diesen beiden Namespaces verfügbar sind. Es wird erwartet, dass Sie diese Informationen als Teil eines Inventurszenarios in Ihrer Cloudlösung oder in einem Diagnoseszenario verwenden.
Schritt-für-Schritt-Anweisungen zur Bildschirmaufnahme
- Navigieren Sie zum OSConfig-Zwilling für das Gerät Ihrer Wahl.
- Navigieren Sie auf der Seite Ihres IoT Hub im Azure-Portal zu Geräteverwaltung > Geräte (oder Geräteverwaltung IoT Edge>, wenn auf dem Gerät IoT Edge installiert ist).
- Klicken Sie in der Liste der Geräte-IDs auf den Gerätenamen.
- Klicken Sie unter Modulidentitäten auf die osconfig-Modul-ID .
- Klicken Sie auf Modulidentitätszwillwillen.
- Scrollen Sie, um die
DeviceInfo
Abschnitte undTpm
unterproperties.reported
anzuzeigen, und notieren Sie sich die verfügbaren Informationen wiecpuType
,osVersion
totalMemory
,tpmVersion
, und mehrere weitere.
Beispiel B: Generieren eines tabellarischen Berichts mit Betriebssystem- und CPU-Informationen zwischen Geräten
In diesem Beispiel wird nur das Beispiel Bash/Cloud Shell im großen Stil aufgefüllt. Dies zeigt die Verwendung IoT Hub Abfragefunktionen zusammen mit dem Feature der --output table
Azure CLI. Es wird erwartet, dass Sie diese Datenpunkte in Ihre eigenen Cloudworkflows integrieren und Ihren Lösungsoperatoren nach Bedarf Tabellen anzeigen.
Nicht zutreffend Navigieren Sie zu Voraussetzungen, um die Beispiele für Livesysteme in diesem Dokument auszuprobieren, und wählen Sie "Bash/Cloud Shell" aus.
Beispiel C: Zählen von Geräten mit und ohne TPMs
In diesem Beispiel wird der GROUP BY-Operator von Azure IoT Query verwendet, der auf TPM-Informationen angewendet wird, die von OSConfig verfügbar gemacht werden.
Nicht zutreffend. Weitere Informationen finden Sie im Azure-Portal im großen Stil.
Referenzinformationen
Objektmodellbeschreibung
In diesem Abschnitt werden die Zwillingseigenschaften und das entsprechende Verhalten beschrieben.
Tipp
In Fällen, in denen sich der einfache gewünschte/gemeldete Zwillingspunkt vom erweiterten DTDL-Standpunkt unterscheidet, wird ersterer zuerst angegeben, gefolgt von letzterem in Klammern.
DeviceInfo
Pfad:
properties.reported.DeviceInfo
(DeviceInfo
-Komponente)Beschreibung: Geräteweite Informationen wie Betriebssystemname, Betriebssystemversion, CPU-Typ usw.
Mitglieder
Name type Notizen osName Zeichenfolge Betriebssystemname, z. B. Ubuntu, Debian usw. osVersion Zeichenfolge Betriebssystemversion wie "20.04" usw. cpuType Zeichenfolge Allgemeiner ISA-Bezeichner, z. B. "aarch64", "x86_64" usw. cpuVendorId Zeichenfolge Anbieterbezeichner, z. B. "ARM", "GenuineIntel" usw. cpuModel Zeichenfolge Prozessorbezeichner, z. B. "Cortex-A72". totalMemory INT Installierter RAM, wie vom Betriebssystem gesehen freeMemory INT Verfügbarer RAM (zum Startzeitpunkt des Diensts)¹, wie vom Betriebssystem gesehen kernelName Zeichenfolge Kernelname, z. B. "Linux" kernelVersion Zeichenfolge Zusätzliche Kernelbuildinformationen wie "#75-Ubuntu SMP PREEMPT Fr Jun 3 14:24:57 UTC 2022" kernelRelease Zeichenfolge Kernelbuildversionsbezeichner, z. B. "5.4.0-1065-raspi" Productvendor Zeichenfolge Bezieht sich auf den Produktherstellerkontext des Geräts, z. B. "Contoso Systems, Inc"; häufig leer ProductName Zeichenfolge Geräteproduktname, z. B. "Raspberry Pi 4 Model B Rev 1.4" productVersion Zeichenfolge Geräteproduktversion; häufig leer systemCapabilities Zeichenfolge Gehen Sie unter „ lshw -c system
“ wie folgt vor:systemConfiguration Zeichenfolge Gehen Sie unter „ lshw -c system
“ wie folgt vor:osConfigVersion Zeichenfolge Versionsnummer für den OSConfig-Agent, der das Gerät darstellt ¹ Die
freeMemory
Eigenschaft wurde für die allgemeine Systemcharakterisierung entwickelt, nicht für die dynamische Überwachung. Daher wird der Wert nur beim Start des Diensts aktualisiert, wodurch die CPU- und Netzwerkkosten für die kontinuierliche Aktualisierung dieses Werts vermieden werden. Informationen zur laufenden Überwachung des freien Arbeitsspeichers finden Sie unter Azure Monitor.Beispielnutzlast (siehe Abschnitt des Zwillings
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
Pfad:
properties.reported.Tpm
(Tpm
-Komponente)Beschreibung: Vorhandensein und Status des TPM, das für das Betriebssystem verfügbar gemacht wird
Mitglieder
Name type Notizen tpmStatus Enumeration von Ints 0 (unbekannt), 1 (erkannt), 2 (nicht erkannt) tpmVersion Zeichenfolge TPM-Schnittstellenversion, z. B. "2.0" tpmManufacturer Zeichenfolge Bezeichner, z. B. "IFX" Example payload (as seen in twin's
properties.reported
section)"Tpm": { "__t": "c", "tpmStatus": 1, "tpmVersion": "2.0", "tpmManufacturer": "IFX" }
Nächste Schritte
Eine Übersicht über OSConfig-Szenarien und -Funktionen finden Sie unter:
Spezifische Beispiele aus der Praxis finden Sie unter: