Область применения:
Nosql
Mongodb
Кассандра
Гремлин
Таблица
Параметры диагностики в Azure используются для сбора журналов ресурсов. Ресурсы выдают журналы ресурсов Azure и предоставляют широкие, частые данные об операции этого ресурса. Эти журналы записываются на запрос, и они также называются журналами плоскости данных. Примеры операций с плоскостью данных включают Delete, Insert и ReadFeed. Содержимое этих журналов зависит от типа ресурса.
Дополнительные сведения о параметрах диагностики см. в статье "Параметры диагностики" в Azure Monitor.
Примечание.
Мы рекомендуем создать параметр диагностики в режиме конкретного ресурса (для всех API, кроме API для таблицы), следуя инструкциям на вкладке REST API . Этот параметр обеспечивает дополнительную оптимизацию затрат с улучшенным представлением для обработки данных.
Необходимые компоненты
- Существующая учетная запись Azure Cosmos DB.
- Существующая рабочая область Azure Monitor Log Analytics.
Предупреждение
Если необходимо удалить ресурс, переименовать или переместить ресурс или перенести его между группами ресурсов или подписками, сначала удалите его параметры диагностики. В противном случае при повторном создании этого ресурса параметры диагностики для удаленного ресурса могут быть включены в новый ресурс в зависимости от конфигурации ресурсов для каждого ресурса. Если параметры диагностика включены в новый ресурс, это возобновляет сбор журналов ресурсов, как определено в параметре диагностики, и отправляет применимые метрики и данные журнала в ранее настроенное назначение.
Кроме того, рекомендуется удалить параметры диагностики для ресурса, который вы собираетесь удалить, и не планируете использовать его повторно, чтобы обеспечить очистку среды.
Создание параметров диагностики
Здесь мы рассмотрим процесс создания параметров диагностики для вашей учетной записи.
Примечание.
Метрика для экспорта журналов в виде категории в настоящее время не поддерживается.
Войдите на портал Azure.
Перейдите к существующей учетной записи Azure Cosmos DB.
В разделе "Мониторинг" в меню ресурсов выберите параметры диагностики. Затем выберите параметр "Добавить параметр диагностики".
Внимание
Может появиться запрос "Включить полнотекстовый запрос [...] для более подробного ведения журнала", если функция полнотекстового запроса не включена в вашей учетной записи. Это предупреждение можно игнорировать, если вы не хотите включить эту функцию. Дополнительные сведения см. в разделе "Включение полнотекстового запроса".
В области параметров диагностики назовите пример параметра и выберите категорию QueryRuntimeStatistics. Установите флажок "Отправить в рабочую область Log Analytics", выбрав существующую рабочую область. Наконец, выберите ресурс, определенный в качестве целевого параметра.
Используйте команду az monitor diagnostic-settings create
, чтобы создать параметр диагностики в Azure CLI. Описание параметров команды см. в документации о ней.
Убедитесь, что вы вошли в Azure CLI. Дополнительные сведения см. в статье о входе с помощью Azure CLI.
Используется 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
}
]'
Внимание
В этом примере используется --export-to-resource-specific
аргумент для включения таблиц, относящихся к ресурсам.
Просмотрите результаты создания нового параметра с помощью 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" \
)
Для создания параметра диагностики через интерактивную консоль используйте REST API Azure Monitor.
Убедитесь, что вы вошли в Azure CLI. Дополнительные сведения см. в статье о входе с помощью Azure CLI.
Создайте параметр диагностики для ресурса Azure Cosmos DB с помощью HTTP-запроса PUT
и 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"
}
}'
Внимание
Этот пример задает logAnalyticsDestinationType
свойство для включения таблиц, относящихся к Dedicated
ресурсам.
Используйте az rest
еще раз с http-командой GET
, чтобы получить свойства параметра диагностики.
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"
Используйте шаблон Bicep для создания параметра диагностики.
Убедитесь, что вы вошли в Azure CLI. Дополнительные сведения см. в статье о входе с помощью Azure CLI.
Создайте файл с именем diagnosticSetting.bicep
.
Введите следующее содержимое шаблона Bicep, которое развертывает параметр диагностики для ресурса 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
}
]
}
}
Внимание
Этот пример задает logAnalyticsDestinationType
свойство для включения таблиц, относящихся к Dedicated
ресурсам.
Развертывание шаблона с помощью 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>"
Совет
az bicep build
Используйте команду для преобразования шаблона Bicep в шаблон Azure Resource Manager.
Используйте шаблон Azure Resource Manager для создания параметра диагностики.
Убедитесь, что вы вошли в Azure CLI. Дополнительные сведения см. в статье о входе с помощью Azure CLI.
Создайте файл с именем diagnosticSetting.bicep
.
Введите следующее содержимое шаблона Azure Resource Manager, которое развертывает параметр диагностики для ресурса 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
}
]
}
}
]
}
Внимание
Этот пример задает logAnalyticsDestinationType
свойство для включения таблиц, относящихся к Dedicated
ресурсам.
Развертывание шаблона с помощью 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>"
Совет
az bicep decompile
Используйте команду для преобразования шаблона Azure Resource Manager в шаблон Bicep.
Включение полнотекстовых запросов для журналов
Azure Cosmos DB поддерживает расширенные функции ведения журнала для подробного устранения неполадок. Включив полнотекстовый запрос, вы можете просмотреть деобфускированный запрос для всех запросов в учетной записи Azure Cosmos DB. Вы также предоставляете разрешение azure Cosmos DB для доступа к этим данным и их поверхности в журналах.
Предупреждение
Включение этой функции может привести к дополнительным затратам на ведение журнала. Сведения о ценах см. на странице цен на Azure Monitor. Рекомендуется отключить эту функцию после устранения неполадок.
На странице существующей учетной записи Azure Cosmos DB выберите параметр "Компоненты " в разделе "Параметры " в меню ресурсов. Затем выберите функцию полнотекстового запроса диагностики.
В диалоговом окне выберите Enable
. Этот параметр применяется в течение нескольких минут. Теперь для каждого запроса все новые журналы имеют полный текст или текст PIICommand.
Используйте Azure CLI, чтобы включить полнотекстовый запрос для учетной записи Azure Cosmos DB.
Включите полнотекстовый запрос с PATCH
помощью az rest
http-команды и полезных данных 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"
}
}
}'
Подождите несколько минут, пока операция завершится. Проверьте состояние полнотекстового запроса с помощью az rest
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}"
Выходные данные должны быть похожи на этот пример.
{
"accountName": "<account-name>",
"fullTextQueryEnabled": "True"
}
Связанный контент