你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将使用情况数据、指标和日志上传到 Azure

用户可以定期导出使用情况信息进行计费,监视指标和日志,然后将其上传到 Azure。 导出并上传这三种类型的数据还将在 Azure 中创建并更新数据控制器和 SQL 托管实例资源。

在上传使用情况数据、指标或日志之前,需要执行以下操作:

本文中的示例使用尖括号 < ... > 来标识在运行脚本之前需要替换的值。 替换括号和括号中的值。

安装工具

必需的工具包括:

  • Azure CLI (az)
  • arcdata 扩展

请参阅安装工具

注册资源提供程序

在将指标或用户数据上传到 Azure 之前,需要确保 Azure 订阅已经注册了 Microsoft.AzureArcData 资源提供程序。

如果要验证资源提供程序,请运行以下命令:

az provider show -n Microsoft.AzureArcData -o table

如果该资源提供程序尚未在订阅中注册,可将其注册。 如果要进行注册,请运行以下命令。 完成此命令可能需要一到两分钟的时间。

az provider register -n Microsoft.AzureArcData --wait

创建服务主体

服务主体用于上传使用情况和指标数据。

请按照以下命令来创建指标上传服务主体:

注意

创建服务主体需要 Azure 中的特定权限

如果要创建服务主体,请更新以下示例。 请将 <ServicePrincipalName>SubscriptionIdresourcegroup 替换为你的值,并运行以下命令:

az ad sp create-for-rbac --name <ServicePrincipalName> --role Contributor --scopes /subscriptions/<SubscriptionId>/resourceGroups/<resourcegroup>

如果你在前面创建了服务主体,并且只是需要获取当前凭据,那么,请运行以下命令来重置该凭据。

az ad sp credential reset --name <ServicePrincipalName>

例如,如果要创建名为 azure-arc-metrics 的服务主体,请运行以下命令

az ad sp create-for-rbac --name azure-arc-metrics --role Contributor --scopes /subscriptions/<SubscriptionId>/resourceGroups/myresourcegroup

示例输出:

"appId": "<appId>",
"displayName": "azure-arc-metrics",
"name": "http://azure-arc-metrics",
"password": "<password>",
"tenant": "<tenant>"

appIdpasswordtenant 值保存在环境变量中,供以后使用。 这些值采用全局唯一标识符 (GUID) 形式。

SET SPN_CLIENT_ID=<appId>
SET SPN_CLIENT_SECRET=<password>
SET SPN_TENANT_ID=<tenant>

在创建了服务主体后,请将该服务主体分配到相应的角色。

将角色分配给服务主体

请运行此命令,以将该服务主体分配到你的数据库实例资源所在的订阅上的 Monitoring Metrics Publisher 角色:

注意

在从 Windows 环境中运行时,角色名称需要使用双引号。

az role assignment create --assignee <appId> --role "Monitoring Metrics Publisher" --scope subscriptions/<SubscriptionID>/resourceGroups/<resourcegroup>

示例输出:

{
  "canDelegate": null,
  "id": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/roleAssignments/<globally unique identifier>",
  "name": "<globally unique identifier>",
  "principalId": "<principal id>",
  "principalType": "ServicePrincipal",
  "roleDefinitionId": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/roleDefinitions/<globally unique identifier>",
  "scope": "/subscriptions/<Subscription ID>",
  "type": "Microsoft.Authorization/roleAssignments"
}

验证服务主体角色

az role assignment list --scope subscriptions/<SubscriptionID>/resourceGroups/<resourcegroup> -o table

在将服务主体分配到相应的角色后,可以继续上传指标或用户数据。

上传日志、指标或使用情况数据

用于上传日志、指标或使用情况数据的具体步骤因要上传的信息类型而异。

将日志上传到 Azure Monitor

将指标上传到 Azure Monitor

将使用情况数据上传到 Azure

有关导出和上传使用情况和指标的一般原则

针对已启用 Azure Arc 的数据服务的创建、读取、更新和删除 (CRUD) 操作会被记录到日志,以用于计费和监视。 有后台服务会监视这些 CRUD 操作并相应计算消耗。 实际的使用情况或消耗的计算会按计划进行,并且在后台完成。

每日仅上传一次使用情况数据。 如果在同一个 24 小时内多次导出并上传使用情况信息,则只会更新 Azure 门户中的资源清单,而不会更新资源使用情况。

注意

请注意,以直接连接模式部署的 Azure Arc 数据控制器的使用情况数据会自动上传

对于上传指标,Azure Monitor 只接受最近 30 分钟的数据(了解详细信息)。 上传指标的原则是要在创建导出文件后立即上传指标,这样就可以在 Azure 门户中看到整个数据集。 例如,如果在下午 2:00 导出指标,然后在下午 2:50 运行上传命令。 由于 Azure Monitor 只接受最近 30 分钟的数据,因此在门户中可能看不到任何数据。

了解服务主体

将计费数据上传到 Azure 并在 Azure 门户中查看

在 Azure 门户中查看 Azure Arc 数据控制器资源