Archiviare i log delle risorse di Azure nell'account di archiviazioneArchive Azure resource logs to storage account

I log delle risorse in Azure forniscono dati avanzati e frequenti sul funzionamento interno di una risorsa di Azure.Resource logs in Azure provide rich, frequent data about the internal operation of an Azure resource. Questo articolo descrive come raccogliere i log delle risorse in un account di archiviazione di Azure per conservare i dati per l'archiviazione.This article describes collecting resource logs to an Azure storage account to retain data for archiving.

prerequisitiPrerequisites

È necessario creare un account di archiviazione di Azure , se non ne è già presente uno.You need to create an Azure storage account if you don't already have one. L'account di archiviazione non deve trovarsi nella stessa sottoscrizione della risorsa che invia log, purché l'utente che configura l'impostazione disponga dell'accesso RBAC appropriato a entrambe le sottoscrizioni.The storage account does not have to be in the same subscription as the resource sending logs as long as the user who configures the setting has appropriate RBAC access to both subscriptions.

Importante

Gli account Azure Data Lake Storage Gen2 non sono attualmente supportati come destinazione per le impostazioni di diagnostica anche se possono essere elencati come un'opzione valida nel portale di Azure.Azure Data Lake Storage Gen2 accounts are not currently supported as a destination for diagnostic settings even though they may be listed as a valid option in the Azure portal.

Non usare un account di archiviazione esistente con altri dati non di monitoraggio archiviati, in modo da poter controllare meglio l'accesso ai dati di monitoraggio.You should not use an existing storage account that has other, non-monitoring data stored in it so that you can better control access to monitoring data. Se tuttavia si archivia anche il log attività in un account di archiviazione, è possibile scegliere di usare lo stesso account di archiviazione per conservare tutti i dati di monitoraggio in una posizione centrale.If you are also archiving the Activity log to a storage account though, you may choose to use that same storage account to keep all monitoring data in a central location.

Creare un'impostazione di diagnosticaCreate a diagnostic setting

I log delle risorse non vengono raccolti per impostazione predefinita.Resource logs are not collected by default. Raccoglierli in un account di archiviazione di Azure e in altre destinazioni creando un'impostazione di diagnostica per una risorsa di Azure.Collect them in an Azure storage account and other destinations by creating a diagnostic setting for an Azure resource. Per informazioni dettagliate, vedere creare un'impostazione di diagnostica per raccogliere log e metriche in Azure .See Create diagnostic setting to collect logs and metrics in Azure for details.

Conservazione dei datiData retention

I criteri di conservazione definiscono il numero di giorni per cui conservare i dati di ogni categoria di log e i dati delle metriche archiviati in un account di archiviazione.The retention policy defines the number of days to retain the data from each log category and metric data stored in a storage account. Un criterio di conservazione può essere un numero qualsiasi di giorni compreso tra 0 e 365.A retention policy can be any number of days between 0 and 365. Un criterio di conservazione pari a zero specifica che gli eventi per tale categoria di log vengono archiviati per un periodo illimitato.A retention policy of zero specifies that the events for that log category are stored indefinitely.

I criteri di conservazione vengono applicati su base giornaliera. Al termine della giornata, i log relativi a tale giornata che non rientrano più nei criteri di conservazione verranno eliminati.Retention policies are applied per-day, so at the end of a day (UTC), logs from the day that is now beyond the retention policy will be deleted. Se, ad esempio, è presente un criterio di conservazione di un giorno, all'inizio della giornata attuale vengono eliminati i log relativi alla giornata precedente a ieri.For example, if you had a retention policy of one day, at the beginning of the day today the logs from the day before yesterday would be deleted. Il processo di eliminazione inizia a mezzanotte UTC, ma si noti che possono essere necessarie fino a 24 ore per l'eliminazione dei log dall'account di archiviazione.The delete process begins at midnight UTC, but note that it can take up to 24 hours for the logs to be deleted from your storage account.

Schema dei log delle risorse nell'account di archiviazioneSchema of resource logs in storage account

Dopo aver creato l'impostazione di diagnostica, viene creato un contenitore di archiviazione nell'account di archiviazione non appena si verifica un evento in una delle categorie di log abilitate.Once you have created the diagnostic setting, a storage container is created in the storage account as soon as an event occurs in one of the enabled log categories. I BLOB all'interno del contenitore usano la convenzione di denominazione seguente:The blobs within the container use the following naming convention:

insights-logs-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/RESOURCEGROUPS/{resource group name}/PROVIDERS/{resource provider name}/{resource type}/{resource name}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json

Ad esempio, il BLOB per un gruppo di sicurezza di rete potrebbe avere un nome simile al seguente:For example, the blob for a network security group might have a name similar to the following:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUP/TESTNSG/y=2016/m=08/d=22/h=18/m=00/PT1H.json

Ogni BLOB PT1H.json contiene un BLOB JSON di eventi che si sono verificati nell'ora specificata nell'URL BLOB (ad esempio, h=12).Each PT1H.json blob contains a JSON blob of events that occurred within the hour specified in the blob URL (for example, h=12). Durante l'ora attuale, gli eventi vengono aggiunti al file PT1H.json man mano che si verificano.During the present hour, events are appended to the PT1H.json file as they occur. Il valore dei minuti (m = 00) è sempre 00, perché gli eventi del log delle risorse sono suddivisi in singoli BLOB all'ora.The minute value (m=00) is always 00, since resource log events are broken into individual blobs per hour.

All'interno del file PT1H. JSON ogni evento viene archiviato con il formato seguente.Within the PT1H.json file, each event is stored with the following format. Verrà usato uno schema di primo livello comune, ma sarà univoco per ogni servizio di Azure, come descritto in schema dei log delle risorse.This will use a common top level schema but be unique for each Azure services as described in Resource logs schema.

{"time": "2016-07-01T00:00:37.2040000Z","systemId": "46cdbb41-cb9c-4f3d-a5b4-1d458d827ff1","category": "NetworkSecurityGroupRuleCounter","resourceId": "/SUBSCRIPTIONS/s1id1234-5679-0123-4567-890123456789/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/TESTNSG","operationName": "NetworkSecurityGroupCounters","properties": {"vnetResourceGuid": "{12345678-9012-3456-7890-123456789012}","subnetPrefix": "10.3.0.0/24","macAddress": "000123456789","ruleName": "/subscriptions/ s1id1234-5679-0123-4567-890123456789/resourceGroups/testresourcegroup/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/default-allow-rdp","direction": "In","type": "allow","matchedConnections": 1988}}

Nota

I log di piattaforma vengono scritti nell'archiviazione BLOB usando le righe JSON, dove ogni evento è una riga e il carattere di nuova riga indica un nuovo evento.Platform logs are written to blob storage using JSON lines, where each event is a line and the newline character indicates a new event. Questo formato è stato implementato nel 2018 novembre.This format was implemented in November 2018. Prima di questa data, i log venivano scritti nell'archiviazione BLOB come una matrice di record JSON, come descritto in preparare la modifica del formato ai log della piattaforma di monitoraggio di Azure archiviati in un account di archiviazione.Prior to this date, logs were written to blob storage as a json array of records as described in Prepare for format change to Azure Monitor platform logs archived to a storage account.

Passaggi successiviNext steps