Distribuire il router di telemetria di Azure Arc
Nota
- Il router di telemetria è disponibile in anteprima pubblica e deve essere distribuito solo a scopo di test.
- Anche se il router di telemetria è disponibile in anteprima pubblica, è consigliabile che le versioni di anteprima future possano includere modifiche alle specifiche CRD, ai comandi dell'interfaccia della riga di comando e/o ai messaggi del router di telemetria.
- L'anteprima corrente non supporta gli aggiornamenti sul posto di un controller dati distribuito con il router di telemetria Arc abilitato. Per installare o aggiornare un titolare del trattamento dei dati in una versione futura, sarà necessario disinstallare il titolare del trattamento dei dati e quindi reinstallare.
Che cos'è il router di telemetria di Azure Arc?
Il router di telemetria di Azure Arc consente di esportare i dati di telemetria in altre soluzioni di monitoraggio. Per questa anteprima pubblica, è supportata solo l'esportazione dei dati di log in Kafka o Elasticsearch e i dati delle metriche in Kafka.
Questo documento specifica come distribuire il router di telemetria e configurarlo per l'uso con gli esportatori supportati.
Distribuzione
Nota
Il router di telemetria supporta attualmente solo la modalità connessa indirettamente.
Creare un profilo di configurazione personalizzato
Dopo aver configurato il cluster Kubernetes, è necessario creare un profilo di configurazione personalizzato. Abilitare quindi un flag di funzionalità temporaneo che distribuisce il router di telemetria durante la creazione del controller dati.
Attivare il flag di funzionalità
Dopo aver creato il profilo di configurazione personalizzato, sarà necessario modificare il profilo per aggiungere la monitoring
proprietà con il enableOpenTelemetry
flag impostato su true
. È possibile impostare il flag di funzionalità eseguendo i comandi az CLI seguenti (modificare il parametro --path, se necessario):
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"
Per verificare che il flag sia stato impostato correttamente, aprire il file control.json e verificare che l'oggetto monitoring
sia stato aggiunto all'oggetto spec
ed enableOpenTelemetry
è impostato su true
.
spec:
monitoring:
enableOpenTelemetry: true
Questo requisito del flag di funzionalità verrà rimosso in una versione futura.
Creare il titolare del trattamento dei dati
Dopo aver creato il profilo di configurazione personalizzato e aver impostato il flag di funzionalità, è possibile creare il controller dati usando la modalità di connettività indiretta. Assicurarsi di sostituire il parametro con un --path
parametro che punta al file control.json personalizzato (vedere Usare il --profile-name
file control.json personalizzato per distribuire il controller di dati abilitato per Azure Arc)
Verificare la distribuzione del router di telemetria
Quando viene creato il controller dati, viene creata anche una risorsa personalizzata TelemetryRouter. La distribuzione del controller dati è contrassegnata come pronta al termine della distribuzione di entrambe le risorse personalizzate. Al termine della distribuzione del controller dati, è possibile usare il comando seguente per verificare che il TelemetryRouter esista:
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:
Al momento della creazione, non viene configurata alcuna pipeline o esportazione. È possibile configurare pipeline ed esportazioni personalizzate per instradare le metriche e i dati dei log alle proprie istanze di Kafka e Elasticsearch.
Dopo la distribuzione di TelemetryRouter, deve essere distribuita un'istanza di Kafka (arc-router-kafka) e una singola istanza di TelemetryCollector (agente di raccolta in ingresso) e in uno stato pronto. Queste risorse sono gestite dal sistema e le modifiche non sono supportate. Di conseguenza, i pod seguenti verranno distribuiti:
- Un pod dell'agente di raccolta in ingresso -
arctc-collector-inbound-0
- Un pod broker kakfa -
arck-arc-router-kafka-broker-0
- Un pod controller kakfa -
arck-arc-router-kafka-controller-0
Nota
Un pod dell'agente di raccolta in uscita non viene creato fino a quando non viene aggiunta almeno una pipeline al router di telemetria.
Dopo aver creato la prima pipeline, viene distribuita una risorsa TelemetryCollector aggiuntiva (agente di raccolta in uscita) e un pod arctc-collector-outbound-0
.
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