Freigeben über


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:

  1. 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 .

  2. 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.

  3. 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:

  1. Stellen Sie sicher, dass Sie beim Azure-Portal angemeldet sind und auf die Übersichtsseite Ihres IoT Hub zugreifen können Screenshot: IoT Hub und Geräte über das Azure-Portal

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 zum OSConfig-Modulzwilligen, um Geräteinformationen anzuzeigen

  1. Navigieren Sie zum OSConfig-Zwilling für das Gerät Ihrer Wahl.
    1. 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).
    2. Klicken Sie in der Liste der Geräte-IDs auf den Gerätenamen.
    3. Klicken Sie unter Modulidentitäten auf die osconfig-Modul-ID .
    4. Klicken Sie auf Modulidentitätszwillwillen.
  2. Scrollen Sie, um die DeviceInfo Abschnitte und Tpm unter properties.reportedanzuzeigen, und notieren Sie sich die verfügbaren Informationen wie cpuType, osVersiontotalMemory, 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: