Report and inventory hardware and OS information with Azure IoT and OSConfig
Belangrijk
Versie 1.0.3 (gepubliceerd op 28 juni 2022) bevat wijzigingen die fouten veroorzaken in ledennamen die van invloed kunnen zijn op bestaande gebruikers. Zie voor meer informatie: Ledennamen overstappen van PascalCase naar camelCase in versie 1.0.3
Doelgroep en bereik
Dit artikel is bedoeld ter ondersteuning van personen die apparaten inrichten of beheren met Azure IoT. Als dat niet zo klinkt, kunt u overwegen om de documentatie voor Doelgroepen voor OSConfig te bekijken.
Dit artikel beschrijft en demonstreert het gebruik van de modules DeviceInformation en TPM om apparaatgegevens op te halen, waaronder besturingssysteem, versie, TPM-aanwezigheid, geheugen en meer.
Tip
Als u hier bent voor de referentie voor het objectmodel, kunt u de Use Cases-voorbeelden overslaan naar de Referentie-informatie
Voorbeelden van gebruiksvoorbeelden
Deze voorbeelden kunnen als uitgangspunt dienen om u aan te passen aan uw unieke omgeving.
Vereisten voor het uitproberen van de voorbeelden op live systemen
Als u dit artikel ter referentie gebruikt (u bent bijvoorbeeld hier om de naam van een eigenschap te kopiëren), zijn er geen vereisten.
Als u de voorbeelden op live systemen wilt uitproberen (aanbevolen), gaat u als volgt te werk:
U hebt een Azure-account met een IoT Hub
In dit artikel wordt ervan uitgegaan dat u bekend bent met IoT Hub en verwante hulpprogramma's. Er wordt bijvoorbeeld van uitgegaan dat u vertrouwd bent met het maken van IoT Hubs en het koppelen van apparaten. Als u liever een meer beschrijvende stapsgewijze inleiding tot het volledig installeren en gebruiken van OSConfig, raadpleegt u: Quickstart: In plaats daarvan één virtueel IoT-apparaat beheren met behulp van Azure CLI .
U hebt ten minste één Linux-apparaat nodig waarop de OSConfig-agent is geïnstalleerd en is verbonden met Azure IoT.
Zie De OSConfig-agent voor Linux installeren voor meer informatie.
U gebruikt Azure Portal of Azure CLI om met de apparaten te communiceren via uw IoT Hub
Kies voor verdere stappen de gewenste ervaring:
- Zorg ervoor dat u bent aangemeld bij Azure Portal en dat u toegang hebt tot de overzichtspagina van uw IoT Hub
Voorbeeld A. Alle eigenschappen van apparaatgegevens ophalen
In dit voorbeeld halen we gewoon alle apparaatgegevens op die beschikbaar zijn in deze twee naamruimten. Het wordt verwacht dat u deze informatie gebruikt als onderdeel van een inventarisscenario in uw cloudoplossing of in een diagnostisch scenario.
Stapsgewijze instructies voor het volgen van de schermopname
- Navigeer naar de OSConfig-dubbel voor het apparaat van uw keuze
- Ga op de pagina van uw IoT Hub in Azure Portal naar Apparaatbeheer > Apparaten (of Apparaatbeheer > IoT Edge als het apparaat IoT Edge is geïnstalleerd)
- Klik op de apparaatnaam in de lijst met apparaat-id's
- Klik onder Module-identiteiten op de osconfig-module-id
- Klik op Module Identity Twin
- Schuif naar de
DeviceInfo
secties enTpm
onderproperties.reported
en bekijk de beschikbare informatie, waarondercpuType
,osVersion
,totalMemory
tpmVersion
, en meer.
Voorbeeld B. Een rapport in tabelvorm genereren met besturingssysteem- en CPU-gegevens op verschillende apparaten
Voor dit voorbeeld wordt alleen het voorbeeld Bash/Cloud Shell, op schaal ingevuld. Dit toont het gebruik van IoT Hub Query-functies samen met de functie van --output table
Azure CLI. Het wordt verwacht dat u deze gegevenspunten integreert in uw eigen cloudwerkstromen, waarbij tabellen naar behoefte worden weergegeven voor uw oplossingsoperators.
Niet van toepassing. Navigeer naar Vereisten om de voorbeelden op live systemen in dit document uit te proberen en kies 'Bash/Cloud Shell'.
Voorbeeld C. Apparaten met en zonder TTPM's tellen
In dit voorbeeld wordt gebruikgemaakt van de GROUP BY-operator van Azure IoT Query, toegepast op TPM-informatie die door OSConfig wordt weergegeven.
Niet van toepassing, zie Azure Portal, op schaal.
Referentiegegevens
Beschrijving van objectmodel
In deze sectie worden de eigenschappen van de tweeling en het bijbehorende gedrag beschreven.
Tip
In gevallen waarin het gewenste/gerapporteerde dubbelpunt verschilt van het verbeterde punt van DTDL, wordt het eerste punt eerst weergegeven, gevolgd door het laatste tussen haakjes.
DeviceInfo
Pad:
properties.reported.DeviceInfo
(DeviceInfo
onderdeel)Beschrijving: informatie voor het hele apparaat, zoals de naam van het besturingssysteem, de versie van het besturingssysteem, het CPU-type, enzovoort.
Leden
Naam Type Opmerkingen osName tekenreeks Naam van het besturingssysteem, zoals Ubuntu, Debian, enzovoort. osVersion tekenreeks Versie van het besturingssysteem, zoals '20.04', enzovoort. cpuType tekenreeks ISA-id op hoog niveau, zoals 'aarch64', 'x86_64', enzovoort. cpuVendorId tekenreeks Leverancier-id, zoals 'ARM', 'GenuineIntel', enzovoort. cpuModel tekenreeks Processor-id, zoals Cortex-A72, enzovoort. totalMemory int Geïnstalleerd RAM-geheugen, zoals gezien door het besturingssysteem freeMemory int Beschikbaar RAM-geheugen (op het begintijd van de service)¹, zoals gezien door het besturingssysteem kernelName tekenreeks Kernelnaam, zoals 'Linux' kernelVersion tekenreeks Aanvullende informatie over kernelbuild, zoals "#75-Ubuntu SMP PREEMPT fri 3 juni 14:24:57 UTC 2022" kernelRelease tekenreeks Kernel build versie-id, zoals "5.4.0-1065-raspi" productVendor tekenreeks Verwijst naar de context van de productleverancier van het apparaat, zoals 'Contoso Systems, Inc'; vaak leeg Productnaam tekenreeks Productnaam van het apparaat, zoals 'Raspberry Pi 4 Model B Rev 1.4' productVersion tekenreeks Productversie van apparaat; vaak leeg systemCapabilities tekenreeks Vanaf lshw -c system
systemConfiguration tekenreeks Vanaf lshw -c system
osConfigVersion tekenreeks Versienummer voor de OSConfig-agent die het apparaat vertegenwoordigt ¹ De
freeMemory
eigenschap is ontworpen voor algemene systeemaanduiding, niet voor dynamische bewaking. Als zodanig wordt alleen de waarde bijgewerkt bij het starten van de service, waardoor de CPU- en netwerkkosten van het voortdurend bijwerken van deze waarde worden vermeden. Zie Azure Monitor voor doorlopende bewaking van het vrije geheugen.Voorbeeld van nettolading (zoals te zien in de sectie van de
properties.reported
tweeling)"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
Pad:
properties.reported.Tpm
(Tpm
onderdeel)Beschrijving: aanwezigheid en status van TPM die beschikbaar zijn voor het besturingssysteem
Leden
Naam Type Opmerkingen tpmStatus enum van ints 0 (onbekend), 1 (gedetecteerd), 2 (niet gedetecteerd) tpmVersion tekenreeks TPM-interfaceversie, bijvoorbeeld '2.0' tpmManufacturer tekenreeks Id, bijvoorbeeld 'IFX' Example payload (as seen in twin's
properties.reported
section)"Tpm": { "__t": "c", "tpmStatus": 1, "tpmVersion": "2.0", "tpmManufacturer": "IFX" }
Volgende stappen
Zie voor een overzicht van OSConfig-scenario's en -mogelijkheden:
Zie voor specifieke praktijkvoorbeelden: