Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
В этой статье мы расскажем, как писать более сложные запросы для устранения проблем с вашей учетной записью Azure Cosmos DB с помощью журналов диагностики, отправляемых в таблицы Диагностики Azure (устаревшая версия) и таблицы для конкретных ресурсов (предварительная версия).
Для таблиц Диагностики Azure все данные записываются в одну таблицу. Пользователи указывают, какая категория будет запрашиваться. Если вы хотите просмотреть полнотекстовый запрос своего запроса, см. раздел Мониторинг данных Azure Cosmos DB с помощью параметров диагностики в Azure, чтобы узнать, как включить эту функцию.
Для таблиц конкретных ресурсов данные записываются в отдельные таблицы для каждой категории ресурса. Мы рекомендуем этот режим, потому что он...
- Значительно упрощает работу с данными.
- Обеспечивает более эффективное обнаружение схем.
- Повышает производительность как по задержкам времени приема, так и по времени выполнения запросов.
Распространенные запросы отображаются в таблицах, связанных с конкретными ресурсами и диагностикой Azure.
Первые N(10) запросов, упорядоченные по потреблению единиц запросов (RU) в заданном интервале времени
let topRequestsByRUcharge = CDBDataPlaneRequests
| where TimeGenerated > ago(24h)
| project RequestCharge , TimeGenerated, ActivityId;
CDBQueryRuntimeStatistics
| project QueryText, ActivityId, DatabaseName , CollectionName
| join kind=inner topRequestsByRUcharge on ActivityId
| project DatabaseName , CollectionName , QueryText , RequestCharge, TimeGenerated
| order by RequestCharge desc
| take 10
let throttledRequests = CDBDataPlaneRequests
| where StatusCode == "429"
| project OperationName , TimeGenerated, ActivityId;
CDBQueryRuntimeStatistics
| project QueryText, ActivityId, DatabaseName , CollectionName
| join kind=inner throttledRequests on ActivityId
| project DatabaseName , CollectionName , QueryText , OperationName, TimeGenerated
let operationsbyUserAgent = CDBDataPlaneRequests
| project OperationName, DurationMs, RequestCharge, ResponseLength, ActivityId;
CDBQueryRuntimeStatistics
//specify collection and database
//| where DatabaseName == "DBNAME" and CollectionName == "COLLECTIONNAME"
| join kind=inner operationsbyUserAgent on ActivityId
| summarize max(ResponseLength) by QueryText
| order by max_ResponseLength desc
CDBPartitionKeyRUConsumption
| where TimeGenerated >= now(-1d)
//specify collection and database
//| where DatabaseName == "DBNAME" and CollectionName == "COLLECTIONNAME"
// filter by operation type
//| where operationType_s == 'Create'
| summarize sum(todouble(RequestCharge)) by toint(PartitionKeyRangeId)
| render columnchart
CDBPartitionKeyRUConsumption
| where TimeGenerated >= now(-1d)
//specify collection and database
//| where DatabaseName == "DBNAME" and CollectionName == "COLLECTIONNAME"
// filter by operation type
//| where operationType_s == 'Create'
| summarize sum(todouble(RequestCharge)) by PartitionKey, PartitionKeyRangeId
| render columnchart
- Дополнительные сведения о том, как создать параметры диагностики для Azure Cosmos DB, см. в разделе Создание параметров диагностики.
- Подробные сведения о том, как создать параметр диагностики с помощью портала Azure, Azure CLI или PowerShell, см. в разделе Создание параметров диагностики для сбора журналов и метрик платформы в Azure.