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

Importante

A partir de 20 de setembro de 2023, não será possível criar novos recursos do Detector de Anomalias. O serviço Detector de Anomalias está sendo desativado em 1º de outubro de 2026.

Observação

O local da imagem de contêiner pode ter sido alterado recentemente. Leia este artigo para ver a localização atualizada do contêiner.

Os contêineres permitem que você use a API do Detector de Anomalias em seu próprio ambiente. Contêineres são excelentes para especificar requisitos de segurança e governança de dados. Neste artigo, você aprenderá a baixar, instalar e executar um contêiner do Detector de Anomalias.

O Detector de Anomalias oferece um único contêiner do Docker para usar a API no local. Use o contêiner para:

  • Usar os algoritmos do Detector de Anomalias em seus dados
  • Monitore dados de streaming e detecte anomalias conforme elas ocorrem em tempo real.
  • Detecte anomalias em todo o conjunto de dados como um lote.
  • Detectar pontos de alteração de tendência no conjunto de dados como um lote.
  • Ajuste a sensibilidade do algoritmo de detecção de anomalias para se adequar melhor aos seus dados.

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

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

Pré-requisitos

É necessário atender aos seguintes pré-requisitos antes de usar contêineres do Detector de Anomalias:

Obrigatório Finalidade
Mecanismo do Docker É necessário ter o Mecanismo Docker instalado em um computador host. O Docker fornece pacotes que configuram o ambiente do Docker no macOS, no Windows e no Linux. Para instruções sobre conceitos básicos do Docker e de contêiner, consulte a visão geral do Docker.

O Docker deve ser configurado para permitir que os contêineres conectem-se e enviem dados de cobrança para o Azure.

No Windows, o Docker também deve ser configurado para dar suporte a contêineres do Linux.

Familiaridade com o Docker É necessário ter uma compreensão básica de conceitos do Docker, como registros, repositórios, contêineres e imagens de contêiner, bem como conhecimento dos comandos básicos do docker.
Recurso do Detector de Anomalias Para usar esses contêineres, será necessário ter:

Um recurso do Detector de Anomalias do Azure usado para obter a chave de API e o URI do ponto de extremidade associados. Ambos os valores estão disponíveis nas páginas Visão Geral e Chaves do Detector de Anomalias 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 fornecido na página Visão Geral

Reunir os parâmetros necessários

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

URI do ponto de extremidade

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

Screenshot that shows gathering the endpoint URI for later use.

simétricas

O valor da {API_KEY} é usado para iniciar o contêiner e está disponível na página Chaves do portal do Azure do recurso dos serviços de IA do Azure correspondente. Acesse a página Chaves e selecione o ícone Copiar para a á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 a API dos serviços de IA do Azure. Não compartilhe suas chaves. Armazene-as com segurança. Por exemplo, use o Azure Key Vault. Também recomendamos que você regenere essas chaves regularmente. Apenas uma chave é necessária 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. Ele pode ser um computador local ou um serviço de hospedagem do Docker no Azure, como:

Recomendações e requisitos do contêiner

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

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

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

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

Obter a imagem de contêiner com docker pull

A imagem de contêiner do Detector de Anomalias pode ser encontrada na agregação do registro de contêiner mcr.microsoft.com. Ela reside no repositório azure-cognitive-services/decision e é chamada anomaly-detector. O nome da imagem de contêiner totalmente qualificado é mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector.

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

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

Contêiner Repositório
cognitive-services-anomaly-detector mcr.microsoft.com/azure-cognitive-services/decision/anomaly-detector:latest

Dica

Ao usar docker pull, preste muita atenção ao uso de maiúsculas do registro de contêiner, do repositório, do nome da imagem de contêiner e da tag correspondente. Eles fazem diferenciação de maiúsculas e minúsculas.

Dica

Você pode usar o comando imagens do estivador para listar as imagens do contêiner transferidas por download. Por exemplo, o comando a seguir lista o ID, o repositório e a tag de cada imagem do contêiner transferida por download, formatada como uma tabela:

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

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

Docker pull para o contêiner do Detector de Anomalias

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

Como usar o contêiner

Depois que o contêiner estiver no computador host, use o processo a seguir para trabalhar com o contêiner.

  1. Execute o contêiner com as configurações de cobrança necessárias. Há outros exemplos do comando docker run disponíveis.
  2. Consulte o ponto de extremidade de previsão do contêiner.

Executar o contêiner com docker run

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

Exemplos do comando docker run 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}

Esse comando:

  • Executa um contêiner de Detector de Anomalias da imagem de 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 contêiner depois que ele sai. A imagem de contêiner ainda fica disponível no computador host.

Importante

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

Executando vários contêineres no mesmo host

Se você pretende executar vários contêineres com portas expostas, execute 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 <container-registry> e <container-name> pelos valores dos contêineres que você usa. Eles não precisam estar no mesmo contêiner. Você pode ter o contêiner do Detector de Anomalias e o contêiner do LUIS em execução no HOST juntos, ou pode ter vários contêineres do Detector de Anomalias em execução.

Execute o primeiro contêiner na porta 5000 do host.

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 5001 do host.

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 seguinte deve estar em uma porta diferente.

Consultar o ponto de extremidade de previsão do contêiner

O contêiner fornece APIs de ponto de extremidade de previsão de consulta baseadas em REST.

Use o host, http://localhost:5000, para as APIs do contêiner.

Validar se um contêiner está em execução

Há várias maneiras de validar se um 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 se o contêiner está em execução. Os exemplos de URLs de solicitação listados aqui são http://localhost:5000, mas seu contêiner específico poderá variar. Dependa do endereço IP externo do seu contêiner e da porta exposta.

URL de Solicitação Finalidade
http://localhost:5000/ O contêiner fornece uma home page.
http://localhost:5000/ready Solicitada com GET, essa URL fornece uma verificação que indica que o contêiner está pronto para aceitar uma consulta no modelo. Essa solicitação pode ser usada para testes de preparação e de execução do Kubernetes.
http://localhost:5000/status Também solicitada com GET, essa URL verifica se a chave 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 preparação e de execução do Kubernetes.
http://localhost:5000/swagger O contêiner fornece um conjunto completo de documentação para os pontos de extremidade e um recurso Experimentar. Com esse recurso, é possível inserir suas configurações em um formulário HTML baseado na Web e realizar a consulta sem precisar escrever nenhum código. Após a consulta ser retornada, um exemplo de comando CURL será fornecido para demonstrar o formato do corpo e dos cabeçalhos HTTP exigidos.

Container's home page

Parar o contêiner

Para desligar o contêiner, no ambiente de linha de comando em que o contêiner estiver em execução, selecione Ctrl+C.

Solução de problemas

Se você executar o contêiner com uma montagem de saída e o registro em log habilitado, o contêiner gerará arquivos de log que são úteis para solucionar problemas que ocorrem durante a inicialização ou execução do contêiner.

Dica

Para obter mais informações e diretrizes para a solução de problemas, confira Perguntas frequentes sobre os contêineres dos serviços de IA do Azure.

Se você estiver tendo problemas para executar um contêiner dos serviços de IA do Azure, tente usar o contêiner de diagnóstico da Microsoft. Use esse contêiner para diagnosticar erros comuns no 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 comando docker pull:

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

Em seguida, execute o contêiner. Substitua {ENDPOINT_URI} pelo ponto de extremidade e {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 cobrança.

Cobrança

Os contêineres do Detector de Anomalias enviam informações de cobrança para Azure, usando um recurso do Detector de Anomalias na conta do Azure.

Consultas ao contêiner são cobradas pelo tipo de preço do recurso do Azure usado para o parâmetro ApiKey.

Os contêineres dos serviços de IA do Azure não estão licenciados para execução sem estarem conectados ao ponto de extremidade de medição ou cobrança. Você precisa permitir que os contêineres comuniquem as informações de cobrança com o ponto de extremidade de cobrança em todos os momentos. Os contêineres dos serviços de IA do Azure não enviam dados do cliente, como imagem ou texto que está sendo analisado, para a Microsoft.

Conectar-se ao Azure

O contêiner precisa dos valores de argumento de cobrança para ser executado. Esses valores permitem que o contêiner se conecte ao ponto de extremidade de cobrança. 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, ele continuará sendo executado, mas não atenderá a consultas até que o ponto de extremidade de cobrança seja restaurado. Serão realizadas 10 tentativas de conexão no mesmo intervalo de tempo de 10 a 15 minutos. Se não for possível conectar-se ao ponto de extremidade de cobrança dentro das 10 tentativas, o contêiner interromperá as solicitações de serviço. Veja as Perguntas frequentes sobre contêineres dos serviços de IA do Azure para obter um exemplo das informações enviadas à Microsoft para cobrança.

Argumentos de cobrança

O comando docker run 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 dos serviços de IA do Azure 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 que é utilizado para rastrear as informações de cobrança.
O valor dessa opção deve ser definido como o URI do ponto de extremidade de um recurso do Azure provisionado.
Eula Indica que você aceitou a licença do contêiner.
O valor dessa opção deve ser definido como aceitar.

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

Resumo

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

  • O Detector de Anomalias fornece um contêiner do Linux para o Docker, encapsulando a detecção de anomalias com o lote versus streaming, a inferência de intervalo esperada e o ajuste de sensibilidade.
  • As imagens de contêiner são baixadas de um Registro de Contêiner do Azure privado, dedicado para contêineres.
  • Imagens de contêiner são executadas no Docker.
  • É possível usar a API REST ou o SDK para executar uma chamada às operações em contêineres de Detector de Anomalias especificando o URI host do contêiner.
  • Você deve especificar informações de faturamento ao instanciar um contêiner.

Importante

Os contêineres dos serviços de IA do Azure não estão licenciados para serem executados sem uma conexão ao Azure para medição. Os clientes precisam ativar os contêineres para comunicar informações de cobrança 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érie temporal que estão sendo analisados) para a Microsoft.

Próximas etapas