Freigeben über


Tutorial: Einrichten und Verwenden von Metriken und Protokollen mit einem IoT-Hub

Mithilfe von Azure Monitor können Sie Metriken und Protokolle über Ihren IoT-Hub erfassen, um den Betrieb Ihrer Lösung zu überwachen und auftretende Probleme zu beheben. In diesem Tutorial erfahren Sie, wie Diagramme basierend auf Metriken erstellt werden, wie Warnungen erstellt werden, die für Metriken ausgelöst werden, wie Sie IoT-Hub-Vorgänge und Fehler an Azure Monitor-Protokolle senden und wie Sie die Protokolle auf Fehler überprüfen.

In diesem Tutorial wird das Azure-Beispiel aus Schnellstart: Senden von .NET-Telemetriedaten verwendet, um Nachrichten an den IoT-Hub zu senden. Sie können immer ein Gerät oder ein anderes Beispiel zum Senden von Nachrichten verwenden, aber Sie müssen möglicherweise einige Schritte entsprechend ändern.

Eine gewisse Vertrautheit mit den Konzepten von Azure Monitor kann hilfreich sein, bevor Sie mit diesem Tutorial beginnen. Weitere Informationen finden Sie unter Überwachen von IoT Hub. Weitere Informationen zu den vom IoT-Hub ausgegebenen Metriken und Ressourcenprotokollen finden Sie unter Referenz: Überwachen von Daten.

In diesem Tutorial führen Sie die folgenden Aufgaben aus:

  • Verwenden der Azure CLI, um einen IoT-Hub zu erstellen, ein simuliertes Gerät zu registrieren und einen Log Analytics-Arbeitsbereich zu erstellen.
  • Senden von IoT-Hub-Verbindungen und Gerätetelemetrie-Ressourcenprotokollen an Azure Monitor-Protokolle im Log Analytics-Arbeitsbereich.
  • Verwenden des Metrik-Explorers, um ein Diagramm auf Grundlage ausgewählter Metriken zu erstellen und an das Dashboard anzuheften.
  • Erstellen von Metrikwarnungen, damit Sie über E-Mail benachrichtigt werden können, wenn wichtige Bedingungen auftreten.
  • Herunterladen und Ausführen einer App, die ein IoT-Gerät simuliert, das Nachrichten an den IoT-Hub sendet.
  • Anzeigen der Warnungen, wenn Ihre Bedingungen auftreten.
  • Anzeigen des Metrikdiagramms in Ihrem Dashboard.
  • Anzeigen von IoT-Hub-Fehlern und -Vorgängen in Azure Monitor Protokollen.

Voraussetzungen

  • Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

  • .NET Core SDK 2.1 oder höher auf dem Entwicklungscomputer. Sie können das .NET Core SDK für mehrere Plattformen von .NET herunterladen.

    Mit dem folgenden Befehl können Sie die aktuelle C#-Version auf Ihrem Entwicklungscomputer überprüfen:

    dotnet --version
    
  • Ein E-Mail-Konto für den Empfang von E-Mails.

  • Stellen Sie sicher, dass der Port 8883 in Ihrer Firewall geöffnet ist. Für das Beispielgerät in diesem Tutorial wird das MQTT-Protokoll verwendet, das über Port 8883 kommuniziert. In einigen Netzwerkumgebungen von Unternehmen oder Bildungseinrichtungen ist dieser Port unter Umständen blockiert. Weitere Informationen und Problemumgehungen finden Sie unter Herstellen einer Verbindung mit IoT Hub (MQTT).

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Einrichten von Ressourcen

Für dieses Tutorial benötigen Sie einen IoT-Hub, einen Log Analytics-Arbeitsbereich und ein simuliertes IoT-Gerät. Diese Ressourcen können mithilfe des Azure-Portals, der Azure-Befehlszeilenschnittstelle oder über Azure PowerShell erstellt werden. Verwenden Sie für alle Ressourcen die gleiche Ressourcengruppe und den gleichen Speicherort. Nachdem Sie dieses Tutorial durchgearbeitet haben, können Sie sämtliche Elemente in einem Schritt entfernen, indem Sie die Ressourcengruppe löschen.

Für dieses Tutorial ist ein CLI-Skript verfügbar, mit dem die folgenden Schritte ausgeführt werden:

  1. Erstellen Sie eine Ressourcengruppe.

  2. Erstellen Sie einen IoT Hub.

  3. Erstellen Sie einen Log Analytics-Arbeitsbereich.

  4. Registrieren Sie eine Geräteidentität für das simulierte Gerät, das Nachrichten an Ihren IoT-Hub sendet. Speichern Sie die Geräteverbindungszeichenfolge, die zum Konfigurieren des simulierten Geräts verwendet wird.

Wichtig

Dieser Artikel enthält Schritte zum Verbinden eines Geräts mithilfe einer Shared Access Signature, was auch als symmetrische Schlüsselauthentifizierung bezeichnet wird. Diese Authentifizierungsmethode eignet sich für Tests und Auswertungen, aber die Authentifizierung eines Geräts mit X.509-Zertifikaten ist ein sichererer Ansatz. Weitere Informationen finden Sie unter Bewährte Methoden für die Sicherheit von IoT-Lösungen > Verbindungssicherheit.

Einrichten der Ressourcen mithilfe der Azure-Befehlszeilenschnittstelle

Kopieren Sie die folgenden Befehle, und fügen Sie sie in Cloud Shell oder in eine lokale Befehlszeileninstanz ein, auf der die Azure CLI installiert ist. Die Ausführung einiger Befehle kann einige Zeit in Anspruch nehmen. Die neuen Ressourcen werden in der Ressourcengruppe ContosoResources erstellt.

Der Name für einige Ressourcen muss innerhalb von Azure eindeutig sein. Das Skript generiert einen Zufallswert mit der $RANDOM-Funktion und speichert ihn in einer Variablen. Für diese Ressourcen fügt das Skript diesen Zufallswert an einen Basisnamen für die Ressource an, sodass der Ressourcenname eindeutig ist.

Legen Sie die Werte für die Ressourcennamen fest, die nicht global eindeutig sein müssen.

location=westus
resourceGroup=ContosoResources
iotDeviceName=Contoso-Test-Device

Legen Sie die Werte für die Ressourcennamen fest, die eindeutig sein müssen. Bei diesen Namen wird an das Ende eine Zufallszahl angefügt.

randomValue=$RANDOM
iotHubName=ContosoTestHub$randomValue
echo "IoT hub name = " $iotHubName
workspaceName=contoso-la-workspace$randomValue
echo "Log Analytics workspace name = " $workspaceName

Erstellen Sie die Ressourcengruppe für alle in diesem Tutorial verwendeten Ressourcen.

az group create --name $resourceGroup --location $location

Erstellen Sie den IoT-Hub im Rahmen des Free-Tarifs. Jedes Abonnement kann nur über einen kostenlosen IoT Hub verfügen. Wenn Sie bereits über einen kostenlosen Hub verfügen, ändern Sie den --sku-Wert in B1 (Basic) oder S1 (Standard).

az iot hub create --name $iotHubName --resource-group $resourceGroup --partition-count 2 --sku F1 --location $location

Erstellen Sie den Log Analytics-Arbeitsbereich.

az monitor log-analytics workspace create --resource-group $resourceGroup --workspace-name $workspaceName --location $location

Erstellen Sie die IoT-Geräteidentität, die zum Testen verwendet werden soll.

az iot hub device-identity create --device-id $iotDeviceName --hub-name $iotHubName

Rufen Sie die primäre Verbindungszeichenfolge für die Geräteidentität ab, und kopieren Sie sie dann lokal. Sie benötigen diese Verbindungszeichenfolge, um die Gerätesimulation während der Testphase auszuführen.

az iot hub device-identity connection-string show --device-id $iotDeviceName --hub-name $iotHubName

Erfassen von Protokollen für Verbindungen und Gerätetelemetrie

IoT Hub gibt Ressourcenprotokolle für mehrere Vorgangskategorien aus. Damit Sie diese Protokolle anzeigen können, müssen Sie eine Diagnoseeinstellung erstellen, um sie an ein Ziel zu senden. Eines dieser Ziele sind Azure Monitor-Protokolle, die in einem Log Analytics-Arbeitsbereich erfasst werden. IoT Hub -Ressourcenprotokolle sind in verschiedene Kategorien unterteilt. Sie können in der Diagnoseeinstellung auswählen, welche Kategorien an Azure Monitor-Protokolle gesendet werden sollen. In diesem Artikel erfassen wir Protokolle für Vorgänge und Fehler, die bei Verbindungen und Gerätetelemetrie auftreten. Eine vollständige Liste der Kategorien, die für IoT Hub unterstützt werden, finden Sie unter IoT Hub-Ressourcenprotokolle.

Führen Sie die folgenden Schritte aus, um eine Diagnoseeinstellung zu erstellen, um IoT Hub-Ressourcenprotokolle an Azure Monitor-Protokolle zu senden:

  1. Navigieren Sie im Azure-Portal zu Ihrem IoT Hub. Wenn Sie die CLI-Befehle zum Erstellen Ihrer Ressourcen verwendet haben, befindet sich Ihr IoT-Hub in der Ressourcengruppe ContosoResources.

  2. Wählen Sie im Abschnitt Überwachung des Navigationsmenüs Diagnoseeinstellungen aus. Wählen Sie dann Diagnoseeinstellung hinzufügen aus.

    Screenshot, auf dem „Diagnoseeinstellungen“ im Abschnitt „Überwachung“ hervorgehoben ist

  3. Geben Sie auf der Seite Diagnoseeinstellungen die folgenden Details an:

    Parameter Wert
    Name der Diagnoseeinstellung Legen Sie für Ihre Einstellung einen griffigen Namen fest, z. B. „Verbindungen und Telemetriedaten an Protokolle senden“.
    Protokolle Wählen Sie in der Liste Kategorien die Einträge Verbindungen und Gerätetelemetrie aus.
    Zieldetails Wählen Sie An Log Analytics senden aus, und wählen Sie dann mithilfe der Log Analytics-Arbeitsbereichsauswahl den Arbeitsbereich aus, den Sie zuvor notiert haben.

    Screenshot: Fertig eingerichtete Diagnoseprotokolleinstellungen

  4. Klicken Sie auf Speichern, um die Einstellungen zu speichern. Schließen Sie den Bereich Diagnoseeinstellungen. Sie können die neue Einstellung in der Liste der Diagnoseeinstellungen sehen.

Einrichten von Metriken

Wir verwenden nun den Metrik-Explorer, um ein Diagramm zu erstellen, das Metriken anzeigt, die Sie nachverfolgen möchten. Sie heften dieses Diagramm an Ihr Standarddashboard im Azure-Portal an.

  1. Wählen Sie im IoT Hub-Menü im Abschnitt Überwachung die Option Metriken aus.

  2. Wählen Sie am oberen Bildschirmrand Letzte 24 Stunden (automatisch) aus. Wählen Sie im daraufhin angezeigten Dropdownfeld unter Zeitbereich die Option Letzte 4 Stunden aus, und legen Sie die Zeitgranularität auf 1 Minute fest. Wählen Sie dann für Zeit anzeigen als die Option Ortszeit aus. Wählen Sie Übernehmenaus, um diese Einstellungen zu speichern. Die Einstellung sollte nun Ortszeit: Letzte 4 Stunden (1 Minute) lauten.

    Screenshot: Zeiteinstellungen für Metriken

  3. Im Diagramm wird eine partielle Metrikeinstellung angezeigt, die für Ihren IoT-Hub gilt. Belassen Sie die Werte für Bereich und Metriknamespace bei ihren Standardwerten. Wählen Sie die Einstellung Metrik aus, und geben Sie „Telemetrie“ ein. Wählen Sie dann aus der Dropdownliste Gesendete Telemetrienachrichten aus. Aggregation wird automatisch auf Summe festgelegt. Beachten Sie, dass sich auch der Titel des Diagramms ändert.

    Screenshot, der zeigt, wie dem Diagramm die Metrik „Gesendete Telemetrienachrichten“ hinzugefügt wird.

  4. Wählen Sie nun Metrik hinzufügen aus, um dem Diagramm eine weitere Metrik hinzuzufügen. Wählen Sie unter Metrik die Option Total number of messages used (Gesamtanzahl verwendeter Nachrichten) aus. Wählen Sie unter Aggregation die Option Durchschn. aus. Beachten Sie, dass sich der Titel des Diagramms erneut geändert hat und nun diese Metrik enthält.

    Auf dem Bildschirm werden nun die minimierte Metrik für Telemetry messages sent (Gesendete Telemetrienachrichten) und die neue Metrik für Total number of messages used (Gesamtanzahl verwendeter Nachrichten) angezeigt.

    Screenshot, der zeigt, wie dem Diagramm die Metrik „Gesamtzahl verwendeter Nachrichten“ hinzugefügt wird.

  5. Wählen Sie im oberen rechten Bereich des Diagramms die Option In Dashboard speichern aus, und wählen Sie in der Dropdownliste den Eintrag An Dashboard anheften aus.

    Screenshot, auf dem die Schaltfläche „In Dashboard speichern“ hervorgehoben ist

  6. Wählen Sie im Bereich An Dashboard anheften die Registerkarte Vorhandene aus. Wählen Sie Privat aus, und wählen Sie dann aus der Dropdownliste die Option Dashboard aus. Wählen Sie dann Anheften aus, um das Diagramm an Ihr Standarddashboard im Azure-Portal anzuheften. Wenn Sie das Diagramm nicht an ein Dashboard anheften, werden Ihre Einstellungen nicht beibehalten, wenn Sie den Metrik-Explorer beenden.

    Screenshot, der Einstellungen für das Anheften an das Dashboard zeigt.

Einrichten von Metrikwarnungen

Jetzt richten wir Warnungen ein, die für zwei Metriken (Gesendete Telemetrienachrichten und Gesamtzahl verwendeter Nachrichten) ausgelöst werden.

Gesendete Telemetrienachrichten ist eine gute Metrik zum Nachverfolgen des Nachrichtendurchsatzes und zum Vermeiden einer Drosselung. Für eine IoT Hub-Instanz im Free-Tarif beträgt der Drosselungsgrenzwert 100 Nachrichten/Sek. Mit einem einzelnen Gerät können wir diese Art von Durchsatz nicht erreichen. Daher richten wir die Warnung so ein, dass sie ausgelöst wird, wenn die Anzahl der Nachrichten in einem Zeitraum von fünf Minuten 1.000 überschreitet. In der Produktion können Sie das Signal basierend auf dem Tarif, der Edition und der Anzahl von Einheiten Ihres IoT-Hubs auf einen signifikanteren Wert festlegen.

Gesamtzahl verwendeter Nachrichten verfolgt die tägliche Anzahl der verwendeten Nachrichten nach. Diese Metrik wird jeden Tag um 00:00 Uhr UTC zurückgesetzt. Wenn Sie das Tageskontingent über einem bestimmten Schwellenwert hinaus überschreiten, akzeptiert Ihr IoT-Hub keine weiteren Nachrichten. Bei einer IoT Hub-Instanz im Free-Tarif beträgt das tägliche Nachrichtenkontingent 8.000. Wir richten die Warnung so ein, dass sie ausgelöst wird, wenn die Gesamtzahl der Nachrichten 4.000 (50 % des Kontingents) überschreitet. In der Praxis würden Sie diesen Prozentsatz wahrscheinlich auf einen höheren Wert festlegen. Der Wert für das tägliche Kontingent hängt vom Tarif, der Edition und der Anzahl von Einheiten Ihres IoT-Hubs ab.

Weitere Informationen zu Kontingenten und Drosselungsgrenzwerten für IoT Hub finden Sie unter Kontingente und Drosselung.

Einrichten von Metrikwarnungen:

  1. Wählen Sie im IoT Hub-Menü im Abschnitt Überwachung die Option Warnungen aus.

  2. Wählen Sie Warnungsregel erstellen aus.

    Der Bereich Warnungsregel erstellen weist vier Abschnitte auf:

    • Bereich ist bereits auf Ihren IoT-Hub festgelegt, sodass wir diesen Abschnitt unverändert beibehalten.
    • Bedingung legt das Signal und die Bedingungen fest, mit denen die Warnung ausgelöst wird.
    • Aktionen konfiguriert, was geschieht, wenn die Warnung ausgelöst wird.
    • Details: Damit können Sie einen Namen und eine Beschreibung für die Warnung festlegen.
  3. Konfigurieren Sie zunächst die Bedingung, bei der die Warnung ausgelöst wird.

    1. Die Registerkarte Bedingung wird geöffnet. Darauf ist der Bereich Signal auswählen geöffnet. Geben Sie im Feld für die Suche nach dem Signalnamen „Telemetrie“ ein, und wählen Sie Gesendete Telemetrienachrichten aus.

      Screenshot, der das Auswählen der Metrik zeigt.

    2. Legen Sie im Bereich Signallogik konfigurieren die folgenden Felder unter Warnungslogik fest, oder bestätigen Sie sie (Sie können das Diagramm ignorieren):

      Parameter Wert
      Schwellenwert Statisch
      Operator Größer als
      Aggregationstyp Gesamt
      Schwellenwert 1000
      Einheit Count
      Aggregationsgranularität (Zeitraum) 5 Minuten
      Häufigkeit der Auswertung Jede Minute

      Screenshot der Einstellungen für Warnungsbedingungen.

      Mit diesen Einstellungen wird das Signal so festgelegt, dass die Gesamtzahl der Nachrichten in einem Zeitraum von 5 Minuten angezeigt wird. Diese Summe wird jede Minute ausgewertet, und wenn die Summe der vorangegangenen 5 Minuten den Wert von 1.000 Nachrichten überschreitet, wird die Warnung ausgelöst.

      Wählen Sie Fertig aus, um die Signallogik zu speichern.

  4. Wählen Sie Weiter: Aktionen aus, um die Aktion für die nächste Warnung zu konfigurieren.

    1. Wählen Sie Aktionsgruppe erstellen aus.

    2. Legen Sie auf der Registerkarte Grundlagen im Bereich Aktionsgruppe erstellen einen Namen und einen Anzeigenamen für Ihre Aktionsgruppe fest.

      Screenshot der Registerkarte „Grundlagen“ des Bereichs „Aktionsgruppe erstellen“.

    3. Wählen Sie die Registerkarte Benachrichtigungen aus. Wählen Sie als Benachrichtigungstyp in der Dropdownliste E-Mail/SMS/Push/Sprachanruf aus. Der Bereich E-Mail/SMS/Push/Sprachanruf wird geöffnet.

    4. Wählen Sie im Bereich E-Mail/SMS/Push/Sprachanruf die Option „E-Mail“ aus, geben Sie Ihre E-Mail-Adresse ein, und wählen Sie dann OK aus.

      Screenshot der Einstellung „E-Mail-Adresse“.

    5. Geben Sie im Bereich Benachrichtigungen einen Namen für die Benachrichtigung ein.

      Screenshot des abgeschlossenen Benachrichtigungsbereichs.

    6. (Optional) In der Aktionsgruppe Aktionen werden in der Dropdownliste Aktionstyp die Arten von Aktionen angezeigt, die mit einer Warnung ausgelöst werden können. Für diesen Artikel verwenden wir nur Benachrichtigungen, sodass Sie die Einstellungen auf dieser Registerkarte ignorieren können.

      Screenshot, der Aktionstypen zeigt, die im Bereich „Aktionen“ verfügbar sind.

    7. Wählen Sie die Registerkarte Überprüfen und erstellen aus, überprüfen Sie die Einstellungen, und wählen Sie dann Erstellen aus.

    8. Beachten Sie auf der Registerkarte Aktionen der Warnungsregel, dass die neue Aktionsgruppe den Aktionen für die Warnung hinzugefügt wurde.

  5. Wählen Sie Weiter: Details aus, um die Details der Warnungsregel zu konfigurieren und die Warnungsregel zu speichern.

    1. Geben Sie auf der Registerkarte Details einen Namen und eine Beschreibung für die Warnung an, z. B. „Warnung bei mehr als 1.000 Nachrichten innerhalb von 5 Minuten“.
  6. Wählen Sie Überprüfen und erstellen aus, um sich einen Überblick über die Details der Warnungsregel zu verschaffen. Wenn alles korrekt aussieht, wählen Sie Erstellen aus, um die neue Regel zu speichern.

  7. Richten Sie nun eine weitere Warnung für Total number of messages used (Gesamtanzahl verwendeter Nachrichten) ein. Diese Metrik ist hilfreich, um eine Warnung zu senden, wenn sich die Anzahl verwendeter Nachrichten dem Tageskontingent für den IoT-Hub nähert. Wenn dieses überschritten wird, weist der IoT-Hub Nachrichten zurück. Befolgen Sie die Schritte, die Sie zuvor ausgeführt haben, mit den folgenden Unterschieden.

    • Wählen Sie für das Signal im Bereich Signallogik konfigurieren die Option Gesamtzahl verwendeter Nachrichten aus.

    • Legen Sie im Bereich Signallogik konfigurieren die folgenden Felder fest, oder bestätigen Sie sie (Sie können das Diagramm ignorieren):

      Parameter Wert
      Schwellenwert Statisch
      Operator Größer als
      Aggregationstyp Gesamt
      Schwellenwert 4000
      Einheit Count
      Aggregationsgranularität (Zeitraum) 1 Minute
      Häufigkeit der Auswertung Jede Minute

      Diese Einstellungen legen das Signal fest,das ausgelöst wird, wenn die Anzahl der Nachrichten 4.000 erreicht. Die Metrik wird jede Minute ausgewertet.

    • Wenn Sie die Aktion für Ihre Warnungsregel angeben, wählen Sie die Aktionsgruppe aus, die Sie für die vorherige Regel erstellt haben.

    • Wählen Sie für die Warnungsdetails einen anderen Namen und eine andere Beschreibung als zuvor aus.

  8. Wählen Sie im linken Bereich Ihres IoT-Hubs unter Überwachung die Option Warnungen aus. Wählen Sie jetzt Warnungsregeln im Menü oben im Bereich Warnungen aus. Daraufhin wird der Bereich Warnungsregeln geöffnet. Sie sollten Ihre zwei Warnungen sehen:

    Screenshot des Bereichs „Regeln“ mit den neuen Warnungsregeln.

  9. Schließen Sie den Bereich Warnungsregeln.

Mit diesen Einstellungen wird eine Warnung ausgelöst, und Sie erhalten eine E-Mail-Benachrichtigung, wenn mehr als 1.000 Nachrichten innerhalb eines Zeitraums von 5 Minuten gesendet werden, bzw. wenn die Gesamtzahl der verwendeten Nachrichten 4.000 (50 % des täglichen Kontingents für einen IoT-Hub im Free-Tarif) überschreitet.

Ausführen der simulierten Geräte-App

Im Abschnitt Ressourcen einrichten haben Sie eine Geräteidentität registriert, die zum Simulieren mithilfe eines IoT-Geräts verwendet werden soll. In diesem Abschnitt laden Sie eine .NET-Konsolen-App herunter, die ein Gerät simuliert, das Gerät-zu-Cloud-Nachrichten an eine IoT Hub-Instanz sendet, konfigurieren das Senden dieser Nachrichten an Ihre IoT Hub-Instanz, und führen die App dann aus.

Wichtig

Es kann bis zu 10 Minuten dauern, bis Warnungen vollständig konfiguriert sind und durch IoT Hub aktiviert werden. Warten Sie mindestens 10 Minuten nach dem Konfigurieren der letzten Warnung, bis Sie die simulierte Geräte-App ausführen.

Laden Sie die Lösung für das Azure IoT C#-SDK-Repository von GitHub herunter, oder klonen Sie sie. Dieses Repository enthält mehrere Beispielanwendungen. Für dieses Tutorial verwenden wir „iothub/device/samples/getting start/SimulatedDevice/“.

  1. Navigieren Sie in einem lokalen Terminalfenster zum Stammordner der Lösung. Navigieren Sie dann zum Ordner iothub\device\samples\getting started\SimulatedDevice.

  2. Öffnen Sie die Datei SimulatedDevice.cs in einem Text-Editor Ihrer Wahl.

    1. Ersetzen Sie den Wert der s_connectionString-Variablen durch die Geräteverbindungszeichenfolge, die Sie notiert haben, als Sie das Skript zum Einrichten von Ressourcen ausgeführt haben.

    2. Ändern Sie in der SendDeviceToCloudMessagesAsync-Methode Task.Delay von 1000 in 1, um das Sendeintervall für Nachrichten von einer Sekunde auf 0,001 Sekunden zu verringern. Die Verkürzung dieser Verzögerung führt zu einer höheren Anzahl gesendeter Nachrichten. (Sie erhalten wahrscheinlich keine Nachrichtenrate von 100 Nachrichten pro Sekunde.)

      await Task.Delay(1);
      
    3. Speichern Sie die Änderungen an der Datei SimulatedDevice.cs.

  3. Führen Sie im lokalen Terminalfenster den folgenden Befehl aus, um die erforderlichen Pakete für die simulierte Geräteanwendung zu installieren:

    dotnet restore
    
  4. Führen Sie im lokalen Terminalfenster den folgenden Befehl aus, um die simulierte Geräteanwendung zu erstellen und auszuführen:

    dotnet run
    

    Der folgende Screenshot zeigt die Ausgabe, während die Anwendung zur Simulation eines Geräts Telemetriedaten an Ihre IoT Hub-Instanz sendet:

    Screenshot der simulierten Geräteausgabe.

Führen Sie die Anwendung mindestens 10 bis 15 Minuten lang aus. Im Idealfall führen Sie die Anwendung aus, bis sie das Senden von Nachrichten einstellt (ungefähr 20 bis 30 Minuten). Dies geschieht, wenn Sie das tägliche Nachrichtenkontingent für Ihren IoT-Hub überschritten haben und keine weiteren Nachrichten mehr akzeptiert werden.

Hinweis

Wenn Sie die Geräte-App für einen längeren Zeitraum ausführen, nachdem sie das Senden von Nachrichten beendet hat, wird möglicherweise eine Ausnahme ausgelöst. Sie können diese Ausnahme ignorieren und das App-Fenster schließen.

Anzeigen des Metrikdiagramms in Ihrem Dashboard

  1. Öffnen Sie in der oberen linken Ecke des Azure-Portals das Portalmenü, und wählen Sie dann Dashboard aus.

    Screenshot: Auswählen des Dashboards.

  2. Suchen Sie das zuvor angeheftete Diagramm, und klicken Sie auf die Kachel außerhalb der Diagrammdaten, um sie zu erweitern. Daraufhin werden die Anzahl gesendeter Telemetrienachrichten und die Gesamtzahl verwendeter Nachrichten im Diagramm angezeigt. Unten im Diagramm werden die neuesten Werte angezeigt. Sie können den Cursor im Diagramm verschieben, um die Metrikwerte für bestimmte Zeiten anzuzeigen. Sie können auch den Zeitwert und die Granularität am oberen Rand des Diagramms ändern, um die Daten auf einen bestimmten Zeitraum einzugrenzen oder sie für diesen zu erweitern.

    Screenshot: Metrikdiagramm.

    In diesem Szenario ist der Nachrichtendurchsatz des simulierten Geräts nicht groß genug, um zu bewirken, dass IoT Hub die Nachrichten drosselt. In einem Szenario, das tatsächlich Drosselung beinhaltet, kann es vorkommen, dass die gesendeten Telemetrienachrichten den Drosselungsgrenzwert für Ihren IoT-Hub für einen begrenzten Zeitraum überschreiten. Dies dient der Ermöglichung von Burstdatenverkehr. Weitere Informationen finden Sie unter Datenverkehrsstrukturierung.

Anzeigen der Warnungen

Wenn die Anzahl gesendeter Nachrichten die Grenzwerte übersteigt, die Sie in den Warnungsregeln festgelegt haben, erhalten Sie E-Mail-Warnungen.

Um zu ermitteln, ob aktive Warnungen vorhanden sind, wählen Sie im linken Bereich Ihres IoT-Hubs unter Überwachung die Option Warnungen aus. Im Bereich Warnungen wird die Anzahl der Warnungen nach Schweregrad sortiert angezeigt, die für den angegebenen Zeitraum ausgelöst wurden.

Screenshot: Zusammenfassung der Warnungen.

Wählen Sie die Zeile für den Schweregrad 3 aus. Der Bereich Alle Warnungen wird geöffnet, und die ausgelösten Warnungen mit dem Schweregrad 3 werden aufgelistet.

Screenshot: Bereich „Alle Warnungen“.

Wählen Sie eine der Warnungen aus, um die Warnungsdetails anzuzeigen.

Screenshot: „Warnungsdetails“.

Überprüfen Sie Ihren Posteingang auf E-Mails von Microsoft Azure. In der Betreffzeile wird die Warnung beschrieben, die ausgelöst wurde. Beispiel: Azure: Aktivierter Schweregrad: 3. Warnung, wenn mehr als 1.000 Nachrichten innerhalb von 5 Minuten vorhanden sind. Der Text sieht ähnlich wie die folgende Abbildung aus:

Screenshot: E-Mail zu den ausgelösten Warnungen

Anzeigen von Azure Monitor-Protokollen

Im Abschnitt Protokolle für Verbindungen und Gerätetelemetrie erfassen haben Sie eine Diagnoseeinstellung zum Senden von Ressourcenprotokollen erstellt, die von Ihrem IoT-Hub für Verbindungen und Gerätetelemetrievorgänge an Azure Monitor-Protokolle ausgegeben werden. In diesem Abschnitt führen Sie eine Kusto-Abfrage für Azure Monitor-Protokolle aus, um aufgetretene Fehler zu beobachten.

  1. Wählen Sie im linken Bereich Ihres IoT-Hubs unter Überwachung im Azure-Portal die Option Protokolle aus. Schließen Sie das zunächst angezeigte Fenster Abfragen, wenn es geöffnet werden sollte.

  2. Wählen Sie im Bereich „Neue Abfrage“ die Registerkarte Abfragen aus, und erweitern Sie dann IoT Hub, um die Liste der Standardabfragen anzuzeigen.

    Screenshot der Standardabfragen von IoT Hub.

  3. Wählen Sie die Abfrage Error Summary (Fehlerzusammenfassung) aus. Die Abfrage wird im Bereich „Abfrage-Editor“ angezeigt. Wählen Sie im Editor-Bereich Ausführen aus, und beobachten Sie die Abfrageergebnisse. Erweitern Sie eine der Zeilen, um Details anzuzeigen.

    Screenshot der Protokolle, die von der Fehlerzusammenfassungsabfrage zurückgegeben werden.

    Hinweis

    Wenn keine Fehler angezeigt werden, führen Sie die Abfrage Recently connected devices (Zuletzt verbundene Geräte) aus. Diese sollte eine Zeile für das simulierte Gerät zurückgeben.

Bereinigen von Ressourcen

Wenn Sie alle für dieses Tutorial erstellten Ressourcen entfernen möchten, löschen Sie die Ressourcengruppe. Diese Aktion löscht alle in der Gruppe enthaltenen Ressourcen. In diesem Fall werden der IoT-Hub, der Log Analytics-Arbeitsbereich und die Ressourcengruppe selbst entfernt. An das Dashboard angeheftete Metrikdiagramme müssen manuell entfernt werden. Klicken Sie hierzu jeweils in der rechten oberen Ecke jedes Diagramms auf die drei Punkte, und wählen Sie dann Entfernen aus. Stellen Sie sicher, dass Sie die Änderungen speichern, nachdem Sie die Diagramme gelöscht haben.

Um die Ressourcengruppe zu entfernen, verwenden Sie den Befehl az group delete.

az group delete --name ContosoResources

Nächste Schritte

In diesem Tutorial haben Sie gelernt, wie Sie IoT Hub-Metriken und Protokolle verwenden. Hierzu haben Sie folgende Aufgaben ausgeführt:

  • Verwenden der Azure CLI, um einen IoT-Hub zu erstellen, ein simuliertes Gerät zu registrieren und einen Log Analytics-Arbeitsbereich zu erstellen.
  • Senden von IoT-Hub-Verbindungen und Gerätetelemetrie-Ressourcenprotokollen an Azure Monitor-Protokolle im Log Analytics-Arbeitsbereich.
  • Verwenden des Metrik-Explorers, um ein Diagramm auf Grundlage ausgewählter Metriken zu erstellen und an das Dashboard anzuheften.
  • Erstellen von Metrikwarnungen, damit Sie über E-Mail benachrichtigt werden können, wenn wichtige Bedingungen auftreten.
  • Herunterladen und Ausführen einer App, die ein IoT-Gerät simuliert, das Nachrichten an den IoT-Hub sendet.
  • Anzeigen der Warnungen, wenn Ihre Bedingungen auftreten.
  • Anzeigen des Metrikdiagramms in Ihrem Dashboard.
  • Anzeigen von IoT-Hub-Fehlern und -Vorgängen in Azure Monitor Protokollen.

Im nächsten Tutorial erfahren Sie, wie Funktionen für die Notfallwiederherstellung für IoT Hub getestet werden.