Compartilhar via


Implantar o Roteador de Telemetria do Azure Arc

Observação

  • O roteador de telemetria está em Visualização Pública e deve ser implantado somente 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 oferece suporte a 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, reinstalá-lo.

O que é o Roteador de Telemetria do Azure Arc?

O roteador de telemetria do Azure Arc permite exportar dados de telemetria para outras soluções de monitoramento. Nesta Visualização Pública, oferecemos suporte somente à exportação de dados de log para Kafka ou Elasticsearch e dados de métrica para Kafka.

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

Implantação

Observação

Atualmente, o roteador de telemetria dá suporte apenas ao modo conectado indiretamente.

Criar um perfil de configuração personalizado

Depois de configurar o cluster do 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 recurso

Depois de criar o perfil de configuração personalizado, você precisará editar o perfil para adicionar a propriedade monitoring com o sinalizador enableOpenTelemetry definido como true. Você pode definir o sinalizador de recursos executando os seguintes comandos da CLI az (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, você pode abrir o arquivo control.json e confirmar se o objeto monitoring foi adicionado ao objeto spec, e se enableOpenTelemetry foi definido como true.

spec:
    monitoring:
        enableOpenTelemetry: true

Esse requisito do 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ê estará pronto para criar o controlador de dados usando o modo de conectividade indireto. Substitua o parâmetro --profile-name por um parâmetro --path que aponte para o arquivo control.json personalizado (consulte usar o arquivo 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 do TelemetryRouter também é criado. A implantação do controlador de dados é marcada como pronta quando ambos os recursos personalizados terminarem de ser implantados. 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 pipeline ou exportador está configurado. Você pode configurar seus próprios pipelines e exportadores para rotear dados de métricas e de logs para suas próprias instâncias do Kafka e do Elasticsearch.

Depois que o TelemetryRouter é implantado, uma instância do Kafka (arc-router-kafka) e uma única instância de TelemetryCollector (entrada do coletor) devem ser implantadas e em um estado pronto. Esses recursos são gerenciados pelo sistema e não há suporte para editá-los. Os pods a seguir serão implantados como resultado:

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

Observação

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 (saída do coletor) e um 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