Distribuire il router dei dati di telemetria di Azure Arc
Nota
- Il router dei dati di telemetria è disponibile in anteprima pubblica e deve essere distribuito esclusivamente a scopo di test.
- Anche se il router dei dati di telemetria è disponibile in anteprima pubblica, le future versioni di anteprima potrebbero includere modifiche alle specifiche CRD, ai comandi dell'interfaccia della riga di comando e/o ai messaggi del router dei dati di telemetria.
- L'anteprima corrente non supporta gli aggiornamenti sul posto di un controller dei dati distribuito con il router dei dati di telemetria Arc abilitato. Per installare o aggiornare un controller dei dati in una versione futura, sarà necessario disinstallare il controller dei dati e reinstallarlo.
Che cos'è il router dei dati di telemetria di Azure Arc?
Il router dei dati di telemetria di Azure Arc consente di esportare i dati di telemetria in altre soluzioni di monitoraggio. Per questa anteprima pubblica, è supportata soltanto l'esportazione dei dati di log in Kafka o Elasticsearch e dei dati delle metriche in Kafka.
Questo documento spiega come distribuire il router dei dati di telemetria e configurarlo per l'uso con le utilità di esportazione supportate.
Distribuzione
Nota
Attualmente, il router dei dati di telemetria supporta soltanto la modalità indirettamente connessa.
Creare un profilo di configurazione personalizzato
Dopo aver configurato il cluster Kubernetes, si dovrà creare un profilo di configurazione personalizzato. Successivamente, abilitare un flag di funzionalità temporaneo che distribuisce il router dei dati di telemetria durante la creazione del controller dei dati.
Attivare il flag di funzionalità
Dopo aver creato il profilo di configurazione personalizzato, sarà necessario modificare il profilo per aggiungere la proprietà monitoring
con il flag enableOpenTelemetry
impostato su true
. Per impostare il flag di funzionalità, eseguire i comandi dell'interfaccia della riga di comando di Azure seguenti (modificare il parametro --path, in base alle esigenze):
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 confermare che il flag sia stato impostato correttamente, aprire il file di control.json e verificare che l'oggetto monitoring
sia stato aggiunto all'oggetto spec
e che enableOpenTelemetry
sia impostato su true
.
spec:
monitoring:
enableOpenTelemetry: true
Questo requisito del flag di funzionalità verrà rimosso in una versione futura.
Creare il controller dei dati
Dopo aver creato il profilo di configurazione personalizzato e avere impostato il flag di funzionalità, è ora possibile creare il controller dei dati usando la modalità di connettività indiretta. Assicurarsi di sostituire il parametro --profile-name
con un parametro --path
che punta al file control.json personalizzato (vedere Utilizzare un file control.json personalizzato per distribuire il controller dei dati abilitato per Azure Arc)
Verificare la distribuzione del router dei dati di telemetria
Quando si crea il controller dei dati, viene creata anche una risorsa personalizzata TelemetryRouter. La distribuzione del controller dei dati è contrassegnata come pronta al termine della distribuzione di entrambe le risorse personalizzate. Al termine della distribuzione del controller dei dati, è possibile usare il comando seguente per verificare la presenza della risorsa TelemetryRouter:
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 vengono configurate pipeline o utilità di esportazione. È possibile configurare pipeline e utilità di esportazione personalizzate per il routing dei dati delle metriche e dei log alle proprie istanze Kafka ed Elasticsearch.
Al termine della distribuzione di TelemetryRouter, si devono distribuire un'istanza di Kafka (arc-router-kafka) e una singola istanza di TelemetryCollector (collector-inbound) che devono avere lo stato pronto. Queste risorse sono gestite dal sistema e non sono supportate eventuali modifiche. Ne risulterà la distribuzione dei pod seguenti:
- 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
Non sarà creato un pod dell'agente di raccolta in uscita finché non verrà aggiunta almeno una pipeline al router dei dati di telemetria.
Dopo aver creato la prima pipeline, verranno distribuiti una risorsa TelemetryCollector aggiuntiva (collector-outbound) 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