Share via


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