Tanılama ayarlarını kullanarak Azure'da kaynak günlüklerini toplayabilirsiniz. Kaynaklar Azure kaynak günlüklerini yayar ve bu kaynağın işleyişi hakkında zengin ve sık kullanılan veriler sağlar. Bu günlükler istek başına yakalanır ve veri düzlemi günlükleri olarak da adlandırılır. Veri düzlemi işlemlerine örnek olarak delete, insert ve readFeed verilebilir. Bu günlüklerin içeriği, kaynak türüne göre değişir.
Tanılama ayarları hakkında daha fazla bilgi edinmek için bkz . Azure İzleyici'de tanılama ayarları.
Note
REST API sekmesindeki yönergeleri izleyerek tanılama ayarını kaynağa özgü modda (Tablo için API dışındaki tüm API'ler için) oluşturmanızı öneririz. Bu seçenek, verileri işlemek için geliştirilmiş bir görünümle ek maliyet iyileştirmeleri sağlar.
Prerequisites
- Mevcut bir Azure Cosmos DB hesabı.
- Mevcut bir Azure Log Analytics İzleyici çalışma alanı.
Warning
Bir kaynağı silmeniz, yeniden adlandırmanız veya taşımanız ya da kaynak grupları veya abonelikler arasında geçirmeniz gerekiyorsa, önce tanılama ayarlarını silin. Aksi takdirde, bu kaynağı yeniden oluşturursanız, silinen kaynağın tanılama ayarları her kaynağın kaynak yapılandırmasına bağlı olarak yeni kaynağa dahil edilebilir. Yeni kaynakla birlikte tanılama ayarları dahil edilirse, bu, tanılama ayarında tanımlandığı şekilde kaynak günlüklerinin toplanmasını yeniden başlatır ve ilgili metrik ve günlük verilerini önceden yapılandırılmış hedefe gönderir.
Ayrıca, temiz bir çalışma ortamı sağlamak için silmek üzere olduğunuz ve tekrar kullanmayı planlamadığınız bir kaynağın tanılama ayarlarını silmek iyi bir uygulamadır.
Tanılama ayarlarını oluşturma
Burada, hesabınız için tanılama ayarları oluşturma işleminde size yol gösteririz.
Note
Ölçümün kategori olarak günlüklere dışa aktarılması şu anda desteklenmiyor.
Azure portalınaoturum açın.
Mevcut Azure Cosmos DB hesabınıza gidin.
Kaynak menüsünün İzleme bölümünde Tanılama ayarları'nı seçin. Ardından Tanılama ayarı ekle seçeneğini belirleyin.
Important
"Tam metin sorgusunu etkinleştirme özelliği hesabınızda etkin değilse, 'daha ayrıntılı günlük kaydı için tam metin sorgusunu etkinleştir' şeklinde bir öneriyle karşılaşabilirsiniz." Bu özelliği etkinleştirmek istemiyorsanız, bu uyarıyı rahatlıkla göz ardı edebilirsiniz. Daha fazla bilgi için bkz . Tam metin sorgusunu etkinleştirme.
Tanılama ayarları bölmesinde, ayara örnek ayarını adlandırın ve ardından QueryRuntimeStatistics kategorisini seçin. Mevcut çalışma alanınızı seçerek Log Analytics Çalışma Alanına Gönder onay kutusunu etkinleştirin. Son olarak hedef seçenek olarak Kaynağa özgü seçeneğini belirleyin.
Komutunu kullanarak az monitor diagnostic-settings create Azure CLI ile bir tanılama ayarı oluşturun. Komutun parametreleri hakkında bilgi edinmek için belgelere bakın.
Azure CLI'da oturum açtığınızdan emin olun. Daha fazla bilgi için bkz . Azure CLI ile oturum açma.
Ayarı oluşturmak için kullanın az monitor diagnostic-settings create .
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
}
]'
Important
Bu örnek, kaynağa özgü tabloları etkinleştirmek için --export-to-resource-specific bağımsız değişkenini kullanır.
kullanarak az monitor diagnostics-settings showyeni ayarınızı oluşturmanın sonuçlarını gözden geçirin.
az monitor diagnostic-settings show \
--name "example-setting" \
--resource $(az cosmosdb show \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--query "id" \
--output "tsv" \
)
Etkileşimli konsol aracılığıyla bir tanılama ayarı oluşturmak için Azure İzleyici REST API'sini kullanın.
Azure CLI'da oturum açtığınızdan emin olun. Daha fazla bilgi için bkz . Azure CLI ile oturum açma.
bir HTTP PUT isteği ve az restkullanarak Azure Cosmos DB kaynağınız için tanılama ayarını oluşturun.
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"
}
}'
Important
Bu örnek, kaynağa özgü tabloları etkinleştirmek için logAnalyticsDestinationType özelliğini olarak ayarlarDedicated.
Tanılama ayarının özelliklerini almak için az rest 'u bir HTTP GET fiiliyle tekrar kullanın.
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"
Tanılama ayarını oluşturmak için bicep şablonu kullanın.
Azure CLI'da oturum açtığınızdan emin olun. Daha fazla bilgi için bkz . Azure CLI ile oturum açma.
diagnosticSetting.bicep adlı yeni bir dosya oluşturun.
Azure Cosmos DB kaynağınız için tanılama ayarını dağıtan aşağıdaki Bicep şablonu içeriğini girin.
@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
}
]
}
}
Important
Bu örnek, kaynağa özgü tabloları etkinleştirmek için logAnalyticsDestinationType özelliğini olarak ayarlarDedicated.
kullanarak az deployment group createşablonu dağıtın.
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>"
Tip
az bicep build Bicep şablonunu Azure Resource Manager şablonuna dönüştürmek için komutunu kullanın.
Tanılama ayarını oluşturmak için bir Azure Resource Manager şablonu kullanın.
Azure CLI'da oturum açtığınızdan emin olun. Daha fazla bilgi için bkz . Azure CLI ile oturum açma.
diagnosticSetting.bicep adlı yeni bir dosya oluşturun.
Azure Cosmos DB kaynağınız için tanılama ayarını dağıtan aşağıdaki Azure Resource Manager şablon içeriğini girin.
{
"$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
}
]
}
}
]
}
Important
Bu örnek, kaynağa özgü tabloları etkinleştirmek için logAnalyticsDestinationType özelliğini olarak ayarlarDedicated.
kullanarak az deployment group createşablonu dağıtın.
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>"
Tip
az bicep decompile Azure Resource Manager şablonunu Bicep şablonuna dönüştürmek için komutunu kullanın.
Sorgu metninin kaydını açmak için tam metin sorgusunu etkinleştirme
Azure Cosmos DB, ayrıntılı sorun giderme işlemleri için gelişmiş günlük kaydı sağlar. Tam metin sorgusunu etkinleştirerek Azure Cosmos DB hesabınızdaki tüm istekler için engelsiz sorguyu görüntüleyebilirsiniz. Azure Cosmos DB'nin bu verilere erişmesine ve bu verileri günlüklerinizde görünür hale getirmesine de izin verirsiniz.
Warning
Bu özelliğin etkinleştirilmesi ek loglama maliyetlerine neden olabilir. Fiyatlandırma ayrıntıları için bkz. Azure İzleyici fiyatlandırması. Sorun giderme sonrasında bu özelliğin devre dışı bırakılması önerilir.
Mevcut Azure Cosmos DB hesabı sayfasında, kaynak menüsünün Ayarlar bölümünde Özellikler seçeneğini belirleyin. Ardından Tanılama tam metin sorgu özelliğini seçin.
İletişim kutusunda Enable seçin. Bu ayar birkaç dakika içinde uygulanır. Yeni alınan tüm günlüklerde artık her istek için tam metin veya PIICommand metni yer alır.
Azure Cosmos DB hesabınız için tam metin sorgusunu etkinleştirmek için Azure CLI'yi kullanın.
HTTP az rest fiilini ve JSON yükünü yeniden kullanarak PATCH tam metin sorgusunu etkinleştirin.
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"
}
}
}'
İşlemin tamamlanması için birkaç dakika bekleyin. HTTP ile kullanarak tam metin sorgusunun durumunu yeniden denetleyin.
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}"
Çıktı bu örneğe benzer olmalıdır.
{
"accountName": "<account-name>",
"fullTextQueryEnabled": "True"
}
İlgili içerik