Installieren und Ausführen von Docker-Containern für die Anomalieerkennungs-API
Wichtig
Ab dem 20. September 2023 können Sie keine neuen Ressourcen für die Anomalieerkennung mehr erstellen. Der Anomalieerkennungsdienst wird am 1. Oktober 2026 eingestellt.
Hinweis
Der Speicherort für Containerimages wurden vor Kurzem geändert. Lesen Sie diesen Artikel, um mehr zum aktualisierten Speicherort für diesen Container zu erfahren.
Mithilfe von Containern können Sie die Anomalieerkennungs-API in Ihrer eigenen Umgebung verwenden. Container eignen sich hervorragend für bestimmte Sicherheits- und Datengovernanceanforderungen. In diesem Artikel erfahren Sie, wie Sie einen Container für die Anomalieerkennung herunterladen, installieren und ausführen.
Die Anomalieerkennung bietet einen einzelnen Docker-Container für die lokale Verwendung der API. Verwenden Sie den Container für Folgendes:
- Verwenden der Algorithmen der Anomalieerkennung für Ihre Daten
- Überwachen von Streamingdaten und Erkennen von Anomalien in Echtzeit, wenn sie auftreten
- Erkennen von Anomalien für das ganze Dataset als Batch
- Erkennen von Trendänderungspunkten in Ihrem Dataset als Batch
- Anpassen der Sensitivität des Algorithmus für die Anomalieerkennung, damit er besser auf Ihre Daten ausgerichtet ist
Ausführliche Informationen zur API finden Sie unter:
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Voraussetzungen
Zum Verwenden des Containers für die Anomalieerkennung müssen die folgenden Voraussetzungen erfüllt sein:
Erforderlich | Zweck |
---|---|
Docker-Engine | Die Docker-Engine muss auf einem Hostcomputer installiert sein. Für die Docker-Umgebung stehen Konfigurationspakete für macOS, Windows und Linux zur Verfügung. Eine Einführung in Docker und Container finden Sie in der Docker-Übersicht. Docker muss so konfiguriert werden, dass die Container eine Verbindung mit Azure herstellen und Abrechnungsdaten an Azure senden können. Unter Windows muss Docker auch für die Unterstützung von Linux-Containern konfiguriert werden. |
Kenntnisse zu Docker | Sie sollten über Grundkenntnisse der Konzepte von Docker, einschließlich Registrierungen, Repositorys, Container und Containerimages, verfügen und die grundlegenden docker -Befehle kennen. |
Anomalieerkennungsressource | Um diese Container zu verwenden, benötigen Sie Folgendes: Eine Azure-Ressource vom Typ Anomalieerkennung, um den entsprechenden API-Schlüssel und den URI des Endpunkts zu erhalten. Beide Werte stehen im Azure-Portal auf der Übersichts- und auf der Schlüsselseite der Anomalieerkennung zur Verfügung und werden zum Starten des Containers benötigt. {API_KEY} : Einer der beiden verfügbaren Ressourcenschlüssel auf der Seite Schlüssel {ENDPOINT_URI} : Der Endpunkt, der auf der Seite Übersicht angegeben ist |
Erfassen erforderlicher Parameter
Für alle Azure KI-Container werden drei primäre Parameter benötigt. Die Microsoft-Software-Lizenzbedingungen müssen mit dem Wert accept vorhanden sein. Außerdem werden ein Endpunkt-URI und ein API-Schlüssel benötigt.
Endpunkt-URI
Der {ENDPOINT_URI}
-Wert ist im Azure-Portal auf der Seite Übersicht der entsprechenden Azure KI Services-Ressource verfügbar. Wechseln Sie zur Seite Übersicht, zeigen Sie auf den Endpunkt, und das Symbol In die Zwischenablage kopieren wird angezeigt. Kopieren Sie den Endpunkt, und verwenden Sie ihn bei Bedarf.
Tasten
Der {API_KEY}
-Wert wird zum Starten des Containers verwendet und ist im Azure-Portal auf der Seite Schlüssel der entsprechenden Azure KI Services-Ressource verfügbar. Wechseln Sie zur Seite Schlüssel, und wählen Sie das Symbol In die Zwischenablage kopieren aus.
Wichtig
Diese Abonnementschlüssel werden für den Zugriff auf Ihre Azure KI Services-API verwendet. Geben Sie Ihre Schlüssel nicht weiter. Speichern Sie diese sicher. Verwenden Sie beispielsweise Azure Key Vault. Außerdem wird empfohlen, diese Schlüssel regelmäßig neu zu generieren. Für einen API-Aufruf ist nur ein Schlüssel erforderlich. Beim Neugenerieren des ersten Schlüssels können Sie den zweiten Schlüssel für kontinuierlichen Zugriff auf den Dienst verwenden.
Der Hostcomputer
Der Host ist ein x64-basierter Computer, auf dem der Docker-Container ausgeführt wird. Dies kann ein lokaler Computer oder ein Docker-Hostingdienst in Azure sein, z. B.:
- Azure Kubernetes Service
- Azure Container Instances
- Ein in Azure Stack bereitgestellter Kubernetes-Cluster Weitere Informationen finden Sie unter Bereitstellen von Kubernetes in Azure Stack.
Containeranforderungen und -empfehlungen
In der folgenden Tabelle werden die Mindestanforderungen und empfohlenen Werte für CPU-Kerne und Arbeitsspeicher beschrieben, die jedem Container für die Anomalieerkennung zugeordnet werden müssen.
Abfragen pro Sekunde (QPS) | Minimum | Empfohlen |
---|---|---|
10 QPS | Vier Kerne, 1 GB Arbeitsspeicher | Acht Kerne, 2 GB Arbeitsspeicher |
20 QPS | Acht Kerne, 2 GB Arbeitsspeicher | 16 Kerne, 4 GB Arbeitsspeicher |
Jeder Kern muss eine Geschwindigkeit von mindestens 2,6 GHz aufweisen.
Kern und Arbeitsspeicher entsprechen den Einstellungen --cpus
und --memory
, die im Rahmen des Befehls docker run
verwendet werden.
Abrufen des Containerimages mit docker pull
Das Containerimage für die Anomalieerkennung finden Sie im Containerregistrierungssyndikat mcr.microsoft.com
. Es befindet sich im Repository azure-cognitive-services/decision
und trägt den Namen anomaly-detector
. Der vollqualifizierte Name des Containerimages lautet mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector
.
Um die neueste Version des Containers zu verwenden, können Sie das Tag latest
verwenden. Eine vollständige Liste der Tags finden Sie auch in der MCR.
Verwenden Sie den Befehl docker pull
, um ein Containerimage herunterzuladen.
Container | Repository |
---|---|
cognitive-services-anomaly-detector | mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest |
Tipp
Achten Sie bei der Verwendung von docker pull
besonders auf die Groß-/Kleinschreibung der Containerregistrierung, des Repositorys, des Containerimagenamens und des entsprechenden Tags. Dabei wird die Groß- und Kleinschreibung beachtet.
Tipp
Mithilfe des Befehls docker images können Sie Ihre heruntergeladenen Containerimages auflisten. Mit dem folgenden Befehl werden beispielsweise die ID, das Repository und das Tag jedes heruntergeladenen Containerimages in Form einer Tabelle aufgelistet:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Ausführen von „docker pull“ für den Container für die Anomalieerkennung
docker pull mcr.microsoft.com/azure-cognitive-services/anomaly-detector:latest
Verwenden des Containers
Wenn sich der Container auf dem Hostcomputer befindet, können Sie über den folgenden Prozess mit dem Container arbeiten.
- Führen Sie den Container aus, und verwenden Sie dabei die erforderlichen Abrechnungseinstellungen. Es sind noch weitere Beispiele für den Befehl
docker run
verfügbar. - Fragen Sie den Vorhersageendpunkt des Containers ab.
Ausführen des Containers mit docker run
Verwenden Sie den Befehl docker run, um den Container auszuführen. Genaue Informationen dazu, wie Sie die Werte {ENDPOINT_URI}
und {API_KEY}
abrufen, erhalten Sie unter Ermitteln erforderlicher Parameter.
Es sind Beispiele für den Befehl docker run
verfügbar.
docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Dieser Befehl:
- Führt einen Container für die Anomalieerkennung auf der Grundlage des Containerimages aus
- Weist einen einzelnen CPU-Kern und 4 GB Arbeitsspeicher zu
- Verfügbarmachen des TCP-Ports 5000 und Zuweisen einer Pseudo-TTY-Verbindung für den Container
- Entfernt den Container automatisch, nachdem er beendet wurde. Das Containerimage ist auf dem Hostcomputer weiterhin verfügbar.
Wichtig
Die Optionen Eula
, Billing
und ApiKey
müssen angegeben werden, um den Container auszuführen, andernfalls wird der Container nicht gestartet. Weitere Informationen finden Sie unter Abrechnung.
Ausführen mehrerer Container auf dem gleichen Host
Wenn Sie beabsichtigen, mehrere Container mit offengelegten Ports auszuführen, stellen Sie sicher, dass jeder Container mit einem anderen Port ausgeführt wird. Führen Sie beispielsweise den ersten Container an Port 5000 und den zweiten Container an Port 5001 aus.
Ersetzen Sie <container-registry>
und <container-name>
durch die Werte der von Ihnen verwendeten Container. Dabei muss es sich nicht um die gleichen Container handeln. Sie können den Container für die Anomalieerkennung und den LUIS-Container zusammen auf dem Host ausführen, oder Sie können mehrere Container für die Anomalieerkennung ausführen.
Führen Sie den ersten Container am Hostport 5000 aus.
docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
<container-registry>/microsoft/<container-name> \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Führen Sie den zweiten Container am Hostport 5001 aus.
docker run --rm -it -p 5001:5000 --memory 4g --cpus 1 \
<container-registry>/microsoft/<container-name> \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Jeder weitere Container sollte an einem anderen Port ausgeführt werden.
Abfragen des Vorhersageendpunkts des Containers
Der Container stellt REST-basierte Endpunkt-APIs für die Abfragevorhersage bereit.
Verwenden Sie für Container-APIs den Host http://localhost:5000.
Überprüfen auf aktive Container
Es gibt mehrere Möglichkeiten zu überprüfen, ob ein Container aktiv ist. Suchen Sie die externe IP-Adresse und den verfügbar gemachten Port des betreffenden Containers, und öffnen Sie Ihren bevorzugten Webbrowser. Verwenden Sie die folgenden verschiedenen URLs für Anforderungen, um zu überprüfen, ob der Container ausgeführt wird. Die hier aufgeführten Beispiel-URLs für Anforderungen sind http://localhost:5000
, aber Ihr spezifischer Container kann variieren. Stellen Sie sicher, dass Sie sich auf die externe IP-Adresse Ihres Containers und den verfügbar gemachten Port beziehen.
Anforderungs-URL | Zweck |
---|---|
http://localhost:5000/ |
Der Container stellt eine Homepage bereit. |
http://localhost:5000/ready |
Diese mit GET angeforderte URL ermöglicht es, zu überprüfen, ob der Container eine Abfrage des Modells akzeptiert. Diese Anforderung kann für Live- und Bereitschaftstests von Kubernetes verwendet werden. |
http://localhost:5000/status |
Diese URL wird auch mit GET angefordert und überprüft, ob 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://localhost: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. |
Beenden des Containers
Zum Herunterfahren des Containers drücken Sie in der Befehlszeilenumgebung, in der der Container ausgeführt wird, STRG+C.
Problembehandlung
Wenn Sie den Container mit einer Ausgabenbereitstellung ausführen und die Protokollierung aktiviert ist, generiert der Container Protokolldateien. Diese sind hilfreich, um Probleme beim Starten oder Ausführen des Containers zu beheben.
Tipp
Weitere Informationen und Leitfäden zur Problembehandlung finden Sie unter Häufig gestellte Fragen (FAQ) zu Azure KI-Containern.
Wenn Sie Probleme beim Ausführen eines Azure KI Services-Containers haben, können Sie versuchen, den Microsoft-Diagnosecontainer zu verwenden. Verwenden Sie diesen Container zum Diagnostizieren häufiger Fehler in Ihrer Bereitstellungsumgebung, die ggf. verhindern, dass Azure KI-Container wie erwartet funktionieren.
Zum Abrufen des Containers verwenden Sie den folgenden Befehl: docker pull
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Führen Sie dann den Container aus. Ersetzen Sie {ENDPOINT_URI}
durch Ihren Endpunkt, und ersetzen Sie {API_KEY}
durch den Schlüssel für Ihre Ressource:
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Der Container überprüft die Netzwerkkonnektivität mit dem Abrechnungsendpunkt.
Abrechnung
Der Container für die Anomalieerkennung sendet Abrechnungsinformationen an Azure und verwendet dafür eine Ressource vom Typ Anomalieerkennung in Ihrem Azure-Konto.
Abfragen des Containers werden gemäß des Tarifs der Azure-Ressource in Rechnung gestellt, die für den Parameter ApiKey
verwendet wird.
Azure KI Services-Container sind nicht zur Ausführung lizenziert, wenn keine Verbindung mit dem Endpunkt zur Verbrauchsmessung oder Abrechnung besteht. Sie müssen sicherstellen, dass die Container jederzeit Abrechnungsinformationen an den Abrechnungsendpunkt übermitteln können. Azure KI Services-Container senden keine Kundendaten (z. B. das analysierte Bild oder den analysierten Text) an Microsoft.
Herstellen einer Verbindung mit Azure
Der Container benötigt die Abrechnungsargumentwerte, um ausgeführt werden zu können. Diese Werte ermöglichen es dem Container, eine Verbindung mit dem Abrechnungsendpunkt herzustellen. Der Container meldet die Nutzung etwa alle 10 bis 15 Minuten. Wenn der Container nicht innerhalb des zulässigen Zeitfensters eine Verbindung mit Azure herstellt, wird der Container weiterhin ausgeführt, verarbeitet aber keine Anfragen, bis der Abrechnungsendpunkt wiederhergestellt wurde. Es erfolgen 10 Verbindungsversuche im gleichen Zeitintervall von 10 bis 15 Minuten. Wenn die Verbindung mit dem Abrechnungsendpunkt nicht innerhalb der 10 Versuche hergestellt werden kann, wird die Bereitstellung von Anforderungen durch den Container beendet. Ein Beispiel der zur Abrechnung an Microsoft gesendeten Informationen finden Sie in den häufig gestellten Fragen (FAQ) zu Azure KI Services-Containern.
Abrechnungsargumente
Der Befehl docker run
startet den Container, wenn alle drei der folgenden Optionen über gültige Werte verfügen:
Option | Beschreibung |
---|---|
ApiKey |
Der API-Schlüssel der Azure KI Services-Ressource, der zum Nachverfolgen von Abrechnungsinformationen verwendet wird. Der Wert dieser Option muss für die bereitgestellte Ressource, die in Billing angegeben wurde, auf einen API-Schlüssel festgelegt werden. |
Billing |
Der Endpunkt der Azure KI Services-Ressource, der zum Nachverfolgen von Abrechnungsinformationen verwendet wird Der Wert dieser Option muss auf den Endpunkt-URI einer bereitgestellten Azure-Ressource festgelegt werden. |
Eula |
Gibt an, dass Sie die Lizenz für den Container akzeptiert haben. Der Wert dieser Option muss auf accept festgelegt werden. |
Weitere Informationen zu diesen Optionen finden Sie unter Konfigurieren von Containern.
Zusammenfassung
In diesem Artikel haben Sie die Konzepte und den Workflow zum Herunterladen, Installieren und Ausführen von Containern für die Anomalieerkennung kennengelernt. Zusammenfassung:
- Die Anomalieerkennung stellt einen Linux-Container für Docker bereit, der die Anomalieerkennung kapselt. Sie kann auf Batches oder Streams ausgeführt werden und bietet Bereichsrückschlüsse sowie eine Optimierung der Genauigkeit.
- Containerimages werden aus einer privaten Azure Container Registry-Instanz für Container heruntergeladen.
- Containerimages werden in Docker ausgeführt.
- Sie können entweder die REST-API oder das SDK verwenden, um Vorgänge in Containern für die Anomalieerkennung über den Host-URI des Containers aufzurufen.
- Bei der Instanziierung eines Containers müssen Sie Abrechnungsinformationen angeben.
Wichtig
Für die Ausführung von Azure KI Services-Containern besteht keine Lizenz, wenn sie nicht zu Messzwecken mit Azure verbunden sind. Kunden müssen sicherstellen, dass Container jederzeit Abrechnungsinformationen an den Messungsdienst übermitteln können. Azure KI-Container senden keine Kundendaten (z. B. die analysierten Zeitreihendaten) an Microsoft.
Nächste Schritte
- Konfigurationseinstellungen finden Sie unter Konfigurieren von Containern.
- Bereitstellen eines Containers für die Anomalieerkennung in Azure Container Instances
- Erfahren Sie mehr über den Anomalieerkennungs-API-Dienst.