Instalar e executar contêineres do Docker para a API do Detetor de Anomalias

Importante

A partir de 20 de setembro de 2023, você não poderá criar novos recursos do Detetor de Anomalias. O serviço de Detetor de Anomalias está a ser desativado no dia 1 de outubro de 2026.

Nota

O local da imagem do contêiner foi alterado recentemente. Leia este artigo para ver o local atualizado para este contêiner.

Os contêineres permitem que você use a API do Detetor de Anomalias em seu próprio ambiente. Os contentores são ótimos para requisitos específicos de governação de dados e segurança. Neste artigo, você aprenderá como baixar, instalar e executar um contêiner do Detetor de Anomalias.

O Detetor de Anomalias oferece um único contêiner Docker para usar a API localmente. Utilize o contentor para:

  • Use os algoritmos do Detetor de Anomalias em seus dados
  • Monitore dados de streaming e detete anomalias à medida que ocorrem em tempo real.
  • Detete anomalias em todo o conjunto de dados como um lote.
  • Detete pontos de mudança de tendência em seu conjunto de dados como um lote.
  • Ajuste a sensibilidade do algoritmo de deteção de anomalias para melhor se adequar 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

Você deve atender aos seguintes pré-requisitos antes de usar os contêineres do Detetor de Anomalias:

Obrigatório Objetivo
Motor do Docker Você precisa do Docker Engine instalado em um computador host. 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 contêineres se conectem e enviem dados de cobrança para o Azure.

No Windows, o Docker também deve ser configurado para suportar contêineres Linux.

Familiaridade com o Docker Você deve ter uma compreensão básica dos conceitos do Docker, como registros, repositórios, contêineres e imagens de contêiner, bem como conhecimento de comandos básicos docker .
Recurso Detetor de Anomalias Para utilizar estes contentores, deve ter:

Um recurso do Azure Anomaly Detetor para obter a chave de API associada e o URI do ponto de extremidade. Ambos os valores estão disponíveis nas páginas Visão Geral do Detetor de Anomalias e Chaves do portal do Azure e são necessários para iniciar o contêiner.

{API_KEY}: Uma das duas chaves de recurso disponíveis na página Chaves

{ENDPOINT_URI}: O ponto de extremidade conforme fornecido na página Visão geral

Reúna os parâmetros necessários

Três parâmetros principais para todos os contêineres de IA do Azure são necessários. Os Termos de Licença para Software Microsoft devem estar presentes com um valor de aceitação. Um URI do ponto de extremidade e uma chave de API também são necessários.

URI do ponto de extremidade

O {ENDPOINT_URI} valor está disponível na página Visão geral do portal do Azure do recurso de serviços de IA do Azure correspondente. Vá para a página Visão geral , passe o mouse sobre o ponto de extremidade e um ícone Copiar para área de transferência será exibido. Copie e use o ponto de extremidade onde necessário.

Screenshot that shows gathering the endpoint URI for later use.

Chaves

O {API_KEY} valor é usado para iniciar o contêiner e está disponível na página Chaves do portal do Azure do recurso de serviços de IA do Azure correspondente. Vá para a página Teclas e selecione o ícone Copiar para área de transferência .

Screenshot that shows getting one of the two keys for later use.

Importante

Essas chaves de assinatura são usadas para acessar sua API de serviços de IA do Azure. Não partilhe as suas chaves. Armazene-os de forma segura. Por exemplo, use o Azure Key Vault. Também recomendamos que regenere essas chaves regularmente. Só é necessária uma chave para fazer uma chamada à API. Ao regenerar a primeira chave, você pode usar a segunda chave para acesso contínuo ao serviço.

O computador host

O host é um computador baseado em x64 que executa o contêiner do Docker. Pode ser um computador em suas instalações ou um serviço de hospedagem do Docker no Azure, como:

Requisitos e recomendações de contêineres

A tabela a seguir descreve os núcleos de CPU e a memória mínimos e recomendados a serem alocados para o contêiner do Detetor de Anomalias.

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

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

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

Obtenha a imagem do contêiner com docker pull

A imagem do contêiner do Detetor de Anomalias pode ser encontrada no sindicato de registro do mcr.microsoft.com contêiner. Ele reside dentro do azure-cognitive-services/decision repositório e é chamado anomaly-detectorde . O nome da imagem de contêiner totalmente qualificada é mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector.

Para usar a versão mais recente do contêiner, você pode usar a latest tag . Você também pode encontrar uma lista completa de tags de imagem no MCR.

Use o docker pull comando para baixar uma imagem de contêiner.

Contentor Repositório
cognitivo-serviços-detector de anomalias mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest

Gorjeta

Ao usar docker pullo , preste muita atenção ao invólucro do registro do contêiner, repositório, nome da imagem do contêiner e tag correspondente. Diferenciam maiúsculas de minúsculas.

Gorjeta

Você pode usar o comando docker images para listar as imagens de contêiner baixadas. Por exemplo, o comando a seguir lista o ID, o repositório e a tag de cada imagem de contêiner baixada, formatada como uma tabela:

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

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

Puxe do Docker para o contêiner do Detetor de Anomalias

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

Como utilizar o recipiente

Quando o contêiner estiver no computador host, use o seguinte processo para trabalhar com o contêiner.

  1. Execute o contêiner, com as configurações de faturamento necessárias. Mais exemplos do docker run comando estão disponíveis.
  2. Consulte o ponto de extremidade de previsão do contêiner.

Execute o contêiner com docker run

Use o comando docker run para executar o contêiner. Consulte reunir os parâmetros necessários para obter detalhes sobre como obter os{ENDPOINT_URI} valores e {API_KEY} .

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 contêiner do Detetor de Anomalias a partir da imagem do contêiner
  • Aloca um núcleo de CPU e 4 gigabytes (GB) de memória
  • Expõe a porta TCP 5000 e aloca um pseudo-TTY para o contêiner
  • Remove automaticamente o recipiente depois que ele sai. A imagem do contêiner ainda está disponível no computador host.

Importante

As Eulaopções , e devem ApiKey ser especificadas para executar o contêiner, caso contrário, Billingo contêiner não será iniciado. Para obter mais informações, consulte Faturamento.

Executando vários contêineres no mesmo host

Se você pretende executar vários contêineres com portas expostas, certifique-se de executar cada contêiner com uma porta diferente. Por exemplo, execute o primeiro contêiner na porta 5000 e o segundo contêiner na porta 5001.

Substitua o <container-registry> e <container-name> pelos valores dos contêineres que você usa. Estes não têm de ser o mesmo recipiente. Você pode ter o contêiner do Detetor de Anomalias e o contêiner LUIS funcionando juntos no HOST ou pode ter vários contêineres do Detetor de Anomalias em execução.

Execute o primeiro contêiner na 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}

Execute o segundo contêiner na 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}

Cada contêiner subsequente deve estar em um porto 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 se um contêiner está em execução

Há várias maneiras de validar se o contêiner está em execução. Localize o endereço IP externo e a porta exposta do contêiner em questão e abra seu navegador da Web favorito. Use as várias URLs de solicitação a seguir para validar que o contêiner está em execução. Os URLs de solicitação de exemplo listados aqui são http://localhost:5000, mas seu contêiner específico pode variar. Certifique-se de confiar no endereço IP externo e na porta exposta do contêiner.

URL do Pedido Objetivo
http://localhost:5000/ O contentor fornece uma home page.
http://localhost:5000/ready Solicitada com GET, essa URL fornece uma verificação de que o contêiner está pronto para aceitar uma consulta no modelo. Essa solicitação pode ser usada para testes de vivacidade e prontidão do Kubernetes.
http://localhost:5000/status Também solicitada com GET, essa URL verifica se a chave de api usada para iniciar o contêiner é válida sem causar uma consulta de ponto de extremidade. Essa solicitação pode ser usada para testes de vivacidade e prontidão do Kubernetes.
http://localhost:5000/swagger O contentor fornece um conjunto completo de documentação para os pontos finais e uma funcionalidade Experimentar. Com esse recurso, você pode inserir suas configurações em um formulário HTML baseado na Web e fazer a consulta sem ter que escrever nenhum código. Depois que a consulta retorna, um comando CURL de exemplo é fornecido para demonstrar os cabeçalhos HTTP e o formato de corpo necessários.

Container's home page

Parar o contentor

Para desligar o contêiner, no ambiente de linha de comando em que o contêiner está sendo executado, selecione Ctrl+C.

Resolução de problemas

Se você executar o contêiner com uma montagem de saída e registro em log habilitados, o contêiner gerará arquivos de log que serão úteis para solucionar problemas que acontecem ao iniciar ou executar o contêiner.

Gorjeta

Para obter mais informações e orientações sobre solução de problemas, consulte Perguntas frequentes (FAQ) sobre contêineres de IA do Azure.

Se você estiver tendo problemas para executar um contêiner de serviços de IA do Azure, tente usar o contêiner de diagnóstico da Microsoft. Use esse contêiner para diagnosticar erros comuns em seu ambiente de implantação que podem impedir que os contêineres de IA do Azure funcionem conforme o esperado.

Para obter o contêiner, use o seguinte docker pull comando:

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

Em seguida, execute o contêiner. Substitua {ENDPOINT_URI} pelo ponto de extremidade e substitua {API_KEY} pela chave do recurso:

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

O contêiner testará a conectividade de rede com o ponto de extremidade de faturamento.

Faturação

Os contêineres do Detetor de Anomalias enviam informações de cobrança para o Azure, usando um recurso do Detetor de Anomalias em sua conta do Azure.

As consultas ao contêiner são cobradas na camada de preço do recurso do Azure usado para o ApiKey parâmetro.

Os contêineres de serviços de IA do Azure não são licenciados para serem executados sem estarem conectados ao ponto de extremidade de medição ou cobrança. Você deve habilitar os contêineres para comunicar informações de faturamento com o ponto de extremidade de faturamento em todos os momentos. Os contêineres de serviços de IA do Azure não enviam dados do cliente, como a imagem ou o texto que está sendo analisado, para a Microsoft.

Ligar ao Azure

O contêiner precisa dos valores do argumento de faturamento para ser executado. Esses valores permitem que o contêiner se conecte ao ponto de extremidade de faturamento. O contêiner relata o uso a cada 10 a 15 minutos. Se o contêiner não se conectar ao Azure dentro da janela de tempo permitida, o contêiner continuará a ser executado, mas não atenderá consultas até que o ponto de extremidade de cobrança seja restaurado. A conexão é tentada 10 vezes no mesmo intervalo de tempo de 10 a 15 minutos. Se ele não puder se conectar ao ponto de extremidade de faturamento dentro das 10 tentativas, o contêiner interromperá o atendimento de solicitações. Consulte as Perguntas frequentes sobre o contêiner de serviços de IA do Azure para obter um exemplo das informações enviadas à Microsoft para cobrança.

Argumentos de faturação

O docker run comando iniciará o contêiner quando todas as três opções a seguir forem fornecidas com valores válidos:

Opção Descrição
ApiKey A chave de API do recurso de serviços de IA do Azure que é usada para rastrear informações de cobrança.
O valor dessa opção deve ser definido como uma chave de API para o recurso provisionado especificado em Billing.
Billing O ponto de extremidade do recurso de serviços de IA do Azure usado para rastrear informações de cobrança.
O valor dessa opção deve ser definido como o URI do ponto de extremidade de um recurso provisionado do Azure.
Eula Indica que você aceitou a licença para o contêiner.
O valor desta opção deve ser definido como accept.

Para obter mais informações sobre essas opções, consulte Configurar contêineres.

Resumo

Neste artigo, você aprendeu conceitos e fluxo de trabalho para baixar, instalar e executar contêineres do Detetor de Anomalias. Em resumo:

  • O Detetor de Anomalias fornece um contêiner Linux para Docker, encapsulando a deteção de anomalias com lote vs streaming, inferência de alcance esperado e ajuste de sensibilidade.
  • As imagens de contêiner são baixadas de um Registro de Contêiner do Azure privado dedicado a contêineres.
  • As imagens de contêiner são executadas no Docker.
  • Você pode usar a API REST ou o SDK para chamar operações em contêineres do Detetor de Anomalias especificando o URI do host do contêiner.
  • Você deve especificar informações de faturamento ao instanciar um contêiner.

Importante

Os contêineres de IA do Azure não são licenciados para serem executados sem estarem conectados ao Azure para medição. Os clientes precisam permitir que os contêineres comuniquem informações de faturamento com o serviço de medição em todos os momentos. Os contêineres de IA do Azure não enviam dados do cliente (por exemplo, os dados de séries cronológicas que estão sendo analisados) para a Microsoft.

Próximos passos