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