Installera och köra Docker-containrar för Avvikelseidentifiering API

Anteckning

Behållar avbildningens plats har nyligen ändrats. Läs den här artikeln om du vill se den uppdaterade platsen för den här behållaren.

Med containrar kan du använda Avvikelseidentifiering API i din egen miljö. Containrar är bra för specifika säkerhets- och datastyrningskrav. I den här artikeln lär du dig att ladda ned, installera och köra en Avvikelseidentifiering container.

Avvikelseidentifiering erbjuder en enda Docker-container för användning av API:et lokalt. Använd containern för att:

  • Använda Avvikelseidentifiering algoritmer för dina data
  • Övervaka strömmande data och identifiera avvikelser när de inträffar i realtid.
  • Identifiera avvikelser i hela datauppsättningen som en batch.
  • Identifiera trendändringspunkter i datauppsättningen som en batch.
  • Justera avvikelseidentifieringsalgoritmens känslighet så att den bättre passar dina data.

Detaljerad information om API:et finns i:

Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Förutsättningar

Du måste uppfylla följande krav innan du använder Avvikelseidentifiering containrar:

Obligatorisk Syfte
Docker-motorn Docker-motorn måste vara installerad på en värddator. Docker innehåller paket som konfigurerar Docker-miljön på macOS, Windows och Linux. En introduktion till grunderna för Docker och containrar finns i Docker-översikt.

Docker måste konfigureras så att containrarna kan ansluta till och skicka faktureringsdata till Azure.

I Windows måste Docker också konfigureras för att stödja Linux-containrar.

Kunskaper om Docker Du bör ha en grundläggande förståelse för Docker-begrepp som register, lagringsdatabaser, containrar och containeravbildningar, samt kunskaper om grundläggande docker kommandon.
Avvikelseidentifiering resurs För att kunna använda dessa containrar måste du ha:

En Azure Avvikelseidentifiering för att hämta den associerade API-nyckeln och slutpunkts-URI:n. Båda värdena är tillgängliga på Azure Portal på sidorna Avvikelseidentifiering Översikt och Nycklar och krävs för att starta containern.

{API_KEY}: En av de två tillgängliga resursnycklarna på sidan Nycklar

{ENDPOINT_URI}: Slutpunkten som anges på översiktssidan

Nödvändiga parametrar samlas in

Det finns tre primära parametrar för alla Cognitive Services behållare som krävs. Licens avtalet för slutanvändare (EULA) måste vara närvarande med värdet accept . Dessutom behövs både en slut punkts-URL och API-nyckel.

Slut punkts-URI {ENDPOINT_URI}

URI-värdet för slut punkten är tillgängligt på sidan Azure Portal Översikt för motsvarande kognitiva tjänst resurs. Gå till sidan Översikt , Hovra över slut punkten och en Copy to clipboard ikon visas. Kopiera och använd vid behov.

Samla in slut punkts-URI för senare användning

Nyckel {API_KEY}

Den här nyckeln används för att starta behållaren och är tillgänglig på sidan Azure Portals nycklar för motsvarande kognitiva tjänst resurser. Gå till sidan nycklar och klicka på Copy to clipboard ikonen.

Hämta en av de två nycklarna för senare användning

Viktigt

Dessa prenumerations nycklar används för att få åtkomst till ditt kognitiva tjänst-API. Dela inte dina nycklar. Lagra dem på ett säkert sätt, till exempel med hjälp av Azure Key Vault. Vi rekommenderar också att du återskapar nycklarna regelbundet. Endast en nyckel krävs för att göra ett API-anrop. När du återskapar den första nyckeln kan du använda den andra nyckeln för fortsatt åtkomst till tjänsten.

Värddatorn

Värden är en x64-baserad dator som kör Docker-behållaren. Det kan vara en dator på din lokala dator eller en Docker-värd tjänst i Azure, till exempel:

Krav och rekommendationer för containrar

I följande tabell beskrivs de minsta och rekommenderade processorkärnor och det minne som ska allokeras för Avvikelseidentifiering container.

QPS (frågor per sekund) Minimum Rekommenderas
10 QPS 4 kärnor, 1 GB minne 8 kärnors 2 GB minne
20 QPS 8 kärnors, 2 GB minne 16 kärnors 4 GB minne

Varje kärna måste vara minst 2,6 gigahertz (GHz) eller snabbare.

Kärna och minne motsvarar inställningarna --cpus och , som används som en del av kommandot --memory docker run .

Hämta containeravbildningen med docker pull

Använd kommandot docker pull för att ladda ned en containeravbildning.

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

Tips

Du kan använda kommandot Docker images för att visa en lista över hämtade behållar avbildningar. Följande kommando visar till exempel ID, lagrings plats och tagg för varje Hämtad behållar avbildning, formaterad som en tabell:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

Docker-pull för Avvikelseidentifiering containern

docker pull mcr.microsoft.com/azure-cognitive-services/anomaly-detector:latest

Så här använder du containern

När containern finns på värddatornanvänder du följande process för att arbeta med containern.

  1. Kör containernmed de faktureringsinställningar som krävs. Fler exempeldocker run kommandot är tillgängliga.
  2. Fråga containerns förutsägelseslutpunkt.

Kör containern med docker run

Använd kommandot docker run för att köra containern. Information om hur du hämtar värdena och finns i samla in obligatoriska {ENDPOINT_URI} {API_KEY} parametrar.

Exempeldocker run kommandot är tillgängliga.

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}

Det här kommandot:

  • Kör en Avvikelseidentifiering container från containeravbildningen
  • Allokerar en processorkärna och 4 GIGABYTE (GB) minne
  • Exponerar TCP-port 5000 och allokerar en pseudo-TTY för containern
  • Tar automatiskt bort containern när den avslutas. Containeravbildningen är fortfarande tillgänglig på värddatorn.

Viktigt

Alternativen Eula Billing , och måste anges för att ApiKey köra containern. Annars startar inte containern. Mer information finns i Fakturering.

Köra flera containrar på samma värd

Om du tänker köra flera containrar med exponerade portar måste du köra varje container med en annan port. Kör till exempel den första containern på port 5000 och den andra containern på port 5001.

Ersätt och <container-registry> med värdena för de <container-name> containrar som du använder. Dessa behöver inte vara samma container. Du kan köra Avvikelseidentifiering och LUIS-containern på VÄRDEN tillsammans, eller så kan du ha flera Avvikelseidentifiering containrar som körs.

Kör den första containern på värdporten 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}

Kör den andra containern på värdporten 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}

Varje efterföljande container ska finnas på en annan port.

Köra frågor mot containerns förutsägelseslutpunkt

Containern innehåller REST-baserade slutpunkts-API:er för frågeförutsägelse.

Använd värden, http://localhost:5000, för container-API:er.

Verifiera att en behållare körs

Det finns flera sätt att verifiera att behållaren körs. Leta reda på den externa IP- adressen och den exponerade porten för den aktuella behållaren och öppna din favorit webbläsare. Använd de olika URL: erna för begäran nedan för att verifiera att behållaren körs. URL: erna för exempel begär Anden som anges nedan är http://localhost:5000 , men din speciella behållare kan variera. Tänk på att du är beroende av behållarens externa IP -adress och exponerad port.

URL för begäran Syfte
http://localhost:5000/ Containern tillhandahåller en startsida.
http://localhost:5000/ready Begärd med GET, detta ger en verifiering av att behållaren är redo att acceptera en fråga mot modellen. Den här begäran kan användas för Kubernetes Live och beredskaps avsökningar.
http://localhost:5000/status Begärd med GET, kontrollerar detta om den API-nyckel som används för att starta behållaren är giltig utan att orsaka en slut punkts fråga. Den här begäran kan användas för Kubernetes Live och beredskaps avsökningar.
http://localhost:5000/swagger Containern tillhandahåller en fullständig uppsättning dokumentation för slutpunkterna samt en Prova-funktion. Med den här funktionen kan du ange dina inställningar i ett webbaserat HTML-formulär och göra frågan utan att behöva skriva någon kod. När frågan returnerar visas ett exempel på ett spiral kommando som visar de HTTP-rubriker och det text format som krävs.

Behållarens start sida

Stoppa containern

Om du vill stänga av behållaren går du till kommando rads miljön där behållaren körs och väljer CTRL + C.

Felsökning

Om du kör containern med en aktiverad montering och loggning av utdata genererar containern loggfiler som är användbara för att felsöka problem som inträffar när du startar eller kör containern.

Tips

Mer felsöknings information och vägledning finns i Cognitive Services behållare vanliga frågor och svar.

Om du har problem med att köra en Cognitive Services-container kan du prova att använda Microsofts diagnostikcontainer. Använd den här containern till att diagnostisera vanliga fel i distributionsmiljön som kan förhindra att Cognitive Services-containrar fungerar som förväntat.

Hämta containern med följande Docker pull-kommando:

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

Kör sedan containern, {ENDPOINT_URI} ersätt med slutpunkten och ersätt {API_KEY} med din nyckel till din resurs:

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

Containern testar nätverksanslutningen till faktureringsslutpunkten.

Fakturering

Containern Avvikelseidentifiering faktureringsinformation till Azure med hjälp av en Avvikelseidentifiering på ditt Azure-konto.

Frågor till containern debiteras på prisnivån för den Azure-resurs som används för ApiKey parametern .

Azure Cognitive Services-containrar är inte licensierade att köras utan att vara anslutna till slutpunkten för mätning/fakturering. Du måste göra så att containrarna alltid kan kommunicera faktureringsinformation med faktureringsslutpunkten. Cognitive Services-containrar skickar inte kunddata, till exempel den bild eller text som analyseras, till Microsoft.

Anslut till Azure

Containern behöver faktureringsargumentvärdena för att köras. Dessa värden gör att containern kan ansluta till faktureringsslutpunkten. Containern rapporterar användning var 10:e till 15:e minut. Om containern inte ansluter till Azure inom den tillåtna tidsperioden fortsätter containern att köras men kör inte frågor förrän faktureringsslutpunkten har återställts. Anslutningen görs 10 gånger med samma tidsintervall på 10 till 15 minuter. Om den inte kan ansluta till faktureringsslutpunkten inom de 10 försöken slutar containern att betjäna begäranden. Se vanliga Cognitive Services vanliga frågor och svar om containrar för ett exempel på den information som skickas till Microsoft för fakturering.

Faktureringsargument

docker run Kommandot startar containern när alla tre av följande alternativ har angetts med giltiga värden:

Alternativ Beskrivning
ApiKey API-nyckeln för Cognitive Services resurs som används för att spåra faktureringsinformation.
Värdet för det här alternativet måste anges till en API-nyckel för den etablerade resursen som anges i Billing .
Billing Slutpunkten för Cognitive Services resurs som används för att spåra faktureringsinformation.
Värdet för det här alternativet måste anges till slutpunkts-URI för en etablerad Azure-resurs.
Eula Anger att du har accepterat licensen för containern.
Värdet för det här alternativet måste anges för att acceptera.

Mer information om dessa alternativ finns i Konfigurera containrar.

Sammanfattning

I den här artikeln har du lärt dig begrepp och arbetsflöden för att ladda ned, installera och köra Avvikelseidentifiering containrar. Sammanfattningsvis:

  • Avvikelseidentifiering en Linux-container för Docker, kapsla in avvikelseidentifiering med batch jämfört med strömning, förväntad intervallinferens och känslighetsjustering.
  • Containeravbildningar laddas ned från en privat Azure Container Registry dedikerad för containrar.
  • Containeravbildningar körs i Docker.
  • Du kan använda antingen REST API eller SDK för att anropa åtgärder i Avvikelseidentifiering-containrar genom att ange värd-URI för containern.
  • Du måste ange faktureringsinformation när du instansierar en container.

Viktigt

Cognitive Services-containrar är inte licensierade att köras utan att vara anslutna till Azure för mätning. Kunder måste göra det möjligt för containrarna att alltid kommunicera faktureringsinformation med mätningstjänsten. Cognitive Services-containrar skickar inte kunddata (t.ex. tidsseriedata som analyseras) till Microsoft.

Nästa steg