Condividi tramite


Caricare log in Monitoraggio di Azure

Periodicamente, è possibile esportare i log e quindi caricarli in Azure. L'esportazione e il caricamento dei log creano e aggiornano anche il controller dei dati, l'istanza gestita di SQL e le risorse del server PostgreSQL in Azure.

Operazioni preliminari

Prima di poter caricare i log, è necessario:

  1. Creare un'area di lavoro Log Analytics
  2. Assegnare un ID e una chiave condivisa alle variabili di ambiente

Gli esempi in questo articolo usano parentesi angolari < ... > per identificare i valori che è necessario sostituire prima di eseguire lo script. Sostituire le parentesi quadre e i valori all'interno delle parentesi quadre.

Creare un'area di lavoro Log Analytics

Per creare un'area di lavoro Log Analytics, eseguire questi comandi per creare l'area di lavoro Log Analytics e impostare le informazioni di accesso nelle variabili di ambiente.

Nota

Ignorare questo passaggio se si dispone già di un'area di lavoro.

az monitor log-analytics workspace create --resource-group <resource group name> --workspace-name <some name you choose>

Output di esempio:

{
  "customerId": "00000000-0000-0000-0000-000000000000",
  "eTag": null,
  "id": "/subscriptions/<Subscription ID>/resourcegroups/user-arc-demo/providers/microsoft.operationalinsights/workspaces/user-logworkspace",
  "location": "eastus",
  "name": "user-logworkspace",
  "portalUrl": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "user-arc-demo",
  "retentionInDays": 30,
  "sku": {
    "lastSkuUpdate": "Thu, 30 Jul 2020 22:37:53 GMT",
    "maxCapacityReservationLevel": 3000,
    "name": "pergb2018"
  },
  "source": "Azure",
  "tags": null,
  "type": "Microsoft.OperationalInsights/workspaces"
}

Assegnare un ID e una chiave condivisa alle variabili di ambiente

Salvare customerId dell'area di lavoro Log Analytics come variabile di ambiente da usare in un secondo momento:

SET WORKSPACE_ID=<customerId>

Questo comando restituisce le chiavi di accesso necessarie per connettersi all'area di lavoro Log Analytics:

az monitor log-analytics workspace get-shared-keys --resource-group MyResourceGroup --workspace-name MyLogsWorkpace

Output di esempio:

{
  "primarySharedKey": "<primarySharedKey>==",
  "secondarySharedKey": "<secondarySharedKey>=="
}

Salvare la chiave primaria in una variabile di ambiente da usare in un secondo momento:

SET WORKSPACE_SHARED_KEY=<primarySharedKey>

Verificare le variabili di ambiente

Verificare che tutte le variabili di ambiente necessarie siano impostate:

echo %WORKSPACE_ID%
echo %WORKSPACE_SHARED_KEY%

Con le variabili di ambiente impostate, è possibile caricare i log nell'area di lavoro Log Analytics.

Configurare il caricamento automatico dei log nell'area di lavoro Log Analytics di Azure in modalità diretta tramite l'interfaccia della riga di comando az

Nella modalità diretta connessa, il caricamento dei log può essere configurato solo in modalità automatica. Questo caricamento automatico delle metriche può essere configurato durante o dopo la distribuzione del controller dei dati di Azure Arc.

Abilitare il caricamento automatico dei log nell'area di lavoro Log Analytics di Azure

Se il caricamento automatico dei log è stato disabilitato durante la distribuzione del controller dei dati di Azure Arc, eseguire il comando seguente per abilitare il caricamento automatico dei log.

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-logs true
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-logs true

Abilitare il caricamento automatico dei log nell'area di lavoro Log Analytics di Azure

Se il caricamento automatico dei log è stato abilitato durante la distribuzione del controller dei dati di Azure Arc, eseguire il comando seguente per disabilitare il caricamento automatico dei log.

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-logs false
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-logs false

Configurare il caricamento automatico dei log nell'area di lavoro Log Analytics di Azure in modalità diretta tramite l'interfaccia della riga di comando kubectl

Abilitare il caricamento automatico dei log nell'area di lavoro Log Analytics di Azure

Per configurare il caricamento automatico dei log tramite kubectl:

  • assicurarsi che l'area di lavoro Log Analytics venga creata come descritto nella sezione precedente
  • creare un segreto Kubernetes per l'area di lavoro Log Analytics usando WorkspaceID e SharedAccessKey come indicato di seguito:
apiVersion: v1
data:
  primaryKey: <base64 encoding of Azure Log Analytics workspace primary key>
  workspaceId: <base64 encoding of Azure Log Analytics workspace Id>
kind: Secret
metadata:
  name: log-workspace-secret
  namespace: <your datacontroller namespace>
type: Opaque
  • Per creare il segreto, eseguire:

    kubectl apply -f <myLogAnalyticssecret.yaml> --namespace <mynamespace>
    
  • Per aprire le impostazioni come file yaml nell'editor predefinito, eseguire:

    kubectl edit datacontroller <DC name> --name <namespace>
    
  • aggiornare la proprietà autoUploadLogs impostandola su "true"e salvare il file

Abilitare il caricamento automatico dei log nell'area di lavoro Log Analytics di Azure

Per disabilitare il caricamento automatico dei log, eseguire:

kubectl edit datacontroller <DC name> --name <namespace>
  • aggiornare la proprietà autoUploadLogs impostandola su "false"e salvare il file

Caricare i log in Monitoraggio di Azure in modalità indiretta

Per caricare i log per il servizio Istanza gestita di SQL abilitato da Azure Arc e i server PostgreSQL abilitati per Azure Arc, eseguire i comandi dell'interfaccia della riga di comando seguenti:

  1. Esportare tutti i log nel file specificato:

    Nota

    L'esportazione di informazioni di utilizzo/fatturazione, metriche e log usando il comando az arcdata dc export al momento richiede di ignorare la verifica SSL. Verrà richiesto di ignorare la verifica SSL oppure impostare la variabile di ambiente AZDATA_VERIFY_SSL=no per evitare la richiesta. Attualmente non è possibile configurare un certificato SSL per l'API di esportazione del controller dei dati.

    az arcdata dc export --type logs --path logs.json  --k8s-namespace arc
    
  2. Caricare i log in un'area di lavoro Log Analytics di Monitoraggio di Azure:

    az arcdata dc upload --path logs.json
    

Visualizzare i log nel portale di Azure

Dopo aver caricato i log, dovrebbe essere possibile eseguire una query su di essi usando la finestra di esplorazione delle query sui log nel modo seguente:

  1. Aprire il portale di Azure, cercare l'area di lavoro in base al nome nella barra di ricerca della parte superiore e selezionarla.
  2. Selezionare Log nel riquadro a sinistra.
  3. Fare clic su Informazioni di base oppure sui collegamenti nella pagina Informazioni di base per altre informazioni su Log Analytics se non si ha familiarità con questo strumento.
  4. Seguire l'esercitazione per altre informazioni su Log Analytics se lo si usa per la prima volta.
  5. Espandere i log personalizzati nella parte inferiore dell'elenco delle tabelle; viene visualizzata una tabella denominata "sql_instance_logs_CL" o "postgresInstances_postgresql_logs_CL".
  6. Selezionare l'icona a forma di occhio accanto al nome della tabella.
  7. Selezionare il pulsante "Visualizza in editor di query".
  8. A questo punto, nell'editor di query viene visualizzata una query che mostra i 10 eventi più recenti nel log.
  9. Da qui è possibile provare a eseguire query sui log usando l'editor di query, impostare gli avvisi e così via.

Automazione dei caricamenti (facoltativo)

Per caricare metriche e log in base a una pianificazione, è possibile creare uno script ed eseguirlo in un timer ogni pochi minuti. Di seguito è riportato un esempio di automazione dei caricamenti usando uno script della shell Linux.

Nell'editor di testo/codice preferito aggiungere lo script seguente al file e salvare come file di script eseguibile, ad esempio .sh (Linux/Mac), .cmd, .bat o .ps1 (Windows).

az arcdata dc export --type logs --path logs.json --force --k8s-namespace arc
az arcdata dc upload --path logs.json

Rendere eseguibile il file di script

chmod +x myuploadscript.sh

Eseguire lo script ogni 20 minuti:

watch -n 1200 ./myuploadscript.sh

È anche possibile usare un'utilità di pianificazione dei processi come Cron o Utilità di pianificazione di Windows o un agente di orchestrazione come Ansible, Puppet o Chef.

Caricare metriche e log in Monitoraggio di Azure

Caricare dati di utilizzo, metriche e log in Monitoraggio di Azure

Caricare i dati di fatturazione in Azure e visualizzarli nel portale di Azure

Visualizzare la risorsa del controller dei dati di Azure Arc nel portale di Azure