Bereitstellen eines Moduls zur Erkennung von univariaten Anomalien in IoT Edge

Hier erfahren Sie, wie Sie das Anomalieerkennungsmodul von Cognitive Services auf einem IoT Edge-Gerät bereitstellen. Nachdem das Modul in IoT Edge bereitgestellt wurde, wird es in IoT Edge zusammen mit anderen Modulen als Containerinstanz ausgeführt. Es macht dieselben APIs wie eine Containerinstanz zur Anomalieerkennung verfügbar, die in einer Docker-Container-Standardumgebung ausgeführt wird.

Voraussetzungen

  • Verwenden Sie ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
  • Installieren Sie die Azure CLI.
  • Ein IoT Hub- und ein IoT Edge-Gerät

Erstellen einer Anomalieerkennungsressource

  1. Melden Sie sich beim Azure-Portal an.

  2. Klicken Sie auf Create Anomaly Detector resource (Anomalieerkennungsressource erstellen).

  3. Geben Sie alle erforderlichen Einstellungen ein:

    Einstellung Wert
    Name Gewünschter Name (2 bis 64 Zeichen)
    Subscription Wählen Sie ein passendes Abonnement aus
    Standort Wählen Sie einen nahe gelegenen und verfügbaren Speicherort aus
    Preisstufe F0: 10 Aufrufe pro Sekunde, 20.000 Transaktionen pro Monat
    Oder:
    S0: 80 Aufrufe pro Sekunde
    Ressourcengruppe Wählen Sie eine verfügbare Ressourcengruppe aus
  4. Klicken Sie auf Erstellen, und warten Sie, bis die Ressource erstellt wird. Nachdem sie erstellt wurde, navigieren Sie zur Ressourcenseite.

  5. Erfassen Sie den konfigurierten endpoint und einen API-Schlüssel:

    Die Registerkarte „Keys and Endpoint“ (Schlüssel und Endpunkt) im Portal Einstellung Wert
    Übersicht Endpunkt Kopieren Sie den Endpunkt. Er sieht etwa so aus: https://<your-resource-name>.cognitiveservices.azure.com/.
    Schlüssel API-Schlüssel Kopieren Sie einen der beiden Schlüssel. Es handelt sich um eine aus 32 alphanumerischen Zeichen bestehende Zeichenfolge ohne Leerzeichen oder Bindestriche, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

Bereitstellen des Moduls zur Anomalieerkennung am Edge

  1. Geben Sie im Azure-Portal Anomaly Detector on IoT Edge (Anomalieerkennung in IoT Edge) in das Suchfeld ein, und öffnen Sie das Azure Marketplace-Ergebnis.

  2. Sie werden auf die Seite zu Zielgeräten für IoT Edge-Module im Azure-Portal umgeleitet. Geben Sie die folgenden erforderlichen Informationen ein.

    1. Wählen Sie Ihr Abonnement aus.

    2. Wählen Sie Ihren IoT-Hub aus.

    3. Wählen Sie Gerät suchen aus, und suchen Sie nach einem IoT Edge-Gerät.

  3. Wählen Sie die Schaltfläche Erstellen.

  4. Wählen Sie das Modul AnomalyDetectoronIoTEdge aus.

    Abbildung der Benutzeroberfläche der IoT Edge-Module mit dem Link AnomalyDetectoronIoTEdge, der mit einem roten Kasten hervorgehoben ist, um anzugeben, dass dies das auszuwählende Element ist

  5. Navigieren Sie zu den Umgebungsvariablen, und geben Sie die folgenden Informationen an.

    1. Übernehmen Sie den Wert, der den Endbenutzer-Lizenzvertrag akzeptiert.

    2. Geben Sie die für die Abrechnung erforderlichen Informationen über Ihren Cognitive Services-Endpunkt an.

    3. Geben Sie den für ApiKey erforderlichen Wert in Form Ihres Cognitive Services-API-Schlüssels an.

    Umgebungsvariablen mit roten Kästen um die Bereiche, für die Werte für den Endpunkt und den API-Schlüssel ausgefüllt werden müssen

  6. Wählen Sie Update (Aktualisieren) aus.

  7. Klicken Sie auf Weiter: Routen, um Ihre Route zu definieren. Sie legen fest, dass alle Nachrichten von allen Modulen an Azure IoT Hub gesendet werden. Wie Sie eine Route deklarieren, erfahren Sie unter Einrichten von Routen in IoT Edge.

  8. Klicken Sie auf Weiter: Überprüfen + erstellen. Sie können eine Vorschau der JSON-Datei anzeigen, die alle Module definiert, die auf Ihrem IoT Edge-Gerät bereitgestellt werden.

  9. Klicken Sie auf Erstellen, um die Modulbereitstellung zu starten.

  10. Nachdem Sie die Modulbereitstellung abgeschlossen haben, navigieren Sie zurück zur Seite IoT Edge Ihres IoT-Hubs. Wählen Sie Ihr Gerät in der Liste der IoT Edge-Geräte aus, um die zugehörigen Details anzuzeigen.

  11. Scrollen Sie nach unten, und sehen Sie sich die aufgeführten Module an. Überprüfen Sie, ob der Laufzeitstatus für Ihr neues Modul ausgeführt wird.

Um den Laufzeitstatus Ihres IoT Edge-Geräts zu überprüfen, lesen Sie den Leitfaden zur Fehlerbehebung.

Testen der Anomalieerkennung auf einem IoT Edge-Gerät

Sie führen einen HTTP-Aufruf für das Azure IoT Edge-Gerät aus, auf dem der Azure Cognitive Services-Container ausgeführt wird. Der Container stellt REST-basierte Endpunkt-APIs bereit. Verwenden Sie den Host http://<your-edge-device-ipaddress>:5000 für Modul-APIs.

Alternativ können Sie einen Modulclient erstellen, indem Sie die Anomalieerkennung-Clientbibliothek auf dem Azure IoT Edge-Gerät verwenden und dann den ausgeführten Azure Cognitive Services-Container am Edge aufrufen. Verwenden Sie den Hostendpunkt http://<your-edge-device-ipaddress>:5000, und lassen Sie den Hostschlüssel leer.

Wenn Ihr Edgegerät die eingehende Kommunikation an Port 5000 noch nicht zulässt, müssen Sie eine neue Regel für den eingehenden Port erstellen.

Für eine Azure-VM kann diese unter Virtual Machine>Einstellungen>Netzwerk>Regel für eingehenden Port>Regel für eingehenden Port hinzufügen festgelegt werden.

Es gibt mehrere Möglichkeiten zu überprüfen, ob ein Modul aktiv ist. Suchen Sie die externe IP-Adresse und den verfügbar gemachten Port des betreffenden Edgegeräts, und öffnen Sie Ihren bevorzugten Webbrowser. Verwenden Sie die verschiedenen URLs der untenstehenden Anforderungen, um zu überprüfen, ob der Container ausgeführt wird. Die unten aufgeführten Beispiel-URLs für Anforderungen sind http://<your-edge-device-ipaddress:5000, aber Ihr spezifischer Container kann variieren. Beachten Sie, dass Sie die externe IP-Adresse Ihres Edgegeräts verwenden müssen.

Anforderungs-URL Zweck
http://<your-edge-device-ipaddress>:5000/ Der Container stellt eine Startseite bereit.
http://<your-edge-device-ipaddress>:5000/status Dies ermöglicht auch eine Überprüfung mit GET-Anforderung, dass der zum Starten des Containers verwendete API-Schlüssel gültig ist, ohne dass eine Endpunktabfrage veranlasst wird. Diese Anforderung kann für Live- und Bereitschaftstests von Kubernetes verwendet werden.
http://<your-edge-device-ipaddress>:5000/swagger Der Container stellt eine umfassende Dokumentation für die Endpunkte sowie die Funktion Jetzt ausprobieren bereit. Diese Funktion ermöglicht Ihnen die Eingabe Ihrer Einstellungen in einem webbasierten HTML-Formular, sodass Sie die Abfrage ausführen können, ohne Code schreiben zu müssen. Nach der Rückgabe der Abfrage wird ein cURL-Beispielbefehl bereitgestellt, der das erforderliche Format für HTTP-Header und -Text veranschaulicht.

Homepage des Containers

Nächste Schritte