Docker-containers installeren en uitvoeren voor de Anomaly Detector-API
Belangrijk
Vanaf 20 september 2023 kunt u geen nieuwe Anomaly Detector-resources maken. De Anomaly Detector-service wordt op 1 oktober 2026 buiten gebruik gesteld.
Notitie
De locatie van de containerinstallatiekopieën is onlangs gewijzigd. Lees dit artikel voor de bijgewerkte locatie voor deze container.
Met containers kunt u de Anomaly Detector-API uw eigen omgeving gebruiken. Containers zijn ideaal voor specifieke vereisten voor beveiliging en gegevensbeheer. In dit artikel leert u hoe u een Anomaly Detector-container downloadt, installeert en uitvoert.
Anomaly Detector biedt één Docker-container voor het gebruik van de API on-premises. Gebruik de container om het volgende te doen:
- De algoritmen van Anomaly Detector op uw gegevens gebruiken
- Streaminggegevens bewaken en afwijkingen detecteren wanneer ze zich in realtime voordoen.
- Detecteert anomalieën in uw gegevensset als een batch.
- Trendwijzigingspunten in uw gegevensset detecteren als een batch.
- Pas de gevoeligheid van het algoritme voor anomaliedetectie aan zodat deze beter past bij uw gegevens.
Zie voor gedetailleerde informatie over de API:
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Vereisten
U moet voldoen aan de volgende vereisten voordat u Anomaly Detector-containers gebruikt:
Vereist | Doel |
---|---|
Docker-engine | U moet de Docker Engine installeren op een hostcomputer. Docker biedt pakketten waarmee de Docker-omgeving op MacOS, Windows en Linux kan worden geconfigureerd. Zie het Docker-overzicht voor een inleiding tot de basisprincipes van Docker en containers. Docker moet zo worden geconfigureerd dat de containers verbinding kunnen maken met en factureringsgegevens naar Azure kunnen verzenden. In Windows moet Docker ook worden geconfigureerd ter ondersteuning van Linux-containers. |
Bekendheid met Docker | U moet basiskennis hebben van Docker-concepten, zoals registers, opslagplaatsen, containers en containerinstallatiekopieën, evenals kennis van basisopdrachten docker . |
Anomaly Detector-resource | Als u deze containers wilt gebruiken, moet u het volgende hebben: Een Azure Anomaly Detector-resource om de bijbehorende API-sleutel en eindpunt-URI op te halen. Beide waarden zijn beschikbaar op de pagina's Anomaly Detector Overview en Keys van Azure Portal en zijn vereist om de container te starten. {API_KEY}: een van de twee beschikbare resourcesleutels op de pagina Sleutels {ENDPOINT_URI}: het eindpunt zoals opgegeven op de pagina Overzicht |
Vereiste parameters verzamelen
Er zijn drie primaire parameters vereist voor alle Azure AI-containers. De licentievoorwaarden voor Microsoft-software moeten aanwezig zijn met een waarde van accepteren. Er is ook een eindpunt-URI en API-sleutel nodig.
Eindpunt-URI
De {ENDPOINT_URI}
waarde is beschikbaar op de overzichtspagina van Azure Portal van de bijbehorende Azure AI-servicesresource. Ga naar de pagina Overzicht, plaats de muisaanwijzer op het eindpunt en er wordt een pictogram Kopiëren naar klembord weergegeven. Kopieer en gebruik waar nodig het eindpunt.
Toetsen
De {API_KEY}
waarde wordt gebruikt om de container te starten en is beschikbaar op de pagina Sleutels van azure Portal van de bijbehorende Azure AI-servicesresource. Ga naar de pagina Sleutels en selecteer het pictogram Kopiëren naar klembord.
Belangrijk
Deze abonnementssleutels worden gebruikt voor toegang tot uw Azure AI-services-API. Deel je sleutels niet. Bewaar ze veilig. Gebruik bijvoorbeeld Azure Key Vault. We raden u ook aan deze sleutels regelmatig opnieuw te genereren. Er is slechts één sleutel nodig om een API-aanroep te maken. Wanneer u de eerste sleutel opnieuw genereert, kunt u de tweede sleutel gebruiken voor continue toegang tot de service.
De hostcomputer
De host is een x64-computer waarop de Docker-container wordt uitgevoerd. Het kan een computer op uw locatie of een Docker-hostingservice in Azure zijn, zoals:
- Azure Kubernetes Service.
- Azure Container Instances.
- Een Kubernetes-cluster dat is geïmplementeerd in Azure Stack. Zie Kubernetes implementeren in Azure Stack voor meer informatie.
Containervereisten en aanbevelingen
In de volgende tabel worden de minimale en aanbevolen CPU-kernen en het geheugen beschreven die moeten worden toegewezen voor de Anomaly Detector-container.
QPS(query's per seconde) | Minimaal | Aanbevolen |
---|---|---|
10 QPS | 4 kerngeheugen, 1 GB geheugen | 8 kerngeheugen van 2 GB |
20 QPS | 8 kerngeheugen, 2 GB geheugen | 16 kerngeheugen 4 GB |
Elke kern moet ten minste 2,6 gigahertz (GHz) of sneller zijn.
Kern en geheugen komen overeen met de --cpus
en --memory
instellingen, die worden gebruikt als onderdeel van de docker run
opdracht.
De containerinstallatiekopieën ophalen met docker pull
De installatiekopieën van de Anomaly Detector-container zijn te vinden in het mcr.microsoft.com
containerregistersyndicaat. Deze bevindt zich in de azure-cognitive-services/decision
opslagplaats en heeft de naam anomaly-detector
. De volledig gekwalificeerde containerinstallatiekopieënnaam is mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector
.
Als u de nieuwste versie van de container wilt gebruiken, kunt u de latest
tag gebruiken. U vindt ook een volledige lijst met afbeeldingstags op de MCR.
Gebruik de docker pull
opdracht om een containerinstallatiekopieën te downloaden.
Container | Opslagplaats |
---|---|
cognitive-services-anomaly-detector | mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest |
Tip
Let bij gebruik docker pull
goed op de behuizing van het containerregister, de opslagplaats, de naam van de containerinstallatiekopie en de bijbehorende tag. Ze zijn hoofdlettergevoelig.
Tip
U kunt de opdracht docker-installatiekopieën gebruiken om uw gedownloade containerinstallatiekopieën weer te geven. De volgende opdracht bevat bijvoorbeeld de id, opslagplaats en tag van elke gedownloade containerinstallatiekopieën, opgemaakt als een tabel:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Docker pull voor de Anomaly Detector-container
docker pull mcr.microsoft.com/azure-cognitive-services/anomaly-detector:latest
De container gebruiken
Zodra de container zich op de hostcomputer bevindt, gebruikt u het volgende proces om met de container te werken.
- Voer de container uit met de vereiste factureringsinstellingen. Er zijn meer voorbeelden van de
docker run
opdracht beschikbaar. - Voer een query uit op het voorspellingseindpunt van de container.
De container uitvoeren met docker run
Gebruik de opdracht docker run om de container uit te voeren. Raadpleeg de vereiste parameters voor meer informatie over het ophalen van de {ENDPOINT_URI}
en {API_KEY}
waarden.
Voorbeelden van de docker run
opdracht zijn beschikbaar.
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}
Met deze opdracht gebeurt het volgende:
- Hiermee wordt een Anomaly Detector-container uitgevoerd vanuit de containerinstallatiekopieën
- Wijst één CPU-kern en 4 gigabyte (GB) geheugen toe
- Maakt TCP-poort 5000 beschikbaar en wijst een pseudo-TTY toe voor de container
- Hiermee wordt de container automatisch verwijderd nadat deze is afgesloten. De containerinstallatiekopie is nog steeds beschikbaar op de hostcomputer.
Belangrijk
De Eula
, Billing
en ApiKey
opties moeten worden opgegeven om de container uit te voeren. Anders wordt de container niet gestart. Zie Facturering voor meer informatie.
Meerdere containers op dezelfde host uitvoeren
Als u van plan bent om meerdere containers met blootgestelde poorten uit te voeren, moet u ervoor zorgen dat u elke container met een andere poort uitvoert. Voer bijvoorbeeld de eerste container uit op poort 5000 en de tweede container op poort 5001.
Vervang de <container-registry>
en <container-name>
door de waarden van de containers die u gebruikt. Deze hoeven niet dezelfde container te zijn. U kunt de Anomaly Detector-container en de LUIS-container samen op de HOST uitvoeren of u kunt meerdere Anomaly Detector-containers laten uitvoeren.
Voer de eerste container uit op hostpoort 5000.
docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
<container-registry>/microsoft/<container-name> \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Voer de tweede container uit op hostpoort 5001.
docker run --rm -it -p 5001:5000 --memory 4g --cpus 1 \
<container-registry>/microsoft/<container-name> \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Elke volgende container moet zich op een andere poort bevinden.
Een query uitvoeren op het voorspellingseindpunt van de container
De container bevat op REST gebaseerde eindpunt-API's voor queryvoorspelling.
Gebruik de host, http://localhost:5000, voor container-API's.
Controleren of een container wordt uitgevoerd
Er zijn verschillende manieren om te controleren of de container wordt uitgevoerd. Zoek het externe IP-adres en de weergegeven poort van de betreffende container en open uw favoriete webbrowser. Gebruik de verschillende aanvraag-URL's die volgen om te controleren of de container wordt uitgevoerd. De hier vermelde voorbeeldaanvraag-URL's zijn http://localhost:5000
, maar uw specifieke container kan variëren. Zorg ervoor dat u vertrouwt op het externe IP-adres van uw container en de weergegeven poort.
Aanvraag-URL | Doel |
---|---|
http://localhost:5000/ |
De container bevat een startpagina. |
http://localhost:5000/ready |
Aangevraagd met GET biedt deze URL een verificatie dat de container gereed is voor het accepteren van een query voor het model. Deze aanvraag kan worden gebruikt voor Kubernetes-liveness - en gereedheidstests. |
http://localhost:5000/status |
Deze URL wordt ook aangevraagd met GET en controleert of de API-sleutel die wordt gebruikt om de container te starten, geldig is zonder een eindpuntquery te veroorzaken. Deze aanvraag kan worden gebruikt voor Kubernetes-liveness - en gereedheidstests. |
http://localhost:5000/swagger |
De container bevat een volledige set met documentatie voor de eindpunten en een functie Uitproberen. Met deze functie kunt u uw instellingen invoeren in een HTML-webformulier en de query maken zonder dat u code hoeft te schrijven. Nadat de query is geretourneerd, wordt er een voorbeeld van een CURL-opdracht gegeven om de HTTP-headers en de hoofdtekstindeling te demonstreren die vereist is. |
De container stoppen
Als u de container wilt afsluiten, selecteert u Ctrl+C in de opdrachtregelomgeving waarin de container wordt uitgevoerd.
Probleemoplossing
Als u de container uitvoert waarvoor uitvoerkoppeling en logboekregistratie zijn ingeschakeld, genereert de container logboekbestanden die handig zijn om problemen op te lossen die optreden tijdens het starten of uitvoeren van de container.
Tip
Zie veelgestelde vragen over Azure AI-containers voor meer informatie en richtlijnen voor probleemoplossing.
Als u problemen ondervindt bij het uitvoeren van een Azure AI-servicescontainer, kunt u proberen de diagnostische container van Microsoft te gebruiken. Gebruik deze container om veelvoorkomende fouten in uw implementatieomgeving te diagnosticeren waardoor Azure AI-containers mogelijk niet werken zoals verwacht.
Gebruik de volgende docker pull
opdracht om de container op te halen:
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Voer vervolgens de container uit. Vervang {ENDPOINT_URI}
door uw eindpunt en vervang {API_KEY}
uw sleutel door uw resource:
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
De container test op netwerkconnectiviteit met het factureringseindpunt.
Billing
De Anomaly Detector-containers verzenden factureringsgegevens naar Azure met behulp van een Anomaly Detector-resource in uw Azure-account.
Query's naar de container worden gefactureerd in de prijscategorie van de Azure-resource die wordt gebruikt voor de ApiKey
parameter.
Azure AI-servicescontainers hebben geen licentie om te worden uitgevoerd zonder verbinding te maken met het meter- of factureringseindpunt. U moet de containers inschakelen om factureringsgegevens te communiceren met het factureringseindpunt. Azure AI-servicescontainers verzenden geen klantgegevens, zoals de afbeelding of tekst die wordt geanalyseerd, naar Microsoft.
Verbinding maken met Azure
De container moet de waarden voor factureringsargumenten uitvoeren. Met deze waarden kan de container verbinding maken met het factureringseindpunt. De container rapporteert ongeveer om de 10 tot 15 minuten het gebruik. Als de container niet binnen het toegestane tijdvenster verbinding maakt met Azure, blijft de container actief, maar voert deze geen query's uit totdat het factureringseindpunt is hersteld. De verbinding wordt 10 keer geprobeerd met hetzelfde tijdsinterval van 10 tot 15 minuten. Als er geen verbinding kan worden gemaakt met het factureringseindpunt binnen de 10 pogingen, stopt de container met het verwerken van aanvragen. Zie de veelgestelde vragen over de Azure AI-servicescontainer voor een voorbeeld van de informatie die naar Microsoft is verzonden voor facturering.
Factureringsargumenten
Met docker run
de opdracht wordt de container gestart wanneer alle drie de volgende opties geldige waarden bevatten:
Optie | Omschrijving |
---|---|
ApiKey |
De API-sleutel van de Azure AI-servicesresource die wordt gebruikt om factureringsgegevens bij te houden. De waarde van deze optie moet worden ingesteld op een API-sleutel voor de ingerichte resource die is opgegeven in Billing . |
Billing |
Het eindpunt van de Azure AI-servicesresource die wordt gebruikt om factureringsgegevens bij te houden. De waarde van deze optie moet worden ingesteld op de eindpunt-URI van een ingerichte Azure-resource. |
Eula |
Geeft aan dat u de licentie voor de container hebt geaccepteerd. De waarde van deze optie moet worden ingesteld op accepteren. |
Zie Containers configureren voor meer informatie over deze opties.
Samenvatting
In dit artikel hebt u concepten en werkstromen geleerd voor het downloaden, installeren en uitvoeren van Anomaly Detector-containers. Samengevat:
- Anomaly Detector biedt één Linux-container voor Docker, waarin anomaliedetectie wordt ingekapseld met batch- versus streaming, verwachte bereikdeductie en gevoeligheidsafstemming.
- Containerinstallatiekopieën worden gedownload van een persoonlijke Azure Container Registry die is toegewezen aan containers.
- Containerinstallatiekopieën worden uitgevoerd in Docker.
- U kunt de REST API of SDK gebruiken om bewerkingen aan te roepen in Anomaly Detector-containers door de host-URI van de container op te geven.
- U moet factureringsgegevens opgeven bij het instantiëren van een container.
Belangrijk
Azure AI-containers worden niet gelicentieerd om te worden uitgevoerd zonder dat ze zijn verbonden met Azure voor meting. Klanten moeten ervoor zorgen dat de containers altijd factureringsgegevens kunnen communiceren met de meterservice. Azure AI-containers verzenden geen klantgegevens (bijvoorbeeld de tijdreeksgegevens die worden geanalyseerd) naar Microsoft.
Volgende stappen
- Controleer Containers configureren voor configuratie-instellingen
- Een Anomaly Detector-container implementeren in Azure Container Instances
- Meer informatie over de Anomaly Detector-API-service