Condividi tramite


Configurazione della pipeline di Monitoraggio di Azure in dispositivi perimetrali

La pipeline di Monitoraggio di Azure è una pipeline di inserimento dati che fornisce una raccolta dati coerente e centralizzata per Monitoraggio di Azure. La pipeline perimetrale consente la raccolta su larga scala e il routing dei dati di telemetria prima che vengano inviati al cloud. Può memorizzare nella cache i dati in locale e sincronizzarsi con il cloud quando viene ripristinata la connettività e instradare i dati di telemetria a Monitoraggio di Azure nei casi in cui la rete viene segmentata e i dati non possono essere inviati direttamente al cloud. Questo articolo descrive come abilitare e configurare la pipeline perimetrale dell'ambiente.

Informazioni generali

La pipeline di Monitoraggio di Azure in edge è una soluzione in contenitori distribuita in un cluster Kubernetes abilitato per Arc e sfrutta OpenTelemetry Collector come base. Il diagramma seguente illustra i componenti della pipeline perimetrale. Uno o più flussi di dati sono in ascolto dei dati in ingresso dai client e l'estensione della pipeline inoltra i dati al cloud, usando la cache locale, se necessario.

Il file di configurazione della pipeline definisce i flussi di dati e le proprietà della cache per la pipeline perimetrale. Il DCR definisce lo schema dei dati inviati alla pipeline cloud, una trasformazione per filtrare o modificare i dati e la destinazione in cui devono essere inviati i dati. Ogni definizione del flusso di dati per la configurazione della pipeline specifica il DCR e il flusso all'interno di tale DCR che elabora tali dati nella pipeline cloud.

Diagramma di panoramica del flusso di dati per la pipeline edge di Azure Monitor.

Annotazioni

Il collegamento privato è supportato dalla pipeline al perimetro per la connessione alla pipeline cloud.

Per abilitare la pipeline di Monitoraggio di Azure nella rete perimetrale sono necessari i componenti e le configurazioni seguenti. Se si usa il portale di Azure per configurare la pipeline perimetrale, ognuno di questi componenti viene creato automaticamente. Con altri metodi, è necessario configurare ognuno di essi.

Componente Descrizione
Estensione del controller della pipeline perimetrale Estensione aggiunta al cluster Kubernetes con supporto Arc per supportare funzionalità pipeline - microsoft.monitor.pipelinecontroller.
Istanza del controller della pipeline perimetrale Istanza della pipeline perimetrale in esecuzione nel cluster Kubernetes abilitato per Arc.
Flusso di dati Combinazione di ricevitori ed esportatori eseguiti nell'istanza del controller della pipeline. I ricevitori accettano i dati dai client e gli esportatori inviano tali dati ad Azure Monitor.
Configurazione della pipeline File di configurazione che definisce i flussi di dati per l'istanza della pipeline. Ogni flusso di dati include un ricevitore e un esportatore. Il ricevitore ascolta i dati in arrivo e l'esportatore invia i dati alla destinazione.
Endpoint di raccolta dati (DCE) Endpoint in cui i dati vengono inviati alla pipeline di Monitoraggio di Azure. La configurazione della pipeline include una proprietà per l'URL di DCE in modo che l'istanza della pipeline sappia dove inviare i dati.
Configurazione Descrizione
Regola di raccolta dati (DCR) File di configurazione che definisce la modalità di ricezione dei dati nella pipeline cloud e la posizione in cui vengono inviati. DCR può anche includere una trasformazione per filtrare o modificare i dati prima che venga inviato alla destinazione.
Configurazione della pipeline Configurazione che definisce i flussi di dati per l'istanza della pipeline, inclusi i flussi di dati e la cache.

Configurazioni supportate

Distribuzioni supportate

La pipeline all'edge di Azure Monitor è supportata nelle distribuzioni Kubernetes seguenti:

  • Canonical
  • Provider di API del cluster per Azure
  • K3
  • Rancher Motore Kubernetes
  • Griglia Kubernetes di VMware Tanzu

Località supportate

La pipeline di Monitoraggio di Azure nella rete perimetrale è supportata nelle aree di Azure seguenti:

  • Canada centrale
  • Stati Uniti orientali 2
  • Italia settentrionale
  • Stati Uniti occidentali2
  • Europa occidentale

Per altre informazioni, vedere Disponibilità del prodotto in base all'area

Prerequisiti

Flusso di lavoro

Non è necessaria una conoscenza dettagliata dei diversi passaggi eseguiti dalla pipeline di Monitoraggio di Azure per configurarlo usando il portale di Azure. Potrebbe essere necessaria una comprensione più dettagliata, anche se si usa un altro metodo di installazione o se è necessario eseguire una configurazione più avanzata, ad esempio trasformare i dati prima che vengano archiviati nella destinazione.

Le tabelle e i diagrammi seguenti descrivono i passaggi dettagliati e i componenti del processo per la raccolta dei dati usando la pipeline perimetrale e passandoli alla pipeline cloud per l'archiviazione in Monitoraggio di Azure. Nelle tabelle è inclusa anche la configurazione necessaria per ognuno di questi componenti.

Passo Azione Configurazione di supporto
1. Il client invia i dati al ricevitore della pipeline perimetrale. Il client viene configurato con IP e porta del ricevitore della pipeline perimetrale e invia i dati nel formato previsto per il tipo di ricevitore.
2 Il ricevitore inoltra i dati all'esportatore. Il ricevitore e l'utilità di esportazione sono configurati nella stessa pipeline.
3. L'utilità di esportazione tenta di inviare i dati alla pipeline cloud. L'utilità di esportazione nella configurazione della pipeline include l'URL di DCE, un identificatore univoco per il DCR e il flusso nel DCR che definisce come verranno elaborati i dati.
3a. L'utilità di esportazione archivia i dati nella cache locale se non riesce a connettersi a DCE. Il volume permanente per la cache e la configurazione della cache locale è abilitato nella configurazione della pipeline.

Diagramma dettagliato dei passaggi e dei componenti per la raccolta di dati usando la pipeline perimetrale di Monitoraggio di Azure.

Passo Azione Configurazione di supporto
4. La pipeline cloud accetta i dati in ingresso. DCR include una definizione dello schema per il flusso in ingresso che deve corrispondere allo schema dei dati provenienti dalla pipeline perimetrale.
5 La pipeline cloud applica una trasformazione ai dati. Il DCR include una trasformazione che filtra o modifica i dati prima dell'invio alla destinazione. La trasformazione può filtrare i dati, rimuovere o aggiungere colonne o modificare completamente lo schema. L'output della trasformazione deve corrispondere allo schema della tabella di destinazione.
6 La pipeline cloud invia i dati alla destinazione. Il DCR include una destinazione che specifica l'area di lavoro Log Analytics e la tabella in cui verranno archiviati i dati.

Diagramma dettagliato dei passaggi e dei componenti per la raccolta dei dati tramite la pipeline cloud di Monitoraggio di Azure.

Rete segmentata

La segmentazione di rete è un modello in cui si usano i perimetri definiti dal software per creare un comportamento di sicurezza diverso per diverse parti della rete. In questo modello potrebbe essere presente un segmento di rete che non può connettersi a Internet o ad altri segmenti di rete. La pipeline perimetrale può essere usata per raccogliere dati da questi segmenti di rete e inviarli alla pipeline cloud.

Diagramma di una rete a più livelli per la pipeline perimetrale di Monitoraggio di Azure.

Per usare la pipeline di Monitoraggio di Azure in una configurazione di rete a più livelli, è necessario aggiungere le voci seguenti all'elenco di elementi consentiti per il cluster Kubernetes abilitato per Arc. Vedere Configurare Anteprima di Gestione di rete su più livelli di Azure IoT nel cluster di livello 4.

- destinationUrl: "*.ingest.monitor.azure.com"
  destinationType: external
- destinationUrl: "login.windows.net"
  destinationType: external

Creare la tabella nell'area di lavoro Log Analytics

Prima di configurare il processo di raccolta dati per la pipeline perimetrale, è necessario creare una tabella nell'area di lavoro Log Analytics per ricevere i dati. Deve trattarsi di una tabella personalizzata perché le tabelle predefinite non sono attualmente supportate. Lo schema della tabella deve corrispondere ai dati ricevuti, ma esistono più passaggi nel processo di raccolta in cui è possibile modificare i dati in ingresso, quindi lo schema della tabella non deve corrispondere ai dati di origine raccolti. L'unico requisito per la tabella nell'area di lavoro Log Analytics è che ha una colonna TimeGenerated.

Vedere Aggiungere o eliminare tabelle e colonne in Log di Monitoraggio di Azure per informazioni dettagliate sui diversi metodi per la creazione di una tabella. Ad esempio, usare il comando CLI seguente per creare una tabella con tre colonne denominate Body, TimeGenerated e SeverityText.

az monitor log-analytics workspace table create --workspace-name my-workspace --resource-group my-resource-group --name my-table_CL --columns TimeGenerated=datetime Body=string SeverityText=string

Attivare la cache

I dispositivi perimetrali in alcuni ambienti possono riscontrare connettività intermittente a causa di vari fattori, ad esempio congestione della rete, interferenza del segnale, interruzione dell'alimentazione o mobilità. In questi ambienti è possibile configurare la pipeline perimetrale per memorizzare nella cache i dati creando un volume permanente nel cluster. Il processo per questo varia in base all'ambiente specifico, ma la configurazione deve soddisfare i requisiti seguenti:

  • Lo spazio dei nomi dei metadati deve essere lo stesso dell'istanza specificata di Azure Monitor pipeline.
  • La modalità di accesso deve supportare ReadWriteMany.

Una volta creato il volume nel namespace appropriato, configurarlo usando i parametri nel file di configurazione della pipeline sottostante.

Attenzione

Ogni replica della pipeline perimetrale archivia i dati in una posizione nel volume permanente specifico della replica. La riduzione del numero di repliche mentre il cluster è disconnesso dal cloud impedirà il backfilling dei dati quando viene ripristinata la connettività.

I dati vengono recuperati dalla cache usando FIFO (first-in-first-out). Tutti i dati precedenti a 48 ore verranno eliminati.

Abilitare e configurare la pipeline

Le opzioni correnti per l'abilitazione e la configurazione sono descritte in dettaglio nelle schede seguenti.

Configurare la pipeline usando il portale di Azure

Quando si usa il portale di Azure per abilitare e configurare la pipeline, tutti i componenti necessari vengono creati in base alle selezioni. Ciò consente di evitare la complessità della creazione di ogni componente singolarmente, ma è necessario usare altri metodi per

Eseguire una delle operazioni seguenti nel portale di Azure per avviare il processo di installazione per la pipeline di Monitoraggio di Azure:

  • Dal menu pipeline di Monitoraggio di Azure (anteprima) fare clic su Crea.
  • Dal menu per il cluster Kubernetes abilitato per Arc selezionare Estensioni e quindi aggiungere l'estensione dell'estensione della pipeline di Monitoraggio di Azure (anteprima).

La scheda Basic richiede le informazioni seguenti per distribuire l'estensione e l'istanza della pipeline nel cluster.

Screenshot della schermata Crea pipeline di Monitoraggio di Azure.

Le impostazioni in questa scheda sono descritte nella tabella seguente.

Proprietà Descrizione
Nome dell'istanza Nome per l'istanza della pipeline di Azure Monitor. Deve essere univoco per la sottoscrizione.
Abbonamento Sottoscrizione di Azure per creare l'istanza della pipeline.
Gruppo di risorse Gruppo di risorse per creare l'istanza della pipeline.
Nome del cluster Selezionare il cluster Kubernetes abilitato per Arc in cui verrà installata la pipeline.
Posizione personalizzata Percorso personalizzato per il cluster Kubernetes abilitato per Arc. Verrà popolato automaticamente con il nome di una posizione personalizzata che verrà creata per il cluster oppure è possibile selezionare un'altra posizione personalizzata nel cluster.

La scheda Flusso di dati consente di creare e modificare i flussi di dati per l'istanza della pipeline. Ogni flusso di dati include i dettagli seguenti:

Screenshot della schermata Crea aggiunta flusso di dati.

Le impostazioni in questa scheda sono descritte nella tabella seguente.

Proprietà Descrizione
Nome Nome del flusso di dati. Deve essere univoco per questa pipeline.
Tipo di sorgente Il tipo di dati raccolti. Sono attualmente supportati i tipi di origine seguenti:
- Syslog
- OTLP
Porto Porta su cui la pipeline è in ascolto per i dati in ingresso. Se due flussi di dati usano la stessa porta, ricevono ed elaborano i dati.
Area di lavoro Log Analytics Area di lavoro Log Analytics a cui inviare i dati.
Nome della tabella Nome della tabella nell'area di lavoro Log Analytics a cui inviare i dati.

Verificare la configurazione

Verificare i componenti della pipeline in esecuzione nel cluster

Nel portale di Azure passare al menu servizi Kubernetes e selezionare il cluster Kubernetes abilitato per Arc. Selezionare Servizi e ingressi e assicurarsi di visualizzare i servizi seguenti:

  • <nome della pipeline>-external-service
  • <nome della pipeline>-service

Screenshot dei componenti del cluster che supportano la pipeline di Monitoraggio di Azure nella rete perimetrale.

Fare clic sulla voce <nome della pipeline>-external-service e prendere nota dell'indirizzo IP e della porta nella colonna Endpoints. Si tratta dell'indirizzo IP esterno e della porta a cui i client invieranno dati. Per recuperare questo indirizzo dal client, vedere Recuperare l'endpoint di ingresso.

Verificare il battito cardiaco

Ogni pipeline configurata nell'istanza della pipeline invierà ogni minuto un record heartbeat alla tabella Heartbeat nell'area di lavoro Log Analytics. Il contenuto della colonna OSMajorVersion deve corrispondere al nome dell'istanza della pipeline. Se nell'istanza della pipeline sono presenti più aree di lavoro, verrà usata la prima configurata.

Ottenere i registri di battito cardiaco usando una query di log come nell'esempio seguente:

Screenshot della query di log che restituisce i record heartbeat per la pipeline perimetrale di Monitoraggio di Azure.

Configurazione del client

Dopo aver installato l'estensione e l'istanza della pipeline perimetrale, è necessario configurare i client per l'invio di dati alla pipeline.

Recuperare l'endpoint di ingresso

Ogni client richiede l'indirizzo IP esterno del servizio pipeline di Monitoraggio di Azure. Usare il comando seguente per riprendere questo indirizzo:

kubectl get services -n <namespace where azure monitor pipeline was installed>
  • Se l'applicazione che genera i log è esterna al cluster, copiare il valore external-ip del servizio <nome della pipeline>-service o <nome della pipeline>-external-service di tipo bilanciatore di carico.
  • Se l'applicazione si trova in un pod all'interno del cluster, copiare il valore cluster-ip.

Annotazioni

Se il campo external-ip è impostato su in sospeso, è necessario configurare manualmente un indirizzo IP esterno per questo ingresso in base alla configurazione del cluster.

Cliente Descrizione
Syslog Aggiornare i client Syslog per inviare dati all'endpoint della pipeline e alla porta del flusso di dati Syslog.
OTLP La pipeline perimetrale di Monitoraggio di Azure espone un endpoint OTLP basato su gRPC sulla porta 4317. La configurazione della strumentazione da inviare a questo endpoint OTLP dipenderà dalla libreria di strumentazione stessa. Per la documentazione di OpenTelemetry, vedere endpoint OTLP o Collector. Il metodo della variabile di ambiente è documentato in Configurazione dell'utilità di esportazione OTLP.

Verifica i dati

Il passaggio finale consiste nel verificare che i dati vengano ricevuti nell'area di lavoro Log Analytics. È possibile eseguire questa verifica eseguendo una query nell'area di lavoro Log Analytics per recuperare i dati dalla tabella.

Screenshot della query di log che restituisce la raccolta Syslog.

Passaggi successivi