Instale e execute os recipientes Docker para a API do Detetor de Anomalias

Nota

A localização da imagem do contentor mudou recentemente. Leia este artigo para ver a localização atualizada deste recipiente.

Os recipientes permitem-lhe utilizar o Detetor de Anomalias API o seu próprio ambiente. Os contentores são ótimos para requisitos específicos de governação de dados e segurança. Neste artigo você vai aprender a descarregar, instalar e executar um recipiente de detetor de anomalias.

O Detetor de Anomalias oferece um único recipiente Docker para a utilização da API no local. Utilize o recipiente para:

  • Use os algoritmos do Detetor de Anomalias nos seus dados
  • Monitorize os dados de streaming e detete anomalias à medida que ocorrem em tempo real.
  • Detete anomalias em todo o seu conjunto de dados como um lote.
  • Detete pontos de mudança de tendência no seu conjunto de dados como um lote.
  • Ajuste a sensibilidade do algoritmo de deteção de anomalias para melhor se adaptar aos seus dados.

Para obter informações detalhadas sobre a API, consulte:

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Deve encontrar os seguintes pré-requisitos antes de utilizar recipientes do Detetor de Anomalias:

Necessário Objetivo
Motor do Docker Precisa do Motor Docker instalado num computador anfitrião. O Docker oferece pacotes que configuram o ambiente do Docker no macOS, no Windows e no Linux. Para um manual de noções básicas do Docker e do contentor, veja a descrição geral do Docker.

O Docker deve ser configurado para permitir que os contentores se conectem e enviem dados de faturação para a Azure.

No Windows, o Docker também deve ser configurado para suportar recipientes Linux.

Familiaridade com Docker Você deve ter uma compreensão básica de conceitos docker, como registos, repositórios, contentores e imagens de contentores, bem como conhecimento de docker comandos básicos.
Recurso de detetor de anomalias Para utilizar estes recipientes, deve ter:

Um recurso de detetor de anomalia azure para obter a chave API associada e o ponto final URI. Ambos os valores estão disponíveis nas páginas do detetor de anomalias do portal Azure e das páginas Keys e são obrigados a iniciar o contentor.

{API_KEY}: Uma das duas teclas de recursos disponíveis na página Keys

{ENDPOINT_URI}: O ponto final, conforme fornecido na página 'Vista Geral',

Recolha de parâmetros necessários

Existem três parâmetros primários para todos os contentores dos Serviços Cognitivos que são necessários. O contrato de licença de utilizador final (EULA) deve estar presente com um valor de accept . Além disso, tanto um URL endpoint como uma chave API são necessários.

Endpoint URI {ENDPOINT_URI}

O valor Endpoint URI está disponível na página geral do portal Azure do recurso correspondente do Serviço Cognitivo. Navegue para a página overview, paire sobre o Ponto final e aparecerá um Copy to clipboard ícone. Copiar e usar sempre que necessário.

Reúna o ponto final uri para utilização posterior

Chaves {API_KEY}

Esta chave é utilizada para iniciar o contentor e está disponível na página Chaves do portal Azure do recurso serviço cognitivo correspondente. Navegue na página Chaves e clique no Copy to clipboard ícone.

Pegue uma das duas chaves para uso posterior

Importante

Estas chaves de subscrição são usadas para aceder à sua API de Serviço Cognitivo. Não partilhem as chaves. Guarde-os de forma segura, por exemplo, utilizando o Cofre da Chave Azure. Recomendamos também a regeneração regular destas teclas. Apenas uma chave é necessária para fazer uma chamada da API. Ao regenerar a primeira chave, pode utilizar a segunda chave para o acesso continuado ao serviço.

O computador anfitrião

O hospedeiro é um computador baseado em X64 que gere o contentor Docker. Pode ser um computador nas suas instalações ou um serviço de hospedagem Docker em Azure, tais como:

Requisitos e recomendações do contentor

A tabela a seguir descreve os núcleos e memórias mínimos e recomendados da CPU para alocar para o detetor de anomalias.

QPS (Consultas por segundo) Mínimo Recomendado
10 QPS 4 núcleo, memória de 1-GB 8 núcleo de memória 2-GB
20 QPS 8 núcleo, memória de 2 GB 16 núcleo de memória 4-GB

Cada núcleo deve ser pelo menos 2,6 gigahertz (GHz) ou mais rápido.

O núcleo e a memória correspondem às --cpus --memory definições e configurações, que são utilizadas como parte do docker run comando.

Obtenha a imagem do recipiente com docker pull

Utilize o docker pull comando para descarregar uma imagem de contentor.

Contentor Repositório
cognitive-services-anomalia-detector mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest

Dica

Pode utilizar o comando de imagens estivadores para listar as imagens do seu contentor descarregado. Por exemplo, o seguinte comando lista o ID, repositório e etiqueta de cada imagem de recipiente descarregado, formatado como tabela:

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

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

Docker puxa para o recipiente do Detetor de Anomalias

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

Como usar o recipiente

Uma vez que o recipiente esteja no computador anfitrião,utilize o seguinte processo para trabalhar com o recipiente.

  1. Executar o recipiente,com as definições de faturação necessárias. Mais exemplos do docker run comando estão disponíveis.
  2. Consultar o ponto final de previsão do recipiente.

Executar o recipiente com docker run

Use o comando de execução do estivador para executar o contentor. Consulte a recolha dos parâmetros necessários para obter detalhes sobre como obter os {ENDPOINT_URI} valores e {API_KEY} valores.

Exemplos do docker run comando estão disponíveis.

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}

Este comando:

  • Executa um detetor de anomalias a partir da imagem do recipiente
  • Atribui um núcleo de CPU e 4 gigabytes (GB) de memória
  • Expõe a porta TCP 5000 e atribui uma pseudo-TTY para o contentor
  • Remove automaticamente o recipiente depois de sair. A imagem do recipiente ainda está disponível no computador anfitrião.

Importante

As Eula Billing opções , e ApiKey opções devem ser especificadas para executar o recipiente; caso contrário, o recipiente não arranca. Para mais informações, consulte Billing.

Executando vários contentores no mesmo anfitrião

Se pretender executar vários recipientes com portas expostas, certifique-se de que funciona cada recipiente com uma porta diferente. Por exemplo, executar o primeiro contentor no porto 5000 e o segundo contentor no porto 5001.

Substitua o <container-registry> e <container-name> pelos valores dos recipientes que utiliza. Estes não têm de ser o mesmo recipiente. Pode ter o recipiente do Detetor de Anomalias e o recipiente LUIS a funcionar em conjunto no HOST ou pode ter vários recipientes de detetor de anomalias em funcionamento.

Executar o primeiro contentor no porto 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}

Executar o segundo contentor na porta 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}

Cada recipiente subsequente deve estar numa porta diferente.

Consultar o ponto final de predição do contentor

O contentor fornece APIs de ponto final de predição de consulta com base em REST.

Utilize o anfitrião, http://localhost:5000, para APIs de contentor.

Validar que um contentor está a funcionar

Há várias formas de validar que o contentor está a funcionar. Localize o endereço IP externo e a porta exposta do recipiente em questão e abra o seu navegador web favorito. Utilize os urls de vários pedidos abaixo para validar o recipiente em funcionamento. O exemplo de pedido URLs listados abaixo são http://localhost:5000 , mas o seu recipiente específico pode variar. Tenha em mente que deve confiar no endereço IP externo do seu contentor e na porta exposta.

URL do Pedido Objetivo
http://localhost:5000/ O contentor fornece uma home page.
http://localhost:5000/ready Solicitado com GET, isto fornece uma verificação de que o recipiente está pronto para aceitar uma consulta contra o modelo. Este pedido pode ser utilizado para sondas kubernetes de prontidão e prontidão.
http://localhost:5000/status Também solicitado com GET, isto verifica se a chave api utilizada para iniciar o contentor é válida sem causar uma consulta de ponto final. Este pedido pode ser utilizado para sondas kubernetes de prontidão e prontidão.
http://localhost:5000/swagger O contentor fornece um conjunto completo de documentação para os pontos finais e uma funcionalidade Experimentar. Com esta funcionalidade, pode introduzir as suas definições num formulário HTML baseado na Web e fazer a consulta sem ter de escrever qualquer código. Após o retorno da consulta, é fornecido um comando CURL de exemplo para demonstrar os cabeçalhos HTTP e o formato corporal que é necessário.

Página inicial do contentor

Parar o contentor

Para desligar o recipiente, no ambiente da linha de comando onde o recipiente está em funcionamento, selecione Ctrl+C.

Resolução de problemas

Se executar o recipiente com um suporte de saída e um registo ativado, o recipiente gera ficheiros de registo que são úteis para resolver problemas que ocorrem durante o arranque ou execução do recipiente.

Dica

Para obter mais informações e orientações sobre resolução de problemas, consulte os recipientes dos Serviços Cognitivos frequentemente questionados (FAQ).

Faturação

Os contentores do Detetor de Anomalias enviam informações de faturação para a Azure, utilizando um recurso de detetor de anomalias na sua conta Azure.

As consultas ao contentor são cobradas no nível de preços do recurso Azure que é usado para ApiKey .

Os recipientes Azure Cognitive Services não estão licenciados para funcionar sem estarem ligados ao ponto final de medição/faturação. Deve permitir que os recipientes comuniquem sempre informações de faturação com o ponto final de faturação. Os contentores dos Serviços Cognitivos não enviam dados dos clientes, como a imagem ou texto que está a ser analisado, para a Microsoft.

Ligar ao Azure

O contentor precisa que os valores do argumento da faturação corram. Estes valores permitem que o recipiente se conecte ao ponto final de faturação. O recipiente relata o uso a cada 10 a 15 minutos. Se o recipiente não ligar ao Azure dentro da janela de tempo permitida, o recipiente continua a funcionar, mas não serve consultas até que o ponto final de faturação seja restaurado. A ligação é tentada 10 vezes ao mesmo tempo de 10 a 15 minutos. Se não conseguir ligar-se ao ponto final de faturação dentro dos 10 tentativas, o recipiente deixa de servir os pedidos. Consulte o contentor de serviços cognitivos FAQ para um exemplo das informações enviadas à Microsoft para faturação.

Argumentos de faturação

docker run O comando iniciará o contentor quando as três opções seguintes forem fornecidas com valores válidos:

Opção Descrição
ApiKey A chave API do recurso Serviços Cognitivos que é usado para rastrear informações de faturação.
O valor desta opção deve ser definido como uma chave API para o recurso provisionado especificado em Billing .
Billing O ponto final do recurso dos Serviços Cognitivos que é usado para rastrear a informação de faturação.
O valor desta opção deve ser definido como uri ponto final de um recurso Azure provisionado.
Eula Indica que aceitou a licença para o contentor.
O valor desta opção deve ser definido para ser aceite.

Para obter mais informações sobre estas opções, consulte os recipientes Configure.

Resumo

Neste artigo, aprendeu conceitos e fluxo de trabalho para descarregar, instalar e executar recipientes de Detetor de Anomalias. Em resumo:

  • O Detetor de Anomalias fornece um recipiente Linux para Docker, encapsulando a deteção de anomalias com streaming de lote vs, inferência de alcance esperada e sintonização de sensibilidade.
  • As imagens do contentor são descarregadas a partir de um registo privado de contentores Azure dedicado a contentores.
  • Imagens de contentores correm em Docker.
  • Pode utilizar a API REST ou a SDK para ligar para operações em contentores do Detetor de Anomalias, especificando o hospedeiro URI do recipiente.
  • Deve especificar as informações de faturação ao instantaneamente um recipiente.

Importante

Os recipientes dos Serviços Cognitivos não estão licenciados para funcionar sem estarem ligados ao Azure para a medição. Os clientes precisam de permitir que os contentores comuniquem informações de faturação com o serviço de medição em todos os momentos. Os contentores dos Serviços Cognitivos não enviam dados dos clientes (por exemplo, os dados da série de tempo que está a ser analisado) para a Microsoft.

Passos seguintes