Condividi tramite


Configurazione della pipeline perimetrale di Monitoraggio di Azure

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 dell'invio 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.

Panoramica

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 perimetrale di Monitoraggio di Azure.

Nota

Il collegamento privato è supportato dalla pipeline perimetrale 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 abilitato per Arc al fine di supportare la funzionalità della 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 per distribuire tali dati a Monitoraggio di Azure.
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 utilità di esportazione. Il ricevitore è in ascolto dei dati in ingresso e l'utilità di esportazione 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.
Impostazione 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 perimetrale di Monitoraggio di Azure è supportata nelle distribuzioni Kubernetes seguenti:

  • Canonical
  • Provider API Cluster per Azure
  • K3
  • Rancher Kubernetes Engine
  • VMware Tanzu Kubernetes Grid

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

  • Stati Uniti Orientali 2
  • Stati Uniti occidentali 2
  • Europa occidentale

Prerequisiti

Workflow

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.

Procedi Azione Supporto della configurazione
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'utilità di esportazione. 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.

Procedi Azione Supporto della configurazione
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 dell'interfaccia della riga di comando seguente per creare una tabella con le 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 uguale all'istanza specificata della pipeline di Monitoraggio di Azure.
  • La modalità di accesso deve supportare ReadWriteMany.

Dopo aver creato il volume nello spazio dei nomi appropriato, configurarlo usando i parametri nel file di configurazione della pipeline seguente.

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 istanza Nome per l'istanza della pipeline di Monitoraggio di Azure. 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 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
Name Nome del flusso di dati. Deve essere univoco per questa pipeline.
Tipo di origine Il tipo di dati raccolti. Sono attualmente supportati i tipi di origine seguenti:
- Syslog
- OTLP
Porta Porta su cui la pipeline è in ascolto per i dati in ingresso. Se due flussi di dati usano la stessa porta, riceveranno ed elaboreranno i dati.
Area di lavoro Log Analytics Area di lavoro Log Analytics a cui inviare i dati.
Nome 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 per <nome della pipeline>-external-service e prendere nota dell'indirizzo IP e della porta nella colonna Endpoint. 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 l'heartbeat

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.

Recuperare i record heartbeat 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 produce log è esterna al cluster, copiare il valore external-ip del <nome della pipeline servizio>-service o <nome della pipeline>-external-service con il tipo di servizio di bilanciamento del carico.
  • Se l'applicazione si trova in un pod all'interno del cluster, copiare il valore cluster-ip.

Nota

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

Client 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 Agente di raccolta. Il metodo della variabile di ambiente è documentato in Configurazione dell'utilità di esportazione OTLP.

Verificare 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