Installare ed eseguire contenitori di Rilevamento anomalieInstall and run Anomaly Detector containers

Il rilevatore di anomalie presenta il contenitore seguente:The Anomaly Detector has the following container:

FunzioneFunction FunzionalitàFeatures
Rilevamento anomalieAnomaly detector
  • Rileva le anomalie che si verificano in tempo reale.Detects anomalies as they occur in real-time.
  • Rileva le anomalie nel set di dati come batch.Detects anomalies throughout your data set as a batch.
  • Deduce l'intervallo normale dei dati previsto.Infers the expected normal range of your data.
  • Supporta la regolazione della sensibilità del rilevamento anomalie per adattarsi meglio ai dati.Supports anomaly detection sensitivity adjustment to better fit your data.
  • Per informazioni dettagliate sulle API, vedere:For detailed information about the APIs, please see:

    Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

    PrerequisitiPrerequisites

    Prima di usare i contenitori dei rilevatori di anomalie, è necessario soddisfare i prerequisiti seguenti:You must meet the following prerequisites before using Anomaly Detector containers:

    RichiestoRequired ScopoPurpose
    Motore DockerDocker Engine È necessario il motore Docker installato in un computer host.You need the Docker Engine installed on a host computer. Docker offre pacchetti per la configurazione dell'ambiente Docker in macOS, Windows e Linux.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Per una panoramica dei concetti fondamentali relativi a Docker e ai contenitori, vedere Docker overview (Panoramica di Docker).For a primer on Docker and container basics, see the Docker overview.

    Docker deve essere configurato per consentire ai contenitori di connettersi ai dati di fatturazione e inviarli ad Azure.Docker must be configured to allow the containers to connect with and send billing data to Azure.

    In Windows Docker deve essere configurato anche per supportare i contenitori Linux.On Windows, Docker must also be configured to support Linux containers.

    Familiarità con DockerFamiliarity with Docker È opportuno avere una conoscenza di base dei concetti relativi a Docker, tra cui registri, repository, contenitori e immagini dei contenitori, nonché dei comandi docker di base.You should have a basic understanding of Docker concepts, like registries, repositories, containers, and container images, as well as knowledge of basic docker commands.
    Risorsa rilevamento anomalieAnomaly Detector resource Per usare questi contenitori, è necessario avere:In order to use these containers, you must have:

    Risorsa di Rilevamento anomalie di Azure per ottenere la chiave API e l'URI dell'endpoint associati.An Azure Anomaly Detector resource to get the associated API key and endpoint URI. Entrambi i valori sono disponibili nelle pagine relative alla panoramica del rilevatore di anomalie del portale di Azure e alle pagine delle chiavi e sono necessarie per avviare il contenitore.Both values are available on the Azure portal's Anomaly Detector Overview and Keys pages and are required to start the container.

    {API_KEY} : Una delle due chiavi di risorsa disponibili nella pagina chiavi{API_KEY}: One of the two available resource keys on the Keys page

    {ENDPOINT_URI} : Endpoint fornito nella pagina Panoramica{ENDPOINT_URI}: The endpoint as provided on the Overview page

    Raccolta dei parametri obbligatoriGathering required parameters

    Sono disponibili tre parametri primari per tutti i contenitori di servizi cognitivi richiesti.There are three primary parameters for all Cognitive Services' containers that are required. Il contratto di licenza con l'utente finale deve essere presente con un valore pari accepta.The end-user license agreement (EULA) must be present with a value of accept. Sono inoltre necessari un URL dell'endpoint e una chiave API.Additionally, both an Endpoint URL and API Key are needed.

    Nota

    L'unica eccezione a questi tre parametri obbligatori è quando i contenitori sono considerati contenitori "offline".The only exception to these three required parameters is when containers are considered "Offline" containers. I contenitori offline non segnalano l'utilizzo, non vengono misurati e seguono una metodologia di fatturazione diversa.Offline containers do not report usage, are not metered and follow a different billing methodology.

    URI dell'endpoint{ENDPOINT_URI}Endpoint URI {ENDPOINT_URI}

    Il valore dell'URI dell' endpoint è disponibile nella pagina Panoramica portale di Azure della risorsa del servizio cognitiva corrispondente.The Endpoint URI value is available on the Azure portal Overview page of the corresponding Cognitive Service resource. Passare alla pagina Panoramica , posizionare il puntatore del mouse sull'endpoint e Copy to clipboard verrà visualizzata un' icona.Navigate to the Overview page, hover over the Endpoint, and a Copy to clipboard icon will appear. Copiare e usare se necessario.Copy and use where needed.

    Raccogliere l'URI dell'endpoint per un uso successivo

    Chiavi{API_KEY}Keys {API_KEY}

    Questa chiave viene usata per avviare il contenitore ed è disponibile nella pagina chiavi del portale di Azure della risorsa del servizio cognitiva corrispondente.This key is used to start the container, and is available on the Azure portal's Keys page of the corresponding Cognitive Service resource. Passare alla pagina chiavi e fare clic sull' Copy to clipboard icona.Navigate to the Keys page, and click on the Copy to clipboard icon.

    Ottenere una delle due chiavi per un uso successivo

    Importante

    Queste chiavi di sottoscrizione vengono usate per accedere all'API di servizi cognitivi.These subscription keys are used to access your Cognitive Service API. Non condividere le chiavi.Do not share your keys. Archiviarli in modo sicuro, ad esempio usando Azure Key Vault.Store them securely, for example, using Azure Key Vault. Si consiglia inoltre di rigenerare regolarmente queste chiavi.We also recommend regenerating these keys regularly. È necessaria una sola chiave per effettuare una chiamata API.Only one key is necessary to make an API call. Quando si rigenera la prima chiave, è possibile usare la seconda chiave per l'accesso continuo al servizio.When regenerating the first key, you can use the second key for continued access to the service.

    Richiedere l'accesso al registro contenitoriRequest access to the container registry

    È necessario prima completare e inviare il modulo di richiesta del contenitore del rilevatore di anomalie per richiedere l'accesso al contenitore.You must first complete and submit the Anomaly Detector Container Request form to request access to the container.

    Il modulo richiede informazioni sull'utente, sull'azienda e sullo scenario utente per cui si userà il contenitore.The form requests information about you, your company, and the user scenario for which you'll use the container. Dopo l'invio del modulo, il team di Servizi cognitivi di Azure lo esaminerà per verificare che siano soddisfatti i criteri di accesso al registro contenitori privato.After you've submitted the form, the Azure Cognitive Services team reviews it to ensure that you meet the criteria for access to the private container registry.

    Importante

    È necessario usare un indirizzo di posta elettronica associato un account Microsoft o Azure Active Directory (Azure AD) nel modulo.You must use an email address that's associated with either a Microsoft Account (MSA) or Azure Active Directory (Azure AD) account in the form.

    Se la richiesta viene approvata, si riceverà un messaggio di posta elettronica con istruzioni su come ottenere le credenziali e accedere al registro contenitori privato.If your request is approved, you'll receive an email with instructions that describe how to obtain your credentials and access the private container registry.

    Usare l'interfaccia della riga di comando Docker per l'autenticazione del registro contenitori privatoUse the Docker CLI to authenticate the private container registry

    È possibile eseguire l'autenticazione con il registro contenitori privato per i contenitori di Servizi cognitivi in diversi modi, ma il metodo da riga di comando consigliato consiste nell'usare l'interfaccia della riga di comando di Docker.You can authenticate with the private container registry for Cognitive Services Containers in any of several ways, but the recommended method from the command line is to use the Docker CLI.

    Usare il comando docker login, come illustrato nell'esempio seguente, per accedere a containerpreview.azurecr.io, il registro contenitori privato per i contenitori di Servizi cognitivi.Use the docker login command, as shown in the following example, to log in to containerpreview.azurecr.io, the private container registry for Cognitive Services Containers. Sostituire <username> con il nome utente e <password> con la password specificata nelle credenziali ricevute dal team di Servizi cognitivi di Azure.Replace <username> with the user name and <password> with the password that's provided in the credentials you received from the Azure Cognitive Services team.

    docker login containerpreview.azurecr.io -u <username> -p <password>
    

    Se le credenziali sono protette in un file di testo, è possibile concatenare il contenuto del file al comando docker login usando il comando cat, come mostrato nell'esempio seguente.If you've secured your credentials in a text file, you can concatenate the contents of that text file, by using the cat command, to the docker login command, as shown in the following example. Sostituire <passwordFile> con il percorso e il nome del file di testo contenente la password e <username> con il nome utente specificato nelle credenziali.Replace <passwordFile> with the path and name of the text file that contains the password and <username> with the user name that's provided in your credentials.

    cat <passwordFile> | docker login containerpreview.azurecr.io -u <username> --password-stdin
    

    Computer hostThe host computer

    L'host è un computer basato su x64 che esegue il contenitore Docker.The host is a x64-based computer that runs the Docker container. Può essere un computer dell'ambiente locale o un servizio di hosting Docker in Azure, tra cui:It can be a computer on your premises or a Docker hosting service in Azure, such as:

    Indicazioni e requisiti per i contenitoriContainer requirements and recommendations

    La tabella seguente descrive i core CPU minimi e consigliati e la memoria da allocare per il contenitore del rilevatore di anomalie.The following table describes the minimum and recommended CPU cores and memory to allocate for Anomaly Detector container.

    QUERY al secondo (query al secondo)QPS(Queries per second) MinimaMinimum ConsigliatoRecommended
    10 QUERY AL SECONDO10 QPS 4 core, 1 GB di memoria4 core, 1-GB memory 8 Core 2-GB di memoria8 core 2-GB memory
    20 QUERY AL SECONDO20 QPS 8 core, 2 GB di memoria8 core, 2-GB memory 16 core da 4 GB di memoria16 core 4-GB memory

    Ogni core deve essere di almeno 2,6 gigahertz (GHz) o superiore.Each core must be at least 2.6 gigahertz (GHz) or faster.

    Core e memoria corrispondono alle impostazioni --cpus e --memory che vengono usate come parte del comando docker run.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

    Ottenere l'immagine del contenitore con docker pullGet the container image with docker pull

    Usare il comando docker pull per scaricare un'immagine del contenitore.Use the docker pull command to download a container image.

    ContenitoreContainer RepositoryRepository
    cognitive-services-anomaly-detectorcognitive-services-anomaly-detector containerpreview.azurecr.io/microsoft/cognitive-services-anomaly-detector:latest

    Suggerimento

    È possibile usare il comando docker images per visualizzare l'elenco delle immagini dei contenitori scaricate.You can use the docker images command to list your downloaded container images. Ad esempio, il comando seguente visualizza l'ID, il repository e il tag di ogni immagine del contenitore scaricata, in formato tabella:For example, the following command lists the ID, repository, and tag of each downloaded container image, formatted as a table:

    docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
    
    IMAGE ID         REPOSITORY                TAG
    <image-id>       <repository-path/name>    <tag-name>
    

    Pull di Docker per il contenitore del rilevatore di anomalieDocker pull for the Anomaly Detector container

    docker pull containerpreview.azurecr.io/microsoft/cognitive-services-anomaly-detector:latest
    

    Come usare il contenitoreHow to use the container

    Dopo aver aggiunto il contenitore nel computer host, seguire questa procedura per usare il contenitore.Once the container is on the host computer, use the following process to work with the container.

    1. Eseguire il contenitore, con le impostazioni di fatturazione necessarie.Run the container, with the required billing settings. Sono disponibili altri esempi del comando docker run.More examples of the docker run command are available.
    2. Eseguire le query sull'endpoint di stima del contenitore.Query the container's prediction endpoint.

    Eseguire il contenitore con docker runRun the container with docker run

    Usare il comando docker run per eseguire il contenitore.Use the docker run command to run the container. Per informazioni dettagliate su come ottenere i {ENDPOINT_URI} valori e {API_KEY} , vedere raccolta dei parametri obbligatori .Refer to gathering required parameters for details on how to get the {ENDPOINT_URI} and {API_KEY} values.

    Sono disponibili esempi di comando docker run.Examples of the docker run command are available.

    docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
    containerpreview.azurecr.io/microsoft/cognitive-services-anomaly-detector:latest \
    Eula=accept \
    Billing={ENDPOINT_URI} \
    ApiKey={API_KEY}
    

    Questo comando:This command:

    • Esegue un contenitore di rilevatori di anomalie dall'immagine del contenitoreRuns an Anomaly Detector container from the container image
    • Alloca un core CPU e 4 GB di memoriaAllocates one CPU core and 4 gigabytes (GB) of memory
    • Espone la porta TCP 5000 e alloca un pseudo terminale TTY per il contenitoreExposes TCP port 5000 and allocates a pseudo-TTY for the container
    • Rimuove automaticamente il contenitore dopo la chiusura.Automatically removes the container after it exits. L'immagine del contenitore rimane disponibile nel computer host.The container image is still available on the host computer.

    Importante

    È necessario specificare le opzioni Eula, Billing e ApiKey per eseguire il contenitore. In caso contrario, il contenitore non si avvia.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Per altre informazioni, vedereFatturazione.For more information, see Billing.

    Esecuzione di più contenitori nello stesso hostRunning multiple containers on the same host

    Se si intende eseguire più contenitori con porte esposte, assicurarsi di eseguire ogni contenitore con una porta diversa.If you intend to run multiple containers with exposed ports, make sure to run each container with a different port. Eseguire ad esempio il primo contenitore sulla porta 5000 e il secondo sulla porta 5001.For example, run the first container on port 5000 and the second container on port 5001.

    Sostituire <container-registry> e <container-name> con i valori dei contenitori usati.Replace the <container-registry> and <container-name> with the values of the containers you use. Questi non devono trovarsi necessariamente nello stesso contenitore.These do not have to be the same container. È possibile fare in modo che il contenitore dei rilevatori di anomalie e il contenitore LUIS siano in esecuzione nell'HOST oppure che siano in esecuzione più contenitori di rilevamento anomalie.You can have the Anomaly Detector container and the LUIS container running on the HOST together or you can have multiple Anomaly Detector containers running.

    Eseguire il primo contenitore sulla porta 5000.Run the first container on port 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}
    

    Eseguire il secondo contenitore sulla porta 5001.Run the second container on port 5001.

    docker run --rm -it -p 5000:5001 --memory 4g --cpus 1 \
    <container-registry>/microsoft/<container-name> \
    Eula=accept \
    Billing={ENDPOINT_URI} \
    ApiKey={API_KEY}
    

    Ogni contenitore successivo deve essere su una porta diversa.Each subsequent container should be on a different port.

    Eseguire query sull'endpoint di stima del contenitoreQuery the container's prediction endpoint

    Il contenitore fornisce API dell'endpoint di stima di query basate su REST.The container provides REST-based query prediction endpoint APIs.

    Usare l'host, http://localhost:5000, per le API del contenitore.Use the host, http://localhost:5000, for container APIs.

    Verificare che il contenitore sia in esecuzioneValidate that a container is running

    Per verificare se il contenitore è in esecuzione, sono disponibili diverse opzioni.There are several ways to validate that the container is running. Individuare l'indirizzo IP esterno e la porta esposta del contenitore in questione e aprire il Web browser preferito.Locate the External IP address and exposed port of the container in question, and open your favorite web browser. Usare i vari URL di richiesta indicati di seguito per verificare che il contenitore sia in esecuzione.Use the various request URLs below to validate the container is running. Gli URL di richiesta di esempio elencati http://localhost:5000di seguito sono, ma il contenitore specifico può variare.The example request URLs listed below are http://localhost:5000, but your specific container may vary. Tenere presente che si sta per fare affidamento sull'indirizzo IP esterno del contenitore e sulla porta esposta.Keep in mind that you're to rely on your container's External IP address and exposed port.

    URL richiestaRequest URL ScopoPurpose
    http://localhost:5000/ Il contenitore fornisce una home page.The container provides a home page.
    http://localhost:5000/status Richiesta con HTTP GET, per verificare che il contenitore sia in esecuzione senza causare una query dell'endpoint.Requested with an HTTP GET, to validate that the container is running without causing an endpoint query. Questa richiesta può essere usata per i probe di attività e di idoneità di Kubernetes.This request can be used for Kubernetes liveness and readiness probes.
    http://localhost:5000/swagger Il contenitore fornisce un set completo di documentazione per gli endpoint e una funzionalità di prova .The container provides a full set of documentation for the endpoints and a Try it out feature. Con questa funzionalità, è possibile immettere le impostazioni in un modulo HTML basato sul Web ed eseguire la query senza scrivere codice.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. Dopo che la query restituisce il risultato, viene fornito un comando CURL di esempio per illustrare il formato richiesto per il corpo e le intestazioni HTTP.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

    Home page del contenitore

    Arrestare il contenitoreStop the container

    Per arrestare il contenitore, nell'ambiente della riga di comando in cui è in esecuzione il contenitore, selezionare Ctrl + C.To shut down the container, in the command-line environment where the container is running, select Ctrl+C.

    risoluzione dei problemiTroubleshooting

    Se si esegue il contenitore con un punto di montaggio di output e la registrazione attivata, il contenitore genera file di log utili per risolvere i problemi che si verificano durante l'avvio o l'esecuzione del contenitore.If you run the container with an output mount and logging enabled, the container generates log files that are helpful to troubleshoot issues that happen while starting or running the container.

    Suggerimento

    Per ulteriori informazioni e indicazioni sulla risoluzione dei problemi, vedere la pagina relativa alle domande frequenti sui contenitori di servizi cognitivi.For more troubleshooting information and guidance, see Cognitive Services containers frequently asked questions (FAQ).

    FatturazioneBilling

    I contenitori di anomalie Detector inviano informazioni di fatturazione ad Azure, usando una risorsa del rilevatore di anomalie nell'account Azure.The Anomaly Detector containers send billing information to Azure, using an Anomaly Detector resource on your Azure account.

    Le query sul contenitore vengono fatturate secondo il piano tariffario della risorsa di Azure usata per <ApiKey>.Queries to the container are billed at the pricing tier of the Azure resource that's used for the <ApiKey>.

    I contenitori di Servizi cognitivi di Azure non vengono concessi in licenza per l'esecuzione senza connessione all'endpoint di fatturazione per la misurazione.Azure Cognitive Services containers aren't licensed to run without being connected to the billing endpoint for metering. È necessario consentire ai contenitori di comunicare sempre le informazioni di fatturazione all'endpoint di fatturazione.You must enable the containers to communicate billing information with the billing endpoint at all times. I contenitori di Servizi cognitivi non inviano a Microsoft i dati dei clienti, ad esempio l'immagine o il testo analizzato.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

    Connect to AzureConnect to Azure

    Per eseguire il contenitore, sono necessari i valori dell'argomento di fatturazione.The container needs the billing argument values to run. Questi valori consentono al contenitore di connettersi all'endpoint di fatturazione.These values allow the container to connect to the billing endpoint. Il contenitore segnala l'utilizzo ogni 10-15 minuti.The container reports usage about every 10 to 15 minutes. Se il contenitore non si connette ad Azure entro la finestra temporale consentita, continuerà a essere eseguito ma non fornirà query finché l'endpoint di fatturazione non verrà ripristinato.If the container doesn't connect to Azure within the allowed time window, the container continues to run but doesn't serve queries until the billing endpoint is restored. Il tentativo di connessione viene effettuato 10 volte nello stesso intervallo di tempo di 10-15 minuti.The connection is attempted 10 times at the same time interval of 10 to 15 minutes. Se non è possibile stabilire la connessione con l'endpoint di fatturazione entro i 10 tentativi, l'esecuzione del contenitore verrà arrestata.If it can't connect to the billing endpoint within the 10 tries, the container stops running.

    Argomenti di fatturazioneBilling arguments

    Per avviare il contenitore con il comando docker run, è necessario che vengano specificate tutte e tre le opzioni seguenti con valori validi:For the docker run command to start the container, all three of the following options must be specified with valid values:

    OpzioneOption DescrizioneDescription
    ApiKey Chiave API della risorsa di Servizi cognitivi usata per tenere traccia delle informazioni di fatturazione.The API key of the Cognitive Services resource that's used to track billing information.
    Il valore di questa opzione deve essere impostato su una chiave API per la risorsa di cui è stato effettuato il provisioning specificata in Billing.The value of this option must be set to an API key for the provisioned resource that's specified in Billing.
    Billing Endpoint della risorsa di Servizi cognitivi usata per tenere traccia delle informazioni di fatturazione.The endpoint of the Cognitive Services resource that's used to track billing information.
    Il valore di questa opzione deve essere impostato sull'URI dell'endpoint di una risorsa di Azure di cui è stato effettuato il provisioning.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
    Eula Indica che è la licenza per il contenitore è stata accettata.Indicates that you accepted the license for the container.
    Il valore di questa opzione deve essere impostato su accept.The value of this option must be set to accept.

    Per altre informazioni su queste opzioni, vedere Configurare i contenitori.For more information about these options, see Configure containers.

    Post di BLOGBlog posts

    Esempi per gli sviluppatoriDeveloper samples

    Gli esempi per gli sviluppatori sono disponibili nel repository GitHub.Developer samples are available at our GitHub repository.

    Visualizza il webinarView webinar

    Partecipare al webinar per saperne di più sugli argomenti seguenti:Join the webinar to learn about:

    • Come distribuire Servizi cognitivi in qualsiasi computer con DockerHow to deploy Cognitive Services to any machine using Docker
    • Come distribuire Servizi cognitivi nel servizio Azure ContainerHow to deploy Cognitive Services to AKS

    RiepilogoSummary

    In questo articolo sono stati illustrati i concetti e il flusso di lavoro per il download, l'installazione e l'esecuzione di contenitori di rilevamento anomalie.In this article, you learned concepts and workflow for downloading, installing, and running Anomaly Detector containers. In sintesi:In summary:

    • Il rilevatore di anomalie fornisce un contenitore Linux per Docker, incapsulando il rilevamento delle anomalie con batch e streaming, l'inferenza prevista e l'ottimizzazione della sensibilità.Anomaly Detector provides one Linux container for Docker, encapsulating anomaly detection with batch vs streaming, expected range inference, and sensitivity tuning.
    • Le immagini del contenitore vengono scaricate da un'anteprima privata di Azure Container Registry dedicata per i contenitori.Container images are downloaded from a private Azure Container Registry dedicated for containers preview.
    • Le immagini dei contenitori vengono eseguite in Docker.Container images run in Docker.
    • È possibile usare l'API REST o l'SDK per chiamare le operazioni nei contenitori dei rilevatori di anomalie specificando l'URI host del contenitore.You can use either the REST API or SDK to call operations in Anomaly Detector containers by specifying the host URI of the container.
    • Quando si crea un'istanza di un contenitore, è necessario specificare le informazioni di fatturazione.You must specify billing information when instantiating a container.

    Importante

    I contenitori di Servizi cognitivi non sono concessi in licenza per l'esecuzione senza essere connessi ad Azure per la misurazione.Cognitive Services containers are not licensed to run without being connected to Azure for metering. I clienti devono consentire ai contenitori di comunicare sempre le informazioni di fatturazione al servizio di misurazione.Customers need to enable the containers to communicate billing information with the metering service at all times. I contenitori di servizi cognitivi non inviano i dati dei clienti (ad esempio, i dati delle serie temporali analizzati) a Microsoft.Cognitive Services containers do not send customer data (e.g., the time series data that is being analyzed) to Microsoft.

    Passaggi successiviNext steps