Azure 的诊断日志对于捕获 Azure DocumentDB 帐户的 Azure 资源日志至关重要。 这些日志提供了有关操作与帐户相关的资源的频繁且详细的见解。
重要
此功能不适用于计算层M30、较低层级或免费层级的SKU。
先决条件
Azure 订阅服务
- 如果没有 Azure 订阅,请创建 试用版
现有的 Azure DocumentDB 群集
- 如果没有群集,请 创建新群集
- 现有的 Log Analytics 工作区或 Azure 存储帐户。
创建诊断设置
平台指标和活动日志会自动收集。 若要收集资源日志并从 Azure Monitor 外部路由这些日志,必须建立诊断设置。 若要了解如何作,请参阅 在 Azure Monitor 中创建诊断设置。
管理诊断设置
有时需要通过查找或删除设置来管理设置。 命令 az monitor diagnostic-settings 组包括用于管理诊断设置的子命令。
列出与群集 API 关联的所有诊断设置。
az monitor diagnostic-settings list \ --resource-group $resourceGroupName \ --resource $clusterResourceId使用关联的资源和设置的名称删除特定设置。
az monitor diagnostic-settings delete \ --resource-group $resourceGroupName \ --name $diagnosticSettingName \ --resource $clusterResourceId
使用高级诊断查询
使用这些特定于资源的查询在适用于群集的 API 中执行常见的故障排除研究。
重要
本部分假定你使用的是具有特定于资源的日志的 Log Analytics 工作区。
导航到群集 API 的 “日志 ”部分。 查看示例查询列表。
运行此查询以 计算按错误代码分组的请求失败的 API 数。
VCoreMongoRequests // Time range filter: | where TimeGenerated between (StartTime .. EndTime) // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | where ErrorCode != 0 | summarize count() by bin(TimeGenerated, 5m), ErrorCode=tostring(ErrorCode)运行此查询以按操作名称获取请求运行时持续时间的 API
P99。// Mongo requests P99 duration by operation // Mongo requests P99 runtime duration by operation name. VCoreMongoRequests // Time range filter: | where TimeGenerated between (StartTime .. EndTime) // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | summarize percentile(DurationMs, 99) by bin(TimeGenerated, 1h), OperationName运行此查询以获取 按总运行时持续时间分组的请求的 API 计数。
// Mongo requests binned by duration // Count of Mongo requests binned by total runtime duration. VCoreMongoRequests // Time range filter: | where TimeGenerated between (StartTime .. EndTime) // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | project TimeGenerated, DurationBin=tostring(bin(DurationMs, 5)) | summarize count() by bin(TimeGenerated, 1m), tostring(DurationBin)运行此查询以获取 用户代理请求的 API 计数。
// Mongo requests by user agent // Count of Mongo requests by user agent. VCoreMongoRequests // Time range filter: | where TimeGenerated between (StartTime .. EndTime) // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | summarize count() by bin(TimeGenerated, 1h), UserAgent
相关内容
- 详细了解 与 MongoDB 的功能兼容性。
- 查看用于从 MongoDB 迁移到 Azure DocumentDB 的选项
- 通过创建帐户开始。