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 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 ID e 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 un'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": "d6abb435-2626-4df1-b887-445fe44a4123",
  "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 ID e chiave condivisa alle variabili di ambiente

Salvare l'analisi dell'area di lavoro customerId log 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": "JXzQp1RcGgjXFCDS3v0sXoxPvbgCoGaIv35lf11Km2WbdGFvLXqaydpaj1ByWGvKoCghL8hL4BRoypXxkLr123==",
  "secondarySharedKey": "p2XHSxLJ4o9IAqm2zINcEmx0UWU5Z5EZz8PQC0OHpFjdpuVaI0zsPbTv5VyPFgaCUlCZb2yEbkiR4eTuTSF123=="
}

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 se si vuole:

echo %WORKSPACE_ID%
echo %WORKSPACE_SHARED_KEY%

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

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

Nella modalità connessa diretta, il caricamento dei log può essere configurato solo in modalità automatica. Questo caricamento automatico delle metriche può essere configurato durante la distribuzione o dopo la distribuzione del controller 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 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 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 kubectl della riga di comando

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 in "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 in "false"e salvare il file

Caricare i log in Monitoraggio di Azure in modalità indiretta

Per caricare i log per Istanza gestita di SQL abilitati dai server PostgreSQL abilitati per Azure Arc e 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 richiede il bypass della verifica SSL per il momento. Verrà richiesto di ignorare la verifica SSL oppure impostare la AZDATA_VERIFY_SSL=no variabile di ambiente per evitare la richiesta. Attualmente non è possibile configurare un certificato SSL per l'API di esportazione del controller 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 in 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 e quindi cercare l'area di lavoro in base al nome nella barra di ricerca nella parte superiore e quindi selezionarla.
  2. Selezionare Log nel pannello sinistro.
  3. Selezionare Get Started (Introduzione) o selezionare i collegamenti nella pagina Introduzione per altre informazioni su Log Analytics, se non si ha familiarità.
  4. Seguire l'esercitazione per altre informazioni su Log Analytics se è la prima volta che si usa Log Analytics.
  5. Espandere Log personalizzati nella parte inferiore dell'elenco delle tabelle e verrà visualizzata una tabella denominata "sql_instance_logs_CL" o "postgresInstances_postgresql_logs_CL".
  6. Selezionare l'icona "occhio" accanto al nome della tabella.
  7. Selezionare il pulsante "Visualizza nell'editor di query".
  8. Si avrà ora una query nell'editor di query che mostrerà 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)

Se si vogliono 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 eseguibile di script, ad esempio .sh (Linux/Mac), .cmd, .bato .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 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 dati di Azure Arc in portale di Azure