Usare l'archiviazione BLOB di Azure per IIS e l'archiviazione tabelle di Azure per gli eventi con Log AnalyticsUse Azure blob storage for IIS and Azure table storage for events with Log Analytics

Log Analytics è in grado di leggere i log per i servizi seguenti che scrivono dati di diagnostica nell'archivio tabelle o log di IIS nell'archivio BLOB:Log Analytics can read the logs for the following services that write diagnostics to table storage or IIS logs written to blob storage:

  • Cluster di Service Fabric (Anteprima)Service Fabric clusters (Preview)
  • Macchine virtualiVirtual Machines
  • Ruoli di lavoro/WebWeb/Worker Roles

Affinché Log Analytics possa raccogliere i dati per tali risorse, è necessario abilitare la diagnostica di Azure.Before Log Analytics can collect data for these resources, Azure diagnostics must be enabled.

Dopo l'abilitazione della diagnostica, è possibile usare il Portale di Azure o PowerShell per configurare Log Analytics per la raccolta dei log.Once diagnostics are enabled, you can use the Azure portal or PowerShell configure Log Analytics to collect the logs.

Diagnostica di Azure è un'estensione di Azure che consente di raccogliere i dati di diagnostica da un ruolo di lavoro, da un ruolo Web o da una macchina virtuale in esecuzione in Azure.Azure Diagnostics is an Azure extension that enables you to collect diagnostic data from a worker role, web role, or virtual machine running in Azure. I dati vengono memorizzati in un account di archiviazione di Azure e possono quindi essere raccolti da Log Analytics.The data is stored in an Azure storage account and can then be collected by Log Analytics.

Per consentire a Log Analytics di raccogliere questi log di Diagnostica di Azure, è necessario che i log si trovino nelle posizioni seguenti:For Log Analytics to collect these Azure Diagnostics logs, the logs must be in the following locations:

Tipo di logLog Type Tipo di risorsaResource Type LocalitàLocation
Log di IISIIS logs Macchine virtualiVirtual Machines
Ruoli WebWeb roles
Ruoli di lavoroWorker roles
wad-iis-logfiles (archivio BLOB)wad-iis-logfiles (Blob Storage)
syslogSyslog Macchine virtualiVirtual Machines LinuxsyslogVer2v0 (archivio tabelle)LinuxsyslogVer2v0 (Table Storage)
Eventi operativi di Service FabricService Fabric Operational Events Nodi di Service FabricService Fabric nodes WADServiceFabricSystemEventTableWADServiceFabricSystemEventTable
Eventi di Reliable Actor di Service FabricService Fabric Reliable Actor Events Nodi di Service FabricService Fabric nodes WADServiceFabricReliableActorEventTableWADServiceFabricReliableActorEventTable
Eventi di Reliable Service di Service FabricService Fabric Reliable Service Events Nodi di Service FabricService Fabric nodes WADServiceFabricReliableServiceEventTableWADServiceFabricReliableServiceEventTable
Registri eventi di WindowsWindows Event logs Nodi di Service FabricService Fabric nodes
Macchine virtualiVirtual Machines
Ruoli WebWeb roles
Ruoli di lavoroWorker roles
WADWindowsEventLogsTable (archivio tabelle)WADWindowsEventLogsTable (Table Storage)
Log di Windows ETWWindows ETW logs Nodi di Service FabricService Fabric nodes
Macchine virtualiVirtual Machines
Ruoli WebWeb roles
Ruoli di lavoroWorker roles
WADETWEventTable (archivio tabelle)WADETWEventTable (Table Storage)

Nota

I log IIS provenienti dai siti Web di Azure non sono attualmente supportati.IIS logs from Azure Websites are not currently supported.

Per le macchine virtuali è anche possibile installare l'agente di Log Analytics nella macchina virtuale per abilitare la raccolta di informazioni aggiuntive.For virtual machines, you have the option of installing the Log Analytics agent into your virtual machine to enable additional insights. In questo modo è possibile analizzare i log IIS e i registri eventi, oltre che eseguire ulteriori analisi, tra cui il rilevamento delle modifiche alla configurazione, la valutazione degli aggiornamenti e la valutazione di SQL.In addition to being able to analyze IIS logs and Event Logs, you can perform additional analysis including configuration change tracking, SQL assessment, and update assessment.

Abilitare la diagnostica di Azure in una macchina virtuale per la raccolta di log eventi e IISEnable Azure diagnostics in a virtual machine for event log and IIS log collection

Usare la procedura seguente per abilitare la Diagnostica di Azure in una macchina virtuale per la raccolta di log di eventi e IIS tramite il portale di Microsoft Azure.Use the following procedure to enable Azure diagnostics in a virtual machine for Event Log and IIS log collection using the Microsoft Azure portal.

Per abilitare la Diagnostica di Azure in una macchina virtuale con il portale di AzureTo enable Azure diagnostics in a virtual machine with the Azure portal

  1. Installare l'agente di macchine virtuali quando si crea una macchina virtuale.Install the VM Agent when you create a virtual machine. Se la macchina virtuale esiste già, verificare che l'agente di macchine virtuali sia già installato.If the virtual machine already exists, verify that the VM Agent is already installed.

    • Nel portale di Azure passare alla macchina virtuale, selezionare Configurazione facoltativa, quindi Diagnostica e impostare lo Stato su .In the Azure portal, navigate to the virtual machine, select Optional Configuration, then Diagnostics and set Status to On.

      Al termine, nella VM risulta installata e in esecuzione l'estensione di Diagnostica di Azure,Upon completion, the VM has the Azure Diagnostics extension installed and running. che ha il compito di raccogliere i dati di diagnostica.This extension is responsible for collecting your diagnostics data.

  2. Abilitare il monitoraggio e configurare la registrazione degli eventi su una macchina virtuale esistente.Enable monitoring and configure event logging on an existing VM. La diagnostica può essere abilitata a livello di macchina virtuale.You can enable diagnostics at the VM level. Per abilitare la diagnostica e quindi configurare la registrazione degli eventi, eseguire la procedura seguente:To enable diagnostics and then configure event logging, perform the following steps:

    1. Selezionare la macchina virtuale.Select the VM.
    2. Fare clic su Monitoraggio.Click Monitoring.
    3. Fare clic su Diagnostica.Click Diagnostics.
    4. Impostare lo Stato su .Set the Status to ON.
    5. Selezionare ogni log di diagnostica da raccogliere.Select each diagnostics log that you want to collect.
    6. Fare clic su OK.Click OK.

Abilitare Diagnostica di Azure in un ruolo Web per la raccolta di eventi e log IISEnable Azure diagnostics in a Web role for IIS log and event collection

Consultare l'argomento su come abilitare la diagnostica in un servizio cloud per una procedura generale di abilitazione della Diagnostica di Azure.Refer to How To Enable Diagnostics in a Cloud Service for general steps on enabling Azure diagnostics. Le istruzioni seguenti usano queste informazioni, personalizzandole per l'uso con Log Analytics.The instructions below use this information and customize it for use with Log Analytics.

Con Diagnostica di Azure abilitata:With Azure diagnostics enabled:

  • Per impostazione predefinita, i log di IIS vengono archiviati e i dati dei log vengono trasferiti in base all'intervallo di trasferimento scheduledTransferPeriod.IIS logs are stored by default, with log data transferred at the scheduledTransferPeriod transfer interval.
  • Per impostazione predefinita, i registri eventi di Windows non vengono trasferiti.Windows Event Logs are not transferred by default.

Per abilitare la diagnosticaTo enable diagnostics

Per abilitare i registri eventi di Windows o per modificare scheduledTransferPeriod, configurare Diagnostica di Azure con il file di configurazione XML (diagnostics.wadcfg), come mostrato in Passaggio 4: Creare il file di configurazione della diagnostica e installare l'estensione.To enable Windows Event Logs, or to change the scheduledTransferPeriod, configure Azure Diagnostics using the XML configuration file (diagnostics.wadcfg), as shown in Step 4: Create your Diagnostics configuration file and install the extension

Il file di configurazione di esempio seguente raccoglie i log IIS e tutti gli eventi dai log di applicazione e sistema:The following example configuration file collects IIS Logs and all Events from the Application and System logs:

    <?xml version="1.0" encoding="utf-8" ?>
    <DiagnosticMonitorConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"
          configurationChangePollInterval="PT1M"
          overallQuotaInMB="4096">

      <Directories bufferQuotaInMB="0"
         scheduledTransferPeriod="PT10M">  
        <!-- IISLogs are only relevant to Web roles -->
        <IISLogs container="wad-iis" directoryQuotaInMB="0" />
      </Directories>

      <WindowsEventLog bufferQuotaInMB="0"
         scheduledTransferLogLevelFilter="Verbose"
         scheduledTransferPeriod="PT10M">
        <DataSource name="Application!*" />
        <DataSource name="System!*" />
      </WindowsEventLog>

    </DiagnosticMonitorConfiguration>

Assicurarsi che ConfigurationSettings specifichi un account di archiviazione, come illustrato nell'esempio seguente:Ensure that your ConfigurationSettings specifies a storage account, as in the following example:

    <ConfigurationSettings>
       <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<AccountName>;AccountKey=<AccountKey>"/>
    </ConfigurationSettings>

I valori AccountName e AccountKey sono disponibili nel dashboard dell'account di archiviazione del portale di Azure in Gestisci chiavi di accesso.The AccountName and AccountKey values are found in the Azure portal in the storage account dashboard, under Manage Access Keys. Il protocollo per la stringa di connessione deve essere https.The protocol for the connection string must be https.

Dopo che la configurazione della diagnostica aggiornata è stata applicata al servizio cloud e ha iniziato a scrivere la diagnostica in Archiviazione di Azure, è possibile configurare Log Analytics.Once the updated diagnostic configuration is applied to your cloud service and it is writing diagnostics to Azure Storage, then you are ready to configure Log Analytics.

Usare il portale di Azure per raccogliere log da Archiviazione di AzureUse the Azure portal to collect logs from Azure Storage

È possibile usare il portale di Azure per configurare Log Analytics per raccogliere i log per i servizi di Azure seguenti:You can use the Azure portal to configure Log Analytics to collect the logs for the following Azure services:

  • Cluster di Service FabricService Fabric clusters
  • Macchine virtualiVirtual Machines
  • Ruoli di lavoro/WebWeb/Worker Roles

Nel portale di Azure passare all'area di lavoro di Log Analytics ed eseguire queste attività:In the Azure portal, navigate to your Log Analytics workspace and perform the following tasks:

  1. Fare clic su Log account di archiviazioneClick Storage accounts logs
  2. Fare clic sull'attività AggiungiClick the Add task
  3. Selezionare l'account di archiviazione che contiene i log di diagnosticaSelect the Storage account that contains the diagnostics logs
    • L'account di archiviazione può essere di tipo classico oppure un account di archiviazione di Azure Resource ManagerThis account can be either a classic storage account or an Azure Resource Manager storage account
  4. Selezionare il tipo di dati per cui si vogliono raccogliere i logSelect the Data Type you want to collect logs for
    • È possibile scegliere tra log IIS, log eventi, SysLog (Linux), log ETW ed eventi Service Fabric.The choices are IIS Logs; Events; Syslog (Linux); ETW Logs; Service Fabric Events
  5. Il valore per l'origine viene compilato automaticamente in base al tipo di dati e non può essere modificatoThe value for Source is automatically populated based on the data type and cannot be changed
  6. Fare clic su OK per salvare la configurazioneClick OK to save the configuration

Ripetere i passaggi da 2 a 6 per account di archiviazione aggiuntivi e tipi di dati che devono essere raccolti da Log Analytics.Repeat steps 2-6 for additional storage accounts and data types that you want Log Analytics to collect.

Nel giro di 30 minuti circa è possibile visualizzare i dati dell'account di archiviazione in Log Analytics.In approximately 30 minutes, you are able to see data from the storage account in Log Analytics. Verranno visualizzati solo i dati scritti nell'archivio dopo l'applicazione della configurazione.You will only see data that is written to storage after the configuration is applied. Log Analytics non legge i dati preesistenti dall'account di archiviazione.Log Analytics does not read the pre-existing data from the storage account.

Nota

Il portale non conferma l'esistenza dell'origine nell'account di archiviazione e non verifica se vengono scritti nuovi dati.The portal does not validate that the Source exists in the storage account or if new data is being written.

Abilitare la diagnostica di Azure in una macchina virtuale per la raccolta di log eventi e log IIS tramite PowerShellEnable Azure diagnostics in a virtual machine for event log and IIS log collection using PowerShell

Usare la procedura Configurazione di Log Analytics per indicizzare Diagnostica di Azure per leggere tramite PowerShell i dati di Diagnostica di Azure scritti nell'archiviazione tabelle.Use the steps in Configuring Log Analytics to index Azure diagnostics to use PowerShell to read from Azure diagnostics that are written to table storage.

Con Azure PowerShell è possibile specificare in modo più preciso gli eventi che vengono scritti nell'Archiviazione di Azure.Using Azure PowerShell you can more precisely specify the events that are written to Azure Storage. Per altre informazioni, vedere Abilitare la diagnostica nelle macchine virtuali di Azure.For more information, see Enabling Diagnostics in Azure Virtual Machines.

È possibile abilitare e aggiornare la Diagnostica di Azure con il seguente script PowerShell.You can enable and update Azure diagnostics using the following PowerShell script. È possibile usare questo script anche con una configurazione della registrazione personalizzata.You can also use this script with a custom logging configuration. Modificare lo script per impostare l'account di archiviazione, il nome del servizio e il nome della macchina virtuale.Modify the script to set the storage account, service name, and virtual machine name. Lo script usa i cmdlet per le macchine virtuali di tipo classico.The script uses cmdlets for classic virtual machines.

Esaminare il seguente script di esempio, copiarlo, modificarlo se necessario, salvare l'esempio come file script di PowerShell e quindi eseguire lo script.Review the following script sample, copy it, modify it as needed, save the sample as a PowerShell script file, and then run the script.

    #Connect to Azure
    Add-AzureAccount

    # settings to change:
    $wad_storage_account_name = "myStorageAccount"
    $service_name = "myService"
    $vm_name = "myVM"

    #Construct Azure Diagnostics public config and convert to config format

    # Collect just system error events:
    $wad_xml_config = "<WadCfg><DiagnosticMonitorConfiguration><WindowsEventLog scheduledTransferPeriod=""PT1M""><DataSource name=""System!* "" /></WindowsEventLog></DiagnosticMonitorConfiguration></WadCfg>"

    $wad_b64_config = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($wad_xml_config))
    $wad_public_config = [string]::Format("{{""xmlCfg"":""{0}""}}",$wad_b64_config)

    #Construct Azure diagnostics private config

    $wad_storage_account_key = (Get-AzureStorageKey $wad_storage_account_name).Primary
    $wad_private_config = [string]::Format("{{""storageAccountName"":""{0}"",""storageAccountKey"":""{1}""}}",$wad_storage_account_name,$wad_storage_account_key)

    #Enable Diagnostics Extension for Virtual Machine

    $wad_extension_name = "IaaSDiagnostics"
    $wad_publisher = "Microsoft.Azure.Diagnostics"
    $wad_version = (Get-AzureVMAvailableExtension -Publisher $wad_publisher -ExtensionName $wad_extension_name).Version # Gets latest version of the extension

    (Get-AzureVM -ServiceName $service_name -Name $vm_name) | Set-AzureVMExtension -ExtensionName $wad_extension_name -Publisher $wad_publisher -PublicConfiguration $wad_public_config -PrivateConfiguration $wad_private_config -Version $wad_version | Update-AzureVM

Passaggi successiviNext steps