你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
当你的关键应用程序和业务流程依赖于 Azure 资源时,你需要监视这些资源的可用性、性能和操作。
本文介绍了 Microsoft Dev Box 生成的监视数据。 Microsoft Dev Box 使用 Azure Monitor。 如果不熟悉使用 Azure Monitor 的所有 Azure 服务通用的 Azure Monitor 功能,请使用 Azure Monitor 读取 Monitor Azure 资源。
先决条件
若要使用 Azure 存储启用日志记录,需要与开发人员中心位于同一区域中的存储帐户。 有关详细信息,请参阅 创建 Azure 存储帐户。
若要为日志发送 Log Analytics,需要一个 Log Analytics 工作区。 有关详细信息,请参阅 Azure 门户中的“创建 Log Analytics 工作区”。
浏览 Dev Box 的数据收集和路由
Dev Box 收集的监视数据与 Azure 资源监视数据中描述的其他 Azure 资源相同。
平台指标和活动日志会自动收集和存储,但可以使用诊断设置将此数据路由到其他位置。
在创建诊断设置并将其路由到一个或多个位置之前,不会收集和存储资源日志。
有关 Dev Box 创建的指标和日志指标的详细信息,请参阅 监视 Dev Box 数据参考。
有关使用 Azure 门户、CLI 或 PowerShell 创建诊断设置的详细过程,请参阅 创建诊断设置以收集 Azure 中的平台日志和指标。 创建诊断设置时,请指定要收集的日志类别。 Microsoft Dev Box 监视数据参考中列出了用于 Dev Box 的类别。
为开发人员中心配置 Azure 诊断日志
使用适用于 DevCenter 的 Azure 诊断日志,可以查看开发人员中心中的数据平面操作的审核日志。 日志可以路由到 Azure 存储帐户或 Log Analytics 工作区。 此功能在所有开发人员中心可用。
诊断日志允许你将基本使用情况信息从开发人员中心导出到不同的源,以便你可以以自定义的方式使用它们。 数据平面审核日志公开你的开发人员中心内针对开发箱的 CRUD 操作的相关信息。 例如,启动和停止在开发箱上执行的命令。 可以选择导出此数据的示例方法包括:
- 将数据导出到 Blob 存储
- 将数据导出到 CSV(逗号分隔值)格式
- 将数据导出到 Azure Monitor 日志,并在自己的 Log Analytics 工作区中查看和查询数据
若要详细了解开发人员中心可用的不同类型的日志,请参阅 Monitor Dev Box 数据参考。
使用 Azure 门户启用日志记录
按照以下步骤为 Azure DevCenter 资源启用日志记录:
登录到 Azure 门户。
在 Azure 门户中,导航到开发人员中心。
在“监视”部分中,选择“诊断设置”。
选择 “添加诊断设置”
此时会打开 “诊断设置 ”对话框:
使用 Azure 存储启用日志记录
若要使用存储帐户来存储日志,请执行以下步骤。
注意
以下过程需要与开发人员中心位于同一区域中的 Azure 存储帐户 。
对于 “诊断设置名称 ”字段,请输入诊断日志设置的名称。
在“日志”下,选择“数据平面审核日志”。
在“目标详细信息”下,选择“存档到存储帐户”。
选择日志的 订阅 和 存储帐户 。
选择“保存”。
发送到 Log Analytics
要使用 Log Analytics 来存储日志,请执行以下步骤:
注意
以下过程需要 Log Analytics 工作区。
对于 “诊断设置名称 ”字段,请输入诊断日志设置的名称。
在“日志”下,选择“数据平面审核日志”。
在“目标详细信息”下选择“发送到 Log Analytics 工作区”。
选择日志的 订阅 和 Log Analytics 工作区 。
选择“保存”。
使用 PowerShell 启用日志记录
以下示例演示如何使用 Azure PowerShell Cmdlet 启用诊断日志。
注意
建议使用 Azure Az PowerShell 模块与 Azure 交互。 若要开始,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
在存储帐户中启用诊断日志
登录到 Azure PowerShell:
Connect-AzAccount使用以下命令在存储帐户中启用诊断日志。 将
<placeholder>变量替换为值:$rg = <your-resource-group-name> $devcenterid = <your-devcenter-ARM-resource-id> $storageacctid = <your-storage-account-resource-id> $diagname = <your-diagnostic-setting-name> $log = New-AzDiagnosticSettingLogSettingsObject -Enabled $true -Category DataplaneAuditEvent -RetentionPolicyDay 7 -RetentionPolicyEnabled $true New-AzDiagnosticSetting -Name $diagname -ResourceId $devcenterid -StorageAccountId $storageacctid -Log $log
为 Log Analytics 工作区启用诊断日志
登录到 Azure PowerShell:
Connect-AzAccount使用以下命令为 Log Analytics 工作区启用诊断日志。 将
<placeholder>变量替换为值:$rg = <your-resource-group-name> $devcenterid = <your-devcenter-ARM-resource-id> $workspaceid = <your-log-analytics-workspace-resource-id> $diagname = <your-diagnostic-setting-name> $log = New-AzDiagnosticSettingLogSettingsObject -Enabled $true -Category DataplaneAuditEvent -RetentionPolicyDay 7 -RetentionPolicyEnabled $true New-AzDiagnosticSetting -Name $diagname -ResourceId $devcenterid -WorkspaceId $workspaceid -Log $log
分析诊断日志
本部分介绍了 DevCenter 诊断日志的现有表以及如何查询它们。
Azure Monitor 中的所有资源日志都具有后跟服务特定字段的相同字段。 Azure 资源日志的通用架构和特定于服务的架构中概述了通用架构。
DevCenter 将数据存储在下表中:
| 表 | 说明 |
|---|---|
| DevCenterDiagnosticLogs | 在开发人员中心内存储有关开发框或环境的数据平面请求/响应信息。 |
| DevCenterResourceOperationLogs | 包含与 DevCenter 资源相关的作日志,包括有关资源运行状况更改的信息。 |
| DevCenterBillingEventLogs | 列出与 DevCenter 资源相关的计费事件。 此日志包含有关按计量收费的数量和单位的信息。 |
浏览示例 Kusto 查询
在开发人员中心启用诊断设置后,应该能够查看 Log Analytics 工作区中表的审核日志。
下面是可以输入日志搜索以帮助监视开发框的一些查询。
若要从 DevCenter 查询所有数据平面日志,请使用以下命令:
DevCenterDiagnosticLogs
若要查询特定于单个开发箱的经筛选数据平面日志列表,请使用以下命令:
DevCenterDiagnosticLogs
| where TargetResourceId contains "<devbox-name>"
若要为按操作结果状态分组的数据平面日志生成图表,请使用以下命令:
DevCenterDiagnosticLogs
| summarize count() by OperationResult
| render piechart
这些示例只是可以使用 Kusto 查询语言在 Monitor 中执行的丰富查询的一个小示例。 有关详细信息,请参阅 教程:了解常见运算符。