Partilhar via


Implantar o Roteador de Telemetria do Azure Arc

Nota

  • O roteador de telemetria está em visualização pública e deve ser implantado apenas para fins de teste.
  • Enquanto o roteador de telemetria estiver em Visualização Pública, esteja ciente de que versões futuras de visualização podem incluir alterações nas especificações CRD, comandos da CLI e/ou mensagens do roteador de telemetria.
  • A visualização atual não suporta atualizações in-loco de um controlador de dados implantado com o roteador de telemetria Arc habilitado. Para instalar ou atualizar um controlador de dados em uma versão futura, você precisará desinstalar o controlador de dados e, em seguida, reinstalar.

O que é o Azure Arc Telemetry Router?

O roteador de telemetria do Azure Arc permite exportar dados de telemetria para outras soluções de monitoramento. Para esta Visualização Pública, suportamos apenas a exportação de dados de log para Kafka ou Elasticsearch e dados métricos para Kafka.

Este documento especifica como implantar o roteador de telemetria e configurá-lo para trabalhar com os exportadores suportados.

Implementação

Nota

Atualmente, o roteador de telemetria suporta apenas o modo conectado indiretamente.

Criar um perfil de configuração personalizado

Depois de configurar seu cluster Kubernetes, você precisará criar um perfil de configuração personalizado. Em seguida, habilite um sinalizador de recurso temporário que implanta o roteador de telemetria durante a criação do controlador de dados.

Ativar o sinalizador de recursos

Depois de criar o perfil de configuração personalizado, você precisará editar o perfil para adicionar a monitoring propriedade com o enableOpenTelemetry sinalizador definido como true. Você pode definir o sinalizador de recurso executando os seguintes comandos az CLI (edite o parâmetro --path, conforme necessário):

az arcdata dc config add --path ./control.json --json-values ".spec.monitoring={}"
az arcdata dc config add --path ./control.json --json-values ".spec.monitoring.enableOpenTelemetry=true"

Para confirmar se o sinalizador foi definido corretamente, abra o arquivo control.json e confirme se o monitoring objeto foi adicionado ao spec objeto e enableOpenTelemetry está definido como true.

spec:
    monitoring:
        enableOpenTelemetry: true

Este requisito de sinalizador de recurso será removido em uma versão futura.

Criar o controlador de dados

Depois de criar o perfil de configuração personalizado e definir o sinalizador de recurso, você está pronto para criar o controlador de dados usando o modo de conectividade indireta. Certifique-se de substituir o --profile-name parâmetro por um --path parâmetro que aponte para seu arquivo de control.json personalizado (consulte Usar arquivo de control.json personalizado para implantar o controlador de dados habilitado para Azure Arc)

Verificar a implantação do roteador de telemetria

Quando o controlador de dados é criado, um recurso personalizado TelemetryRouter também é criado. A implantação do controlador de dados é marcada como pronta quando ambos os recursos personalizados concluírem a implantação. Depois que o controlador de dados concluir a implantação, você poderá usar o seguinte comando para verificar se o TelemetryRouter existe:

kubectl describe telemetryrouter arc-telemetry-router -n <namespace>
apiVersion: arcdata.microsoft.com/v1beta4
  kind: TelemetryRouter
  metadata:
    name: arc-telemetry-router
    namespace: <namespace>
  spec:
    credentials:
    exporters:
    pipelines:

No momento da criação, nenhum gasoduto ou exportador é criado. Você pode configurar seus próprios pipelines e exportadores para rotear métricas e logs de dados para suas próprias instâncias do Kafka e do Elasticsearch.

Depois que o TelemetryRouter for implantado, uma instância de Kafka (arc-router-kafka) e uma única instância de TelemetryCollector (collector-inbound) devem ser implantadas e em um estado pronto. Esses recursos são gerenciados pelo sistema e não há suporte para editá-los. Como resultado, serão implantados os seguintes pods:

  • Um pod coletor de entrada - arctc-collector-inbound-0
  • Um pod corretor kakfa - arck-arc-router-kafka-broker-0
  • Um pod controlador kakfa - arck-arc-router-kafka-controller-0

Nota

Um pod coletor de saída não é criado até que pelo menos um pipeline tenha sido adicionado ao roteador de telemetria.

Depois de criar o primeiro pipeline, um recurso TelemetryCollector adicional (collector-outbound) e pod arctc-collector-outbound-0 são implantados.

kubectl get pods -n <namespace>

NAME                                 READY   STATUS      RESTARTS   AGE
arc-bootstrapper-job-4z2vr           0/1     Completed   0          15h
arc-webhook-job-facc4-z7dd7          0/1     Completed   0          15h
arck-arc-router-kafka-broker-0       2/2     Running     0          15h
arck-arc-router-kafka-controller-0   2/2     Running     0          15h
arctc-collector-inbound-0            2/2     Running     0          15h
bootstrapper-8d5bff6f7-7w88j         1/1     Running     0          15h
control-vpfr9                        2/2     Running     0          15h
controldb-0                          2/2     Running     0          15h
logsdb-0                             3/3     Running     0          15h
logsui-fwrh9                         3/3     Running     0          15h
metricsdb-0                          2/2     Running     0          15h
metricsdc-bc4df                      2/2     Running     0          15h
metricsdc-fm7jh                      2/2     Running     0          15h
metricsui-qqgbv                      2/2     Running     0          15h