Installare ed eseguire contenitori Docker per l'API Rilevamento anomalie
Importante
A partire dal 20 settembre 2023 non sarà possibile creare nuove risorse di Rilevamento anomalie. Il servizio Rilevamento anomalie verrà ritirato il 1° ottobre 2026.
Nota
La posizione dell'immagine del contenitore è stata modificata di recente. Leggere questo articolo per visualizzare la posizione aggiornata per questo contenitore.
I contenitori consentono di usare l'API Rilevamento anomalie nel proprio ambiente. I contenitori sono ottimi per requisiti specifici di sicurezza e governance dei dati. In questo articolo si apprenderà come scaricare, installare ed eseguire un contenitore di Rilevamento anomalie.
Rilevamento anomalie offre un singolo contenitore Docker per l'uso dell'API in locale. Usare il contenitore per:
- Usare gli algoritmi di Rilevamento anomalie sui dati
- Monitorare i dati in streaming e rilevare le anomalie non appena si verificano in tempo reale.
- Rilevare le anomalie nel set di dati come batch.
- Rilevare i punti di modifica di una tendenza nel set di dati come batch.
- Modificare la sensibilità degli algoritmi di Rilevamento anomalie per adattarli meglio ai dati.
Per informazioni dettagliate sull'API, vedere:
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Prerequisiti
Prima di usare i contenitori di Rilevamento anomalie, è necessario soddisfare i prerequisiti seguenti:
Richiesto | Scopo |
---|---|
Motore Docker | È necessario il motore Docker installato in un computer host. Docker offre pacchetti per la configurazione dell'ambiente Docker in macOS, Windows e Linux. Per una panoramica dei concetti fondamentali relativi a Docker e ai contenitori, vedere Docker overview (Panoramica di Docker). Docker deve essere configurato per consentire ai contenitori di connettersi ai dati di fatturazione e inviarli ad Azure. In Windows Docker deve essere configurato anche per supportare i contenitori Linux. |
Familiarità con 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. |
Risorsa Rilevamento anomalie | Per usare questi contenitori, è necessario avere: Una risorsa Rilevamento anomalie di Azure per ottenere la chiave API e l'URI dell'endpoint associati. Entrambi i valori sono disponibili nelle pagine Chiavi e Panoramica di Rilevamento anomalie nel portale di Azure e sono necessari per avviare il contenitore. {API_KEY}: una delle due chiavi della risorsa disponibili nella pagina Chiavi {ENDPOINT_URI}: l'endpoint fornito nella pagina Panoramica |
Raccogliere i parametri necessari
Sono necessari tre parametri principali per tutti i contenitori di Intelligenza artificiale di Azure. Le condizioni di licenza per il software Microsoft devono essere presenti con un valore di accettazione. Sono necessari anche un URI dell’endpoint e una chiave API.
URI endpoint
Il valore {ENDPOINT_URI}
è disponibile nella pagina Panoramica del portale di Azure della risorsa di Servizi di Azure AI corrispondente. Accedere alla pagina Panoramica e passare il puntatore del mouse sull'endpoint. Verrà visualizzata un'icona Copia negli Appunti . Copiare e usare l'endpoint se necessario.
Chiavi
Il valore {API_KEY}
viene usato per avviare il contenitore ed è disponibile nella pagina Chiavi del portale di Azure della risorsa di Servizi di Azure AI corrispondente. Accedere alla pagina Chiavi e selezionare l'icona Copia negli Appunti .
Importante
Queste chiavi di sottoscrizione vengono usate per accedere all'API Servizi di Azure AI. Non condividere le chiavi. Archiviarle in modo sicuro. Usare, ad esempio, Azure Key Vault. È anche consigliabile rigenerare queste chiavi regolarmente. Per effettuare una chiamata API è necessaria una sola chiave. Quando si rigenera la prima chiave, è possibile usare la seconda chiave per mantenere l'accesso al servizio.
Computer host
L'host è un computer con architettura basata su x64 che esegue il contenitore Docker. Può essere un computer dell'ambiente locale o un servizio di hosting Docker in Azure, tra cui:
- Servizio Azure Kubernetes.
- Istanze di Azure Container.
- Cluster Kubernetes distribuito in Azure Stack. Per altre informazioni, vedere Deploy Kubernetes to Azure Stack (Distribuire Kubernetes in Azure Stack).
Indicazioni e requisiti per i contenitori
La tabella seguente indica il valore minimo e consigliato per i core della CPU e la memoria da allocare per il contenitore di Rilevamento anomalie.
QPS(query al secondo) | Requisiti minimi | Requisiti consigliati |
---|---|---|
10 QPS | 4 core, 1 GB di memoria | 8 core, 2 GB di memoria |
20 QPS | 8 core, 2 GB di memoria | 16 core, 4 GB di memoria |
Ogni core deve essere di almeno 2,6 gigahertz (GHz) o superiore.
Core e memoria corrispondono alle impostazioni --cpus
e --memory
che vengono usate come parte del comando docker run
.
Ottenere l'immagine del contenitore con docker pull
L'immagine del contenitore di Rilevamento anomalie è disponibile nel registro contenitori mcr.microsoft.com
. Si trova all'interno del repository azure-cognitive-services/decision
ed è denominata anomaly-detector
. Il nome completo dell'immagine del contenitore è mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector
.
Per usare la versione più recente del contenitore, è possibile usare il tag latest
. È anche possibile trovare un elenco completo dei tag di immagini in MCR.
Usare il comando docker pull
per scaricare un'immagine del contenitore.
Contenitore | Repository |
---|---|
cognitive-services-anomaly-detector | mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest |
Suggerimento
Quando si usa docker pull
, prestare particolare attenzione alla combinazione di maiuscole e minuscole del registro contenitori, del repository, del nome dell'immagine del contenitore e del tag corrispondente. Per tali regole è prevista la distinzione tra maiuscole e minuscole.
Suggerimento
È possibile usare il comando docker images per visualizzare l'elenco delle immagini dei contenitori scaricate. Ad esempio, il comando seguente visualizza l'ID, il repository e il tag di ogni immagine del contenitore scaricata, in formato tabella:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Docker pull per il contenitore di Rilevamento anomalie
docker pull mcr.microsoft.com/azure-cognitive-services/anomaly-detector:latest
Come usare il contenitore
Dopo aver aggiunto il contenitore nel computer host, seguire questa procedura per usare il contenitore.
- Eseguire il contenitore, con le impostazioni di fatturazione necessarie. Sono disponibili altri esempi del comando
docker run
. - Eseguire le query sull'endpoint di stima del contenitore.
Eseguire il contenitore con docker run
Usare il comando docker run per eseguire il contenitore. Per dettagli su come ottenere i valori di {ENDPOINT_URI}
e {API_KEY}
, vedere Raccogliere i parametri obbligatori.
Sono disponibili esempi del comando docker run
.
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}
Questo comando:
- Esegue un contenitore di Rilevamento anomalie dall'immagine del contenitore
- Alloca un core CPU e 4 GB di memoria
- Espone la porta TCP 5000 e alloca un pseudo terminale TTY per il contenitore
- Rimuove automaticamente il contenitore dopo la chiusura. L'immagine del contenitore rimane disponibile nel computer host.
Importante
È necessario specificare le opzioni Eula
, Billing
e ApiKey
per eseguire il contenitore. In caso contrario, il contenitore non si avvia. Per altre informazioni, vedereFatturazione.
Esecuzione di più contenitori nello stesso host
Se si intende eseguire più contenitori con porte esposte, assicurarsi di eseguire ogni contenitore con una porta diversa. Eseguire ad esempio il primo contenitore sulla porta 5000 e il secondo sulla porta 5001.
Sostituire <container-registry>
e <container-name>
con i valori dei contenitori usati. Questi non devono trovarsi necessariamente nello stesso contenitore. È possibile avere il contenitore di Rilevamento anomalie e il contenitore LUIS in esecuzione insieme nell'HOST oppure è possibile avere più contenitori di Rilevamento anomalie in esecuzione.
Eseguire il primo contenitore sulla porta host 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 host 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}
Ogni contenitore successivo deve essere su una porta diversa.
Eseguire una query sull'endpoint di stima del contenitore
Il contenitore fornisce le API dell'endpoint di stima della query basata su REST.
Usare l'host http://localhost:5000 per le API del contenitore.
Verificare che il contenitore sia in esecuzione
Per verificare se il contenitore è in esecuzione, sono disponibili diverse opzioni. Individuare l'indirizzo IP esterno e la porta esposta del contenitore in questione, quindi aprire il Web browser di scelta. Usare i vari URL di richiesta seguenti per verificare che il contenitore sia in esecuzione. Gli URL di richiesta di esempio elencati di seguito sono http://localhost:5000
, ma il proprio contenitore specifico potrebbe variare. Assicurarsi di usare l'indirizzo IP esterno e la porta esposta del contenitore.
Richiesta URL | Scopo |
---|---|
http://localhost:5000/ |
Il contenitore fornisce un home page. |
http://localhost:5000/ready |
Questo URL, richiesto con un'operazione GET, verifica che il contenitore sia pronto per accettare una query sul modello. Questa richiesta può essere usata per i probe di attività e di idoneità di Kubernetes. |
http://localhost:5000/status |
Questo URL, anch'esso richiesto con un'operazione GET, verifica se la chiave API usata per avviare il contenitore sia valida senza che sia necessaria una query sull'endpoint. Questa richiesta può essere usata per i probe di attività e di idoneità di Kubernetes. |
http://localhost:5000/swagger |
Il contenitore fornisce un set completo di documentazione per gli endpoint e una funzionalità Prova. Con questa funzionalità, è possibile immettere le impostazioni in un modulo HTML basato sul Web ed eseguire la query senza scrivere codice. 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. |
Arrestare il contenitore
Per arrestare il contenitore, nell'ambiente della riga di comando in cui è in esecuzione il contenitore premere CTRL+C.
Risoluzione dei problemi
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.
Suggerimento
Per altre informazioni sulla risoluzione dei problemi e per indicazioni, vedere Domande frequenti sui contenitori di Azure per intelligenza artificiale.
Se si verificano problemi durante l'esecuzione di un contenitore di Servizi di Azure AI, è possibile provare a usare il contenitore per la diagnostica di Microsoft. Usare questo contenitore per diagnosticare gli errori comuni nell'ambiente di distribuzione che potrebbero impedire il funzionamento previsto dei contenitori di Azure per intelligenza artificiale.
Per ottenere il contenitore, usare il comando docker pull
seguente:
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Quindi, eseguire il contenitore. Sostituire {ENDPOINT_URI}
con l'endpoint e {API_KEY}
con la chiave per la risorsa:
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Il contenitore eseguirà il test della connettività di rete per l'endpoint di fatturazione.
Fatturazione
I contenitori di Rilevamento anomalie inviano informazioni di fatturazione ad Azure usando una risorsa Rilevamento anomalie nell'account Azure.
Le query sul contenitore vengono fatturate secondo il piano tariffario della risorsa di Azure usata per il parametro ApiKey
.
I contenitori di Servizi di Azure AI non possiedono la licenza per l'esecuzione senza connessione all'endpoint di misurazione o fatturazione. È necessario consentire ai contenitori di comunicare sempre le informazioni di fatturazione all'endpoint di fatturazione. I contenitori di Servizi di Azure AI non inviano a Microsoft i dati dei clienti, ad esempio l'immagine o il testo analizzato.
Connect to Azure
Per eseguire il contenitore, sono necessari i valori dell'argomento di fatturazione. Questi valori consentono al contenitore di connettersi all'endpoint di fatturazione. Il contenitore segnala l'utilizzo ogni 10-15 minuti. 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. Il tentativo di connessione viene effettuato 10 volte nello stesso intervallo di tempo di 10-15 minuti. Se non è possibile stabilire la connessione con l'endpoint di fatturazione dopo 10 tentativi, il contenitore non potrà più gestire le richieste. Per un esempio di informazioni inviate a Microsoft per la fatturazione, vedere le Domande frequenti sui contenitori di Servizi di Azure AI.
Argomenti di fatturazione
Il comando docker run
avvierà il contenitore quando vengono forniti valori validi per tutte e tre le opzioni seguenti:
Opzione | Descrizione |
---|---|
ApiKey |
Chiave API della risorsa di Servizi di Azure AI usata per tenere traccia delle informazioni di fatturazione. Il valore di questa opzione deve essere impostato su una chiave API per la risorsa di cui è stato effettuato il provisioning specificata in Billing . |
Billing |
Endpoint della risorsa di Servizi di Azure AI usata per tenere traccia delle informazioni di fatturazione. Il valore di questa opzione deve essere impostato sull'URI dell'endpoint di una risorsa di Azure di cui è stato effettuato il provisioning. |
Eula |
Indica che è la licenza per il contenitore è stata accettata. Il valore di questa opzione deve essere impostato su accept. |
Per altre informazioni su queste opzioni, vedere Configurare i contenitori.
Riepilogo
In questo articolo sono stati descritti i concetti e il flusso di lavoro per scaricare, installare ed eseguire i contenitori di Rilevamento anomalie. Riepilogo:
- Rilevamento anomalie fornisce un contenitore Linux per Docker, incapsulando il rilevamento anomalie con batch o streaming, inferenza dell'intervallo previsto e ottimizzazione della sensibilità.
- Le immagini dei contenitori vengono scaricate da un'istanza di Registro Azure Container privata dedicata ai contenitori.
- Le immagini dei contenitori vengono eseguite in Docker.
- È possibile usare l'API REST o l'SDK per chiamare le operazioni nei contenitori di Rilevamento anomalie specificando l'URI dell'host del contenitore.
- Quando si crea un'istanza di un contenitore, è necessario specificare le informazioni di fatturazione.
Importante
I contenitori di Azure per intelligenza artificiale non sono concessi in licenza per l'esecuzione senza essere connessi ad Azure per la misurazione. I clienti devono consentire ai contenitori di comunicare sempre le informazioni di fatturazione al servizio di misurazione. I contenitori di Azure per intelligenza artificiale non inviano i dati dei clienti (ad esempio, i dati delle serie temporali analizzati) a Microsoft.
Passaggi successivi
- Rivedere Configurare i contenitori per informazioni sulle impostazioni di configurazione.
- Distribuire un contenitore di Rilevamento anomalie in Istanze di Azure Container
- Altre informazioni sul servizio API Rilevamento anomalie