Configurar pipeline do Azure Monitor

Este artigo descreve o processo geral de configuração para o pipeline Azure Monitor e fornece detalhes para a configuração comum inicial para preparar o seu cluster Kubernetes compatível com Arc para o pipeline.

Fluxo completo de instalação

A implementação completa de um pipeline Azure Monitor inclui os seguintes passos:

  1. Verifica os pré-requisitos.
  2. Instale o gestor de certificados no seu cluster Kubernetes compatível com Arc.
  3. Complete a implementação do pipeline utilizando qualquer um dos seguintes métodos:
  4. Se precisar de filtrar, agregar ou reformular os dados recebidos:
    1. Adicione transformações de pipeline.
  5. Se as fontes de dados do cliente estiverem fora do cluster:
    1. Expor o pipeline através de um gateway. Ver Azure Monitor pipeline - Gateway para implementação do Kubernetes.
    2. Configura os teus clientes externos para se ligarem ao IP e porta certos do gateway. Veja Configure um gateway Kubernetes para o pipeline do Azure Monitor.
  6. Se precisar de ingestão encriptada:
    1. Configurar TLS. Comece com configuração TLS do pipeline do Azure Monitor.
  7. Se o comportamento padrão de colocação dos pods não corresponder às suas necessidades de desempenho, isolamento ou conformidade:
    1. Configurar a colocação dos pods para a pipeline.

Diagrama do fluxo de configuração de Azure Monitor pipeline com passos para pré-requisitos, gestor de certificações, implementação e pontos de decisão para dados, TLS, clientes e agendamento.

Pré-requisitos

Escolha um método de configuração

Escolha a abordagem que se adeque às suas necessidades:

Método Quando utilizar Principais características
Portal do Azure * Para começar
* Configurações simples
* Desdobramento rápido
* Experiência de UI guiada
* Criação automática de componentes
* Validação incorporada
Modelos CLI/ARM * Cenários avançados
* Automação necessária
* Requisitos personalizados
* Controlo total de configuração
* Buffering em volume persistente
* Tabelas personalizadas
* Infraestrutura como código

Sugestão

Novato no uso do pipeline do Azure Monitor? Começa pelo portal. Podes sempre mudar para templates CLI/ARM mais tarde para funcionalidades avançadas.

Verifique a configuração

Depois de completar a configuração usando o método escolhido, utilize os seguintes passos para verificar se o pipeline está a correr corretamente no seu ambiente.

Verificar os componentes do pipeline em execução no cluster

No portal Azure, vá ao menu Kubernetes services e selecione o seu cluster Kubernetes com Azure Arc ativado. Selecione Serviços e entradas e certifique-se de que vê os seguintes serviços:

  • <nome do fluxo>-serviço externo
  • <nome do serviço>-pipeline

Captura de ecrã dos componentes do cluster que suportam o pipeline do Azure Monitor.

Verificar o batimento cardíaco

Cada pipeline que configurares na tua instância de pipeline envia um registo de heartbeat para a tabela Heartbeat no teu espaço de trabalho Log Analytics a cada minuto que passa. O conteúdo da OSMajorVersion coluna deve corresponder ao nome da sua instância de pipeline. Se a instância do pipeline tiver múltiplos espaços de trabalho, é utilizado o primeiro espaço de trabalho configurado.

Para recuperar os registos de batimentos cardíacos, use uma consulta de log como mostrado no seguinte exemplo:

Captura de ecrã da consulta de registo que devolve registos de batimentos cardíacos para Azure Monitor pipeline.

Configure Azure Private Link para se ligar a Azure Monitor usando um endpoint privado. Veja Configure private link for Azure Monitor para detalhes sobre como criar um âmbito de ligação privada do Azure Monitor e ligá-lo a um espaço de trabalho do Log Analytics.

Quando usar ligação privada com o pipeline Azure Monitor, tenha em mente os seguintes pontos-chave sobre a arquitetura:

  • As instâncias de pipeline executam-se dentro de um cluster Kubernetes compatível com Azure Arc.
  • O cluster liga-se a uma rede virtual Azure que aloja um endpoint privado.
  • Desative o acesso à rede pública no endpoint de recolha de dados (DCE). O pipeline exporta telemetria de forma privada para o Azure Monitor utilizando:

Observação

Os clientes ainda podem enviar telemetria para o ponto final público, interno ou do balanceador de carga do pipeline. O Private Link apenas assegura a ligação do cluster ao Azure Monitor.

Criar rede virtual e sub-rede para o endpoint privado

Crie o endpoint privado numa rede virtual Azure gerida pelo cliente que o cluster Kubernetes possa alcançar.

Configurar zonas DNS privadas

Liga as zonas DNS privadas à rede virtual Azure que aloja o endpoint privado, não necessariamente ao próprio cluster Kubernetes. Certifique-se de que cada uma das zonas existe e está ligada à rede virtual.

Observação

Os clusters Kubernetes (incluindo clusters com Azure Arc) devem ser capazes de resolver estes nomes através da configuração DNS da rede virtual.

Após a configuração:

  • Os pods de pipeline resolvem os endpoints do Azure Monitor para endereços IP privados.
  • A telemetria é direcionada para o Log Analytics.
  • O DCE bloqueia o acesso à rede pública.

Para clusters Kubernetes com Azure Arc, valide isso:

  • A resolução DNS funciona dentro dos clusters pods.
  • O encaminhamento de rede permite tráfego para o ponto final privado do Azure.

Solução de problemas

Pod de operador no CrashLoopBackOff - Extensão do Certificate Manager não encontrada

Se observar o operador pod a reiniciar continuamente com o estado CrashLoopBackOff tal como no exemplo seguinte:

kubectl get pods -n mon
NAME                                                              READY   STATUS             RESTARTS       AGE
edge-pipeline-pipeline-operator-controller-manager-6f847d4njwcn   1/2     CrashLoopBackOff   11 (24s ago)   31m

Verifique os registos usando o seguinte comando:

kubectl logs <operator-pod-name> -n mon

Poderá ver um erro semelhante à seguinte mensagem:

AttemptTlsBootstrap returned an error:  failed to apply resource: the server could not find the requested resource (patch clusterissuers.meta.k8s.io arc-amp-selfsigned-cluster-issuer)
Please ensure Azure Arc Cert Manager Extension is installed on the cluster.
panic: failed to apply resource: the server could not find the requested resource (patch clusterissuers.meta.k8s.io arc-amp-selfsigned-cluster-issuer)

Cause: O operador do pipeline depende da extensão Azure Arc Certificate Manager, que fornece a infraestrutura de certificados (ClusterIssuer recursos). O operador não consegue arrancar sem ele.

Solução: Instale primeiro a extensão do Gestor de Certificados para iniciar com sucesso o operador do pipeline. Para instruções de instalação, consulte Gestor de certificados de instalação para Kubernetes habilitado por Arc.

Verifique se a extensão do Gestor de Certificados está instalada:

az k8s-extension list --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --query "[?extensionType=='microsoft.certmanagement'].{Name:name, State:provisioningState}" -o table

A extensão deve mostrar um Succeeded estado de provisionamento.