Anda dapat mengumpulkan log sumber daya di Azure dengan menggunakan pengaturan diagnostik. Sumber daya menghasilkan log sumber daya Azure dan menyediakan data yang kaya serta sering tentang operasi sumber daya tersebut. Log ini diambil untuk setiap permintaan dan juga dikenal sebagai catatan sarana data. Beberapa contoh operasi bidang data termasuk menghapus, menyisipkan, dan membaca Umpan. Isi log ini bervariasi menurut jenis sumber daya.
Untuk mempelajari selengkapnya tentang pengaturan diagnostik, lihat Pengaturan diagnostik di Azure Monitor.
Nota
Sebaiknya buat pengaturan diagnostik dalam mode khusus sumber daya (untuk semua API kecuali API untuk Tabel) mengikuti instruksi di tab REST API . Opsi ini menyediakan pengoptimalan biaya tambahan dengan tampilan yang ditingkatkan untuk menangani data.
Prerequisites
- Akun Azure Cosmos DB yang sudah ada.
- Jika Anda memiliki langganan Azure, buat akun baru.
- Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
- Ruang kerja Analitik Log Azure Monitor yang sudah ada.
Warning
Jika Anda perlu menghapus, mengganti nama, atau memindahkan sumber daya, atau memigrasikannya di seluruh grup sumber daya atau langganan, pertama-tama hapus pengaturan diagnostiknya. Sebaliknya, jika Anda membuat ulang sumber daya ini, pengaturan diagnostik untuk sumber daya yang dihapus mungkin dapat disertakan dengan sumber daya baru, tergantung pada konfigurasi sumber daya untuk setiap sumber daya. Jika pengaturan diagnostik disertakan dengan sumber daya baru, ini melanjutkan pengumpulan log sumber daya sebagaimana didefinisikan dalam pengaturan diagnostik dan mengirimkan data metrik dan log yang sesuai ke tujuan yang telah dikonfigurasi sebelumnya.
Selain itu, ini adalah praktik yang baik untuk menghapus pengaturan diagnostik untuk sumber daya yang akan Anda hapus dan tidak berencana menggunakan lagi untuk menjaga lingkungan Anda tetap bersih.
Membuat pengaturan diagnostik
Di sini, kami menelusuri proses pembuatan pengaturan diagnostik untuk akun Anda.
Nota
Metrik untuk mengekspor log sebagai kategori saat ini tidak didukung.
Masuk ke portal Azure.
Navigasikan ke akun Azure Cosmos DB Anda yang sudah ada.
Di bagian Pemantauan dari menu sumber daya, pilih Pengaturan diagnostik. Kemudian, pilih opsi Tambahkan pengaturan diagnostik.
Important
Anda mungkin melihat perintah untuk "mengaktifkan kueri teks lengkap [...] untuk pengelogan yang lebih rinci" jika fitur kueri teks lengkap tidak diaktifkan di akun Anda. Anda dapat mengabaikan peringatan ini dengan aman jika Anda tidak ingin mengaktifkan fitur ini. Untuk informasi selengkapnya, lihat mengaktifkan kueri teks lengkap penuh.
Pada panel Pengaturan diagnostik, beri nama pengaturan contoh-pengaturan lalu pilih kategori QueryRuntimeStatistics. Aktifkan kotak centang Send to Log Analytics Workspace, kemudian memilih ruang kerja yang sudah ada. Terakhir, pilih Sumber Daya khusus sebagai opsi tujuan.
az monitor diagnostic-settings create Gunakan perintah untuk membuat pengaturan diagnostik dengan Azure CLI. Untuk mempelajari parameter perintah, lihat dokumentasi.
Pastikan Anda masuk ke Azure CLI. Untuk informasi selengkapnya, lihat Masuk dengan Azure CLI.
Gunakan az monitor diagnostic-settings create untuk membuat pengaturan.
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
Sampel ini menggunakan --export-to-resource-specific argumen untuk mengaktifkan tabel khusus sumber daya.
Tinjau hasil pembuatan pengaturan baru Anda menggunakan 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" \
)
Gunakan REST API Azure Monitor untuk membuat pengaturan diagnostik melalui konsol interaktif.
Pastikan Anda masuk ke Azure CLI. Untuk informasi selengkapnya, lihat Masuk dengan Azure CLI.
Buat pengaturan diagnostik untuk sumber daya Azure Cosmos DB Anda menggunakan permintaan HTTP PUT dan 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"
}
}'
Important
Sampel ini mengatur logAnalyticsDestinationType properti ke Dedicated untuk mengaktifkan tabel khusus sumber daya.
Gunakan az rest lagi dengan kata kerja HTTP GET untuk mendapatkan properti pengaturan diagnostik.
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"
Gunakan templat Bicep untuk membuat pengaturan diagnostik.
Pastikan Anda masuk ke Azure CLI. Untuk informasi selengkapnya, lihat Masuk dengan Azure CLI.
Buat file baru bernama diagnosticSetting.bicep.
Masukkan konten templat Bicep berikut yang menyebarkan pengaturan diagnostik untuk sumber daya Azure Cosmos DB Anda.
@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
Sampel ini mengatur logAnalyticsDestinationType properti ke Dedicated untuk mengaktifkan tabel khusus sumber daya.
Sebarkan templat menggunakan 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>"
Tip
az bicep build Gunakan perintah untuk mengonversi templat Bicep menjadi templat Azure Resource Manager.
Gunakan templat Azure Resource Manager untuk membuat pengaturan diagnostik.
Pastikan Anda masuk ke Azure CLI. Untuk informasi selengkapnya, lihat Masuk dengan Azure CLI.
Buat file baru bernama diagnosticSetting.bicep.
Masukkan konten templat Azure Resource Manager berikut yang menyebarkan pengaturan diagnostik untuk sumber daya Azure Cosmos DB Anda.
{
"$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
Sampel ini mengatur logAnalyticsDestinationType properti ke Dedicated untuk mengaktifkan tabel khusus sumber daya.
Sebarkan templat menggunakan 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>"
Tip
az bicep decompile Gunakan perintah untuk mengonversi templat Azure Resource Manager menjadi templat Bicep.
Mengaktifkan kueri teks lengkap untuk mencatat teks kueri
Azure Cosmos DB menyediakan logging lanjutan untuk pemecahan masalah terperinci. Dengan mengaktifkan kueri teks lengkap, Anda dapat menampilkan kueri deobfuscated untuk semua permintaan dalam akun Azure Cosmos DB Anda. Anda juga memberikan izin bagi Azure Cosmos DB untuk mengakses dan menampilkan data ini di log Anda.
Warning
Mengaktifkan fitur ini dapat mengakibatkan biaya pengelogan tambahan. Untuk detail harga, lihat Harga Azure Monitor. Disarankan untuk menonaktifkan fitur ini setelah pemecahan masalah.
Pada halaman akun Azure Cosmos DB yang sudah ada, pilih opsi Fitur di dalam bagian Pengaturan menu sumber daya. Kemudian, pilih fitur Diagnostik full-text query.
Dalam dialog, pilih Enable. Pengaturan ini diterapkan dalam beberapa menit. Semua log yang baru diserap sekarang memiliki teks lengkap atau teks PIICommand untuk setiap permintaan.
Gunakan Azure CLI untuk mengaktifkan kueri teks lengkap untuk akun Azure Cosmos DB Anda.
Aktifkan kembali kueri teks penuh menggunakan az rest dengan kata kerja HTTP PATCH dan 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"
}
}
}'
Tunggu beberapa menit hingga operasi selesai. Periksa status kueri teks lengkap dengan menggunakan az rest lagi dengan 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}"
Output harus mirip dengan contoh ini.
{
"accountName": "<account-name>",
"fullTextQueryEnabled": "True"
}
Konten terkait