Docker-containers installeren en uitvoeren voor de Anomaly Detector-API

Notitie

De locatie van de container installatie kopie is onlangs gewijzigd. Lees dit artikel om de bijgewerkte locatie voor deze container te bekijken.

Met containers kunt u de Anomaly Detector API gebruiken in uw eigen omgeving. Containers zijn ideaal voor specifieke vereisten voor beveiliging en gegevensbeheer. In dit artikel leert u hoe u een container downloadt, installeert en Anomaly Detector uitvoeren.

Anomaly Detector biedt één Docker-container voor het gebruik van de API on-premises. Gebruik de container voor het volgende:

  • De algoritmen Anomaly Detector uw gegevens gebruiken
  • Streaminggegevens bewaken en afwijkingen detecteren wanneer deze 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 anomaliedetectiealgoritme aan om beter bij uw gegevens te passen.

Zie voor gedetailleerde informatie over de API:

Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.

Vereisten

U moet voldoen aan de volgende vereisten voordat u Anomaly Detector gebruikt:

Vereist Doel
Docker-engine De Docker-engine moet op een hostcomputer zijn geïnstalleerd. 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 worden geconfigureerd zodat de containers verbinding kunnen maken met en factureringsgegevens naar Azure kunnen verzenden.

Op Windows moet Docker ook worden geconfigureerd om Linux-containers te ondersteunen.

Bekendheid met Docker U moet basiskennis hebben van Docker-concepten, zoals registers, opslagplaatsen, containers en container-afbeeldingen, evenals kennis van docker basisopdrachten.
Anomaly Detector resource Als u deze containers wilt gebruiken, hebt u het volgende nodig:

Een Azure Anomaly Detector om de bijbehorende API-sleutel en eindpunt-URI op te halen. Beide waarden zijn beschikbaar op de Azure Portal pagina's Anomaly Detector overzicht en sleutels van de container 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 para meters voor alle vereiste containers van Cognitive Services. De gebruiksrecht overeenkomst (EULA) moet aanwezig zijn met een waarde van accept . Bovendien zijn er een eindpunt-URL en API-sleutel nodig.

Eind punt-URI {ENDPOINT_URI}

De URI-waarde van het eind punt is beschikbaar op de pagina overzicht van Azure portal van de bijbehorende cognitieve service resource. Ga naar de overzichts pagina, beweeg de muis aanwijzer over het eind punt en er Copy to clipboard wordt een pictogram weer gegeven. Kopieer en gebruik waar nodig.

De URI van het eind punt verzamelen voor later gebruik

Subknooppuntsleutels {API_KEY}

Deze sleutel wordt gebruikt om de container te starten en is beschikbaar op de pagina sleutels van de Azure Portal van de bijbehorende cognitieve service resource. Ga naar de pagina sleutels en klik op het Copy to clipboard pictogram.

Een van de twee sleutels ophalen voor later gebruik

Belangrijk

Deze abonnementssleutels worden gebruikt om toegang te krijgen tot de API van Cognitive Services. Deel uw sleutels niet. Sla ze veilig op, bijvoorbeeld met behulp van Azure Key Vault. We raden u ook aan om 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 verdere toegang tot de service.

De hostcomputer

De host is een op x64 gebaseerde computer waarop de docker-container wordt uitgevoerd. Dit kan een computer in uw locatie zijn of een docker-hosting service in azure, zoals:

Vereisten en aanbevelingen voor containers

In de volgende tabel worden de minimale en aanbevolen CPU-kernen en het geheugen beschreven die moeten worden toegewezen voor Anomaly Detector container.

QPS (query's per seconde) Minimum Aanbevolen
10 QPS 4 kernen, 1 GB geheugen 8-core geheugen van 2 GB
20 QPS 8 kernen, 2 GB geheugen 16 kerngeheugen 4 GB geheugen

Elke kern moet ten minste 2,6 gigahertz (GHz) of sneller zijn.

De kern en het geheugen komen overeen --cpus met de instellingen en , die worden gebruikt als onderdeel van de opdracht --memory docker run .

De containerafbeelding op te halen met docker pull

Gebruik de docker pull opdracht om een containerafbeelding te downloaden.

Container Opslagplaats
cognitive-services-anomaly-detector mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest

Tip

U kunt de opdracht docker-installatie kopieën gebruiken om de gedownloade container installatie kopieën weer te geven. Met de volgende opdracht worden bijvoorbeeld de ID, opslag plaats en label van elke gedownloade container installatie kopie weer gegeven, 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 op de hostcomputer staat, gebruiktu het volgende proces om met de container te werken.

  1. Voer de container uitmet de vereiste factureringsinstellingen. Meer voorbeelden van de docker run opdracht zijn beschikbaar.
  2. Een query uitvoeren op het voorspellings-eindpunt van de container.

De container uitvoeren met docker run

Gebruik de opdracht docker run om de container uit te voeren. Raadpleeg Het verzamelen van vereiste parameters voor meer informatie over het op halen van de waarden en {ENDPOINT_URI} {API_KEY} .

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:

  • Voert een Anomaly Detector container uit vanuit de containerafbeelding
  • Wijst één CPU-kern en 4 gigabyte (GB) aan geheugen toe
  • Maakt TCP-poort 5000 beschikbaar en wijst een pseudo-TTY toe voor de container
  • De container wordt automatisch verwijderd nadat deze is afgesloten. De containerafbeelding is nog steeds beschikbaar op de hostcomputer.

Belangrijk

De opties , en moeten worden opgegeven om de container uit te voeren. Anders Eula wordt de container niet Billing ApiKey start. Zie Facturering voor meer informatie.

Meerdere containers op dezelfde host uitvoeren

Als u van plan bent om meerdere containers met open zichtbare poorten uit te voeren, moet u elke container met een andere poort uitvoeren. Voer bijvoorbeeld de eerste container uit op poort 5000 en de tweede container op poort 5001.

Vervang en <container-registry> door de waarden van de containers die u <container-name> gebruikt. Deze moeten niet dezelfde container zijn. U kunt de Anomaly Detector container en de LUIS-container samen uitvoeren op de HOST of u kunt meerdere Anomaly Detector containers 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 hebben.

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 weer gegeven poort van de betreffende container en open uw favoriete webbrowser. Gebruik de onderstaande aanvraag-Url's om te controleren of de container wordt uitgevoerd. De onderstaande voorbeeld aanvraag-Url's zijn http://localhost:5000 , maar uw specifieke container kan variëren. Houd er rekening mee dat u afhankelijk bent van het externe IP- adres van uw container en de weer gegeven poort.

Aanvraag-URL Doel
http://localhost:5000/ De container bevat een startpagina.
http://localhost:5000/ready Met GET heeft dit een verificatie dat de container gereed is voor het accepteren van een query op het model. Deze aanvraag kan worden gebruikt voor Kubernetes- en gereedheids tests.
http://localhost:5000/status Daarnaast wordt met GET gevraagd of de API-sleutel die wordt gebruikt om de container te starten, geldig is zonder dat dit een eindpunt query veroorzaakt. Deze aanvraag kan worden gebruikt voor Kubernetes- en gereedheids tests.
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-formulier op het web en de query maken zonder dat u code hoeft te schrijven. Nadat de query is geretourneerd, wordt een voor beeld van een krul opdracht weer gegeven om te demonstreren welke HTTP-headers en hoofdtekst indeling vereist zijn.

Start pagina van container

De container stoppen

Als u de container wilt afsluiten, selecteert u in de opdracht regel omgeving waar de container wordt uitgevoerd, CTRL + C.

Problemen oplossen

Als u de container met een uitvoer mount en logboekregistratie ingeschakeld, de container genereert logboekbestanden die nuttig zijn voor het oplossen van problemen die zich tijdens het starten of uitvoeren van de container.

Tip

Zie Cognitive Services containers Veelgestelde vragen (FAQ)voor meer informatie en richt lijnen voor probleem oplossing.

Als u problemen hebt met het uitvoeren van een Cognitive Services-container, kunt u de diagnosecontainer van Microsoft gebruiken. Gebruik deze container om veelvoorkomende fouten in uw implementatieomgeving vast te stellen die kunnen verhinderen dat Cognitive Services-containers 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, {ENDPOINT_URI} vervang door uw eindpunt en vervang door uw sleutel voor uw {API_KEY} resource:

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

De container test op netwerkverbinding met het facturerings-eindpunt.

Billing

De Anomaly Detector containers verzenden factureringsgegevens naar Azure met behulp van 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 Cognitive Services containers hebben geen licentie om te worden uitgevoerd zonder dat ze zijn verbonden met het meting-/facturerings-eindpunt. U moet de containers in staat stellen om te allen tijde factureringsgegevens te communiceren met het facturerings-eindpunt. Cognitive Services containers verzenden geen klantgegevens, zoals de afbeelding of tekst die wordt geanalyseerd, naar Microsoft.

Verbinding maken met Azure

Voor de container moeten de waarden van het factureringsargument worden uitgevoerd. Met deze waarden kan de container verbinding maken met het facturerings-eindpunt. De container rapporteert ongeveer elke 10 tot 15 minuten gebruik. Als de container geen verbinding maakt met Azure binnen het toegestane tijdvenster, blijft de container worden uitgevoerd, maar worden er geen query's uitgevoerd totdat het facturerings-eindpunt is hersteld. De verbinding wordt 10 keer geprobeerd op hetzelfde tijdsinterval van 10 tot 15 minuten. Als de container geen verbinding kan maken met het facturerings-eindpunt binnen de tien pogingen, stopt de container met het verwerken van aanvragen. Zie de veelgestelde Cognitive Services container voor een voorbeeld van de informatie die naar Microsoft wordt verzonden voor facturering.

Factureringsargumenten

docker run Met de opdracht wordt de container start wanneer alle drie de volgende opties zijn opgegeven met geldige waarden:

Optie Beschrijving
ApiKey De API-sleutel van de Cognitive Services resource die wordt gebruikt voor het bijhouden van factureringsgegevens.
De waarde van deze optie moet worden ingesteld op een API-sleutel voor de inrichtende resource die is opgegeven in Billing .
Billing Het eindpunt van de Cognitive Services resource die wordt gebruikt voor het bijhouden van factureringsgegevens.
De waarde van deze optie moet worden ingesteld op de eindpunt-URI van een inrichtende Azure-resource.
Eula Geeft aan dat u de licentie voor de container hebt geaccepteerd.
De waarde van deze optie moet worden ingesteld om te accepteren.

Zie Containers configureren voor meer informatie over deze opties.

Samenvatting

In dit artikel hebt u concepten en werkstroom geleerd voor het downloaden, installeren en uitvoeren van Anomaly Detector containers. Samenvatting:

  • Anomaly Detector biedt één Linux-container voor Docker, waarin anomaliedetectie wordt ingekapseld met batch-versus-streaming, verwachte bereikdeferentie en afstemming van gevoeligheid.
  • Containerafbeeldingen worden gedownload van een privé-Azure Container Registry toegewezen voor containers.
  • Container-afbeeldingen worden uitgevoerd in Docker.
  • U kunt de REST API of SDK gebruiken om bewerkingen in Anomaly Detector containers aan te roepen door de host-URI van de container op te geven.
  • U moet factureringsgegevens opgeven bij het instantiëren van een container.

Belangrijk

Cognitive Services containers zijn niet gelicentieerd om te worden uitgevoerd zonder dat ze zijn verbonden met Azure voor het meten. Klanten moeten de containers in staat stellen om te allen tijde factureringsgegevens te communiceren met de meetservice. Cognitive Services containers verzenden geen klantgegevens (bijvoorbeeld de tijdreeksgegevens die worden geanalyseerd) naar Microsoft.

Volgende stappen