SI APPLICA A:
NoSQL
MongoDB
Cassandra
Gremlin
Tavolo
È possibile raccogliere i log delle risorse in Azure usando le impostazioni di diagnostica. Le risorse generano log delle risorse di Azure e forniscono dati completi e frequenti sul funzionamento di tale risorsa. Questi log vengono acquisiti su richiesta e sono detti anche log del piano dati. Alcuni esempi di operazioni del piano dati includono eliminazione, inserimento e readFeed. Il contenuto di questi log varia in base al tipo di risorsa.
Per altre informazioni sulle impostazioni di diagnostica, vedere Impostazioni di diagnostica in Monitoraggio di Azure.
Note
È consigliabile creare l’impostazione di diagnostica nella modalità specifica della risorsa, per tutte le API ad eccezione dell’API per la tabella, seguendo le istruzioni nella scheda API REST. Questa opzione offre ottimizzazioni dei costi aggiuntive con una visualizzazione migliorata per la gestione dei dati.
Prerequisiti
- Un account Azure Cosmos DB esistente.
- Area di lavoro Log Analytics di Monitoraggio di Azure esistente.
Avviso
Se è necessario eliminare, rinominare o spostare una risorsa oppure eseguirne la migrazione tra gruppi di risorse o sottoscrizioni, eliminare prima le impostazioni di diagnostica. In caso contrario, se si ricrea questa risorsa, le impostazioni di diagnostica della risorsa eliminata potrebbero essere incluse nella nuova risorsa, a seconda della configurazione di ciascuna. Se le impostazioni di diagnostica sono incluse nella nuova risorsa, viene ripresa la raccolta dei log delle risorse come definita nell'impostazione di diagnostica e i dati delle metriche e dei log applicabili alla destinazione configurata in precedenza.
Inoltre, è consigliabile eliminare le impostazioni di diagnostica per una risorsa che si intende eliminare e non pianificarne di nuovo l'uso per mantenere pulito l'ambiente.
Creare impostazioni di diagnostica
In questa sezione viene illustrato il processo di creazione delle impostazioni di diagnostica per l'account.
Note
La metrica per i log di esportazione come categoria non è attualmente supportata.
Accedere al portale di Azure.
Passare all'account Azure Cosmos DB esistente.
Nella sezione Monitoraggio del menu delle risorse selezionare Impostazioni di diagnostica. Selezionare quindi l'opzione Aggiungi impostazione di diagnostica.
Importante
Potrebbe essere visualizzata una richiesta per “abilitare la query full-text [...] per una registrazione più dettagliata” se la funzionalità di query full-text non è abilitata nell’account. È possibile ignorare questo avviso in modo sicuro se non si vuole abilitare questa funzionalità. Per altre informazioni, vedere Abilitare la query full-text.
Nel riquadro Impostazioni di diagnostica, denominare l'impostazione example-setting e quindi selezionare la categoria QueryRuntimeStatistics. Abilitare la casella di controllo Invia all’area di lavoro Log Analytics selezionando l’area di lavoro esistente. Infine, selezionare Specifico della risorsa come opzione di destinazione.
Usare il comando az monitor diagnostic-settings create per creare un'impostazione di diagnostica con l'interfaccia della riga di comando di Azure. Per informazioni sui parametri del comando, vedere la documentazione.
Assicurarsi di aver eseguito l'accesso all'interfaccia della riga di comando di Azure. Per altre informazioni, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Usare az monitor diagnostic-settings create per creare l'impostazione.
az monitor diagnostic-settings create \
--resource $(az cosmosdb show \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--query "id" \
--output "tsv" \
) \
--workspace $(az monitor log-analytics workspace show \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--query "id" \
--output "tsv" \
) \
--name "example-setting" \
--export-to-resource-specific true \
--logs '[
{
"category": "QueryRuntimeStatistics",
"enabled": true
}
]'
Importante
In questo esempio viene usato l'argomento --export-to-resource-specific per abilitare tabelle specifiche delle risorse.
Esaminare i risultati della creazione della nuova impostazione usando az monitor diagnostics-settings show.
az monitor diagnostic-settings show \
--name "example-setting" \
--resource $(az cosmosdb show \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--query "id" \
--output "tsv" \
)
Usare l'API REST di Monitoraggio di Azure per creare un'impostazione di diagnostica tramite la console interattiva.
Assicurarsi di aver eseguito l'accesso all'interfaccia della riga di comando di Azure. Per altre informazioni, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Creare l'impostazione di diagnostica per la risorsa di Azure Cosmos DB usando una richiesta HTTP PUT e az rest.
diagnosticSettingName="example-setting"
resourceId=$(az cosmosdb show \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--query "id" \
--output "tsv" \
)
workspaceId=$(az monitor log-analytics workspace show \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--query "id" \
--output "tsv" \
)
az rest \
--method "PUT" \
--url "$resourceId/providers/Microsoft.Insights/diagnosticSettings/$diagnosticSettingName" \
--url-parameters "api-version=2021-05-01-preview" \
--body '{
"properties": {
"workspaceId": "'"$workspaceId"'",
"logs": [
{
"category": "QueryRuntimeStatistics",
"enabled": true
}
],
"logAnalyticsDestinationType": "Dedicated"
}
}'
Importante
Questo esempio imposta la proprietà logAnalyticsDestinationType su Dedicated per abilitare tabelle specifiche delle risorse.
Usare di nuovo az rest con un verbo GET HTTP per ottenere le proprietà dell'impostazione di diagnostica.
diagnosticSettingName="example-setting"
resourceId=$(az cosmosdb show \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--query "id" \
--output "tsv" \
)
az rest \
--method "GET" \
--url "$resourceId/providers/Microsoft.Insights/diagnosticSettings/$diagnosticSettingName" \
--url-parameters "api-version=2021-05-01-preview"
Usare un modello Bicep per creare la configurazione diagnostica.
Assicurarsi di aver eseguito l'accesso all'interfaccia della riga di comando di Azure. Per altre informazioni, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Creare un file denominato diagnosticSetting.bicep.
Immettere il contenuto del modello Bicep seguente che distribuisce l'impostazione di diagnostica per la risorsa di Azure Cosmos DB.
@description('The name of the diagnostic setting to create.')
param diagnosticSettingName string = 'example-setting'
@description('The name of the Azure Cosmos DB account to monitor.')
param azureCosmosDbAccountName string
@description('The name of the Azure Monitor Log Analytics workspace to use.')
param logAnalyticsWorkspaceName string
resource azureCosmosDbAccount 'Microsoft.DocumentDB/databaseAccounts@2021-06-15' existing = {
name: azureCosmosDbAccountName
}
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2023-09-01' existing = {
name: logAnalyticsWorkspaceName
}
resource diagnosticSetting 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = {
name: diagnosticSettingName
scope: azureCosmosDbAccount
properties: {
workspaceId: logAnalyticsWorkspace.id
logAnalyticsDestinationType: 'Dedicated'
logs: [
{
category: 'QueryRuntimeStatistics'
enabled: true
}
]
}
}
Importante
Questo esempio imposta la proprietà logAnalyticsDestinationType su Dedicated per abilitare tabelle specifiche delle risorse.
Distribuire il modello usando az deployment group create.
az deployment group create \
--resource-group "<resource-group-name>" \
--template-file diagnosticSetting.bicep \
--parameters \
azureCosmosDbAccountName="<azure-cosmos-db-account-name>" \
logAnalyticsWorkspaceName="<log-analytics-workspace-name>"
Suggerimento
Usare il comando az bicep build per convertire il modello Bicep in un modello di Azure Resource Manager.
Usare un modello di Azure Resource Manager per creare l'impostazione di diagnostica.
Assicurarsi di aver eseguito l'accesso all'interfaccia della riga di comando di Azure. Per altre informazioni, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Creare un file denominato diagnosticSetting.bicep.
Immettere il contenuto del modello di Resource Manager seguente che distribuisce l'impostazione di diagnostica per la risorsa di Azure Cosmos DB.
{
"$schema": "<https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#>",
"contentVersion": "1.0.0.0",
"parameters": {
"diagnosticSettingName": {
"type": "string",
"defaultValue": "example-setting",
"metadata": {
"description": "The name of the diagnostic setting to create."
}
},
"azureCosmosDbAccountName": {
"type": "string",
"metadata": {
"description": "The name of the Azure Cosmos DB account to monitor."
}
},
"logAnalyticsWorkspaceName": {
"type": "string",
"metadata": {
"description": "The name of the Azure Monitor Log Analytics workspace to use."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/diagnosticSettings",
"apiVersion": "2021-05-01-preview",
"scope": "[format('Microsoft.DocumentDB/databaseAccounts/{0}', parameters('azureCosmosDbAccountName'))]",
"name": "[parameters('diagnosticSettingName')]",
"properties": {
"workspaceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('logAnalyticsWorkspaceName'))]",
"logAnalyticsDestinationType": "Dedicated",
"logs": [
{
"category": "QueryRuntimeStatistics",
"enabled": true
}
]
}
}
]
}
Importante
Questo esempio imposta la proprietà logAnalyticsDestinationType su Dedicated per abilitare tabelle specifiche delle risorse.
Distribuire il modello usando az deployment group create.
az deployment group create \
--resource-group "<resource-group-name>" \
--template-file azuredeploy.json \
--parameters \
azureCosmosDbAccountName="<azure-cosmos-db-account-name>" \
logAnalyticsWorkspaceName="<log-analytics-workspace-name>"
Suggerimento
Usare il comando az bicep decompile per convertire il modello di Azure Resource Manager in un modello Bicep.
Abilitare la query full-text per la registrazione del testo della query
Azure Cosmos DB offre la registrazione avanzata per la risoluzione dei problemi dettagliata. Abilitando la query full-text, sarà possibile visualizzare la query completa per tutte le richieste all'interno dell'account Azure Cosmos DB. Si concederà anche l'autorizzazione ad Azure Cosmos DB di accedere e visualizzare questi dati nei log.
Avviso
L'abilitazione di questa funzionalità potrebbe comportare costi di registrazione aggiuntivi. Per informazioni dettagliate sui prezzi, vedere Prezzi di Monitoraggio di Azure. È consigliabile disabilitare questa funzionalità dopo la risoluzione dei problemi.
Nella pagina dell'account Azure Cosmos DB esistente, selezionare l'opzione Funzionalità nella sezione Impostazioni del menu delle risorse. Selezionare quindi la funzionalità Query full-text di diagnostica.
Nella finestra di dialogo, selezionare Enable. Questa impostazione viene applicata entro pochi minuti. Tutti i log appena inseriti hanno il testo full-text o PIICommand per ogni richiesta.
Usare l'interfaccia della riga di comando di Azure per abilitare query full-text per l'account Azure Cosmos DB.
Abilitare la query full-text usando di nuovo az rest con un verbo PATCH HTTP e un payload JSON.
az rest \
--method "PATCH" \
--url $(az cosmosdb show \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--query "id" \
--output "tsv" \
) \
--url-parameters "api-version=2021-05-01-preview" \
--body '{
"properties": {
"diagnosticLogSettings": {
"enableFullTextQuery": "True"
}
}
}'
Attendere alcuni minuti per il completamento dell'operazione. Controllare lo stato della query full-text usando di nuovo az rest con HTTP GET.
az rest \
--method "GET" \
--url $(az cosmosdb show \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--query "id" \
--output "tsv" \
) \
--url-parameters "api-version=2021-05-01-preview" \
--query "{accountName:name,fullTextQueryEnabled:properties.diagnosticLogSettings.enableFullTextQuery}"
L'output dovrebbe essere simile a questo esempio.
{
"accountName": "<account-name>",
"fullTextQueryEnabled": "True"
}
Contenuti correlati