Condividi tramite


Raccolta di Syslog con Container Insights

Container Insights offre la possibilità di raccogliere eventi Syslog dai nodi Linux nei cluster servizio Azure Kubernetes (servizio Azure Kubernetes). Ciò include la possibilità di raccogliere i log dai componenti del piano di controllo, come kubelet. I clienti possono anche usare Syslog per monitorare gli eventi di sicurezza e integrità, in genere inserendo syslog in un sistema SIEM come Microsoft Sentinel.

Prerequisiti

Come abilitare Syslog

Dal portale di Azure

Passare al cluster. Aprire la scheda Insights per il cluster. Aprire il pannello Monitoraggio Impostazioni. Fare clic su Modifica impostazioni raccolta, quindi selezionare la casella Abilita raccolta Syslog

Screen recording of syslog being enabled from the Azure portal through the Monitor Settings panel in Container Insights.

Usando i comandi dell'interfaccia della riga di comando di Azure

Usare il comando seguente nell'interfaccia della riga di comando di Azure per abilitare la raccolta syslog quando si crea un nuovo cluster del servizio Azure Kubernetes.

az aks create -g syslog-rg -n new-cluster --enable-managed-identity --node-count 1 --enable-addons monitoring --enable-msi-auth-for-monitoring --enable-syslog --generate-ssh-key

Usare il comando seguente nell'interfaccia della riga di comando di Azure per abilitare la raccolta syslog in un cluster del servizio Azure Kubernetes esistente.

az aks enable-addons -a monitoring --enable-msi-auth-for-monitoring --enable-syslog -g syslog-rg -n existing-cluster

Uso di modelli di Azure Resource Manager

È anche possibile usare i modelli arm per abilitare la raccolta syslog

  1. Scaricare il modello nel file di contenuto GitHub e salvarlo come existingClusterOnboarding.json.

  2. Scaricare il file di parametri nel file di contenuto GitHub e salvarlo come existingClusterParam.json.

  3. Modificare i valori nel file dei parametri:

    • aksResourceId: usare i valori nella pagina Panoramica del servizio Azure Kubernetes per il cluster del servizio Azure Kubernetes.
    • aksResourceLocation: usare i valori nella pagina Panoramica del servizio Azure Kubernetes per il cluster del servizio Azure Kubernetes.
    • workspaceResourceId: usare l'ID risorsa dell'area di lavoro Log Analytics.
    • resourceTagValues: corrisponde ai valori di tag esistenti specificati per la regola DCR (Container Insights Data Collection) esistente del cluster e il nome del record di controllo di dominio. Il nome sarà MSCI-clusterName-clusterRegion<><> e questa risorsa creata in un gruppo di risorse cluster del servizio Azure Kubernetes. Se si tratta della prima volta che si esegue l'onboarding, è possibile impostare i valori arbitrari dei tag.
    • enableSyslog: impostato su true
    • syslogLevels: matrice di livelli syslog da raccogliere. Il valore predefinito raccoglie tutti i livelli.
    • syslogFacilities: matrice di strutture syslog da raccogliere. Il valore predefinito raccoglie tutte le strutture

Nota

La personalizzazione del livello e delle strutture di Syslog è attualmente disponibile solo tramite i modelli di Resource Manager.

Distribuire il modello

Distribuire il modello con il file di parametri usando qualsiasi metodo valido per la distribuzione di modelli di Resource Manager. Per esempi di metodi diversi, vedere Distribuire i modelli di esempio.

Distribuire con Azure PowerShell

New-AzResourceGroupDeployment -Name OnboardCluster -ResourceGroupName <ResourceGroupName> -TemplateFile .\existingClusterOnboarding.json -TemplateParameterFile .\existingClusterParam.json

Il completamento della modifica della configurazione può richiedere alcuni minuti. Al termine, un messaggio simile all'esempio seguente include questo risultato:

provisioningState       : Succeeded

Distribuire con l'interfaccia della riga di comando di Azure

az login
az account set --subscription "Subscription Name"
az deployment group create --resource-group <ResourceGroupName> --template-file ./existingClusterOnboarding.json --parameters @./existingClusterParam.json

Il completamento della modifica della configurazione può richiedere alcuni minuti. Al termine, un messaggio simile all'esempio seguente include questo risultato:

provisioningState       : Succeeded

Come accedere ai dati syslog

Accesso tramite cartelle di lavoro predefinite

Per ottenere uno snapshot rapido dei dati syslog, i clienti possono usare la cartella di lavoro syslog predefinita. Esistono due modi per accedere alla cartella di lavoro predefinita.

Opzione 1: scheda Report in Informazioni dettagliate contenitore. Passare al cluster. Aprire la scheda Insights per il cluster. Aprire la scheda Report e cercare la cartella di lavoro Syslog .

Video of Syslog workbook being accessed from Container Insights Reports tab.

Opzione 2: scheda Cartelle di lavoro nel servizio Azure Kubernetes Passare al cluster. Aprire la scheda Cartelle di lavoro per il cluster e cercare la cartella di lavoro syslog .

Video of Syslog workbook being accessed from cluster workbooks tab.

Accedere con un dashboard di Grafana

I clienti possono usare il dashboard Syslog per Grafana per ottenere una panoramica dei dati Syslog. I clienti che creano una nuova istanza di Grafana gestita da Azure avranno questo dashboard disponibile per impostazione predefinita. I clienti con istanze esistenti o che eseguono la propria istanza possono importare il dashboard Syslog dal marketplace di Grafana.

Nota

Per accedere a syslog da Container Insights, è necessario avere il ruolo lettore di monitoraggio nella sottoscrizione contenente l'istanza di Grafana gestita di Azure.

Screenshot of Syslog Grafana dashboard.

Accesso tramite query di log

I dati syslog vengono archiviati nella tabella Syslog nell'area di lavoro Log Analytics. È possibile creare query di log personalizzate in Log Analytics per analizzare questi dati o usare una delle query predefinite.

Screenshot of Syslog query loaded in the query editor in the Azure Monitor Portal UI.

È possibile aprire Log Analytics dal menu Log nel menu Monitoraggio per accedere ai dati Syslog per tutti i cluster o dal menu del cluster del servizio Azure Kubernetes per accedere ai dati Syslog solo per tale cluster.

Screenshot of Query editor with Syslog query.

Query di esempio

La tabella seguente mostra alcuni esempi di query di log che recuperano i record Syslog.

Query Descrizione
Syslog Tutti i syslog
Syslog | where SeverityLevel == "error" Tutti i record Syslog con gravità dell'errore
Syslog | summarize AggregatedValue = count() by Computer Conteggio dei record Syslog per computer
Syslog | summarize AggregatedValue = count() by Facility Numero di record Syslog per struttura
Syslog | where ProcessName == "kubelet" Tutti i record Syslog del processo kubelet
Syslog | where ProcessName == "kubelet" and SeverityLevel == "error" Record Syslog dal processo kubelet con errori

Modifica delle impostazioni della raccolta Syslog

Per modificare la configurazione per la raccolta Syslog, modificare la regola di raccolta dati creata quando è stata abilitata.

Selezionare Regole di raccolta dati dal menu Monitoraggio nel portale di Azure.

Screenshot of Data Collection Rules tab in the Azure Monitor portal UI.

Selezionare il Registro Azure Container e quindi Visualizzare le origini dati. Selezionare l'origine dati Syslog Linux per visualizzare i dettagli della raccolta Syslog.

Nota

Un record di controllo di dominio viene creato automaticamente quando si abilita syslog. Il DCR segue la convenzione MSCI-<WorkspaceRegion>-<ClusterName>di denominazione .

Screenshot of Data Sources tab for Syslog data collection rule.

Selezionare il livello di log minimo per ogni struttura da raccogliere.

Screenshot of Configuration panel for Syslog data collection rule.

Passaggi successivi

Dopo aver configurato i clienti, è possibile iniziare a inviare dati Syslog agli strumenti di propria scelta

Altre informazioni

Condividere i commenti e suggerimenti per questa funzionalità qui: https://forms.office.com/r/BBvCjjDLTS