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

监视虚拟机(以使用虚拟网络功能)

本部分讨论可用于电信运营商监视虚拟化网络函数(VNF)工作负荷的可选工具。 使用 Azure 监视代理(AMA),可以从运行 VNF 的虚拟机(VM)收集日志和性能指标。 AMA 的先决条件之一是 Arc 连接到 Azure(使用 Azure Arc for Servers)。

使用托管标识身份验证通过 CLI 载入扩展

使用 CLI 在 VM 上启用监视代理时,请确保安装适当的 CLI 版本:

  • azure-cli:2.39.0+
  • azure-cli-core:2.39.0+
  • Resource-graph:2.1.0+

有关从 Azure CLI 开始的文档、如何在多个操作系统上安装它以及如何安装 CLI 扩展

Arc 连接

使用已启用 Azure Arc 的服务器可以管理 Linux 物理服务器并虚拟机托管在 Azure 外部,例如本地云环境(例如操作员 Nexus)。 混合计算机是任何未在 Azure 中运行的计算机。 当混合计算机连接到 Azure 时,它将成为已连接的计算机,被视为 Azure 中的资源。 每台已连接的计算机都有一个资源 ID,使计算机能够包含在资源组中。

先决条件

在开始之前,请务必查看 先决条件 ,并验证订阅和资源是否满足要求。 一些先决条件包括:

  • VNF VM 连接到 CloudServicesNetwork(VM 用于与操作员 Nexus 服务通信的网络)。
  • 对 VNF VM 具有 SSH 访问权限。
  • 代理和 wget 安装:
    • 确保已安装 wget。
    • 若要将代理设置为环境变量,请运行:
echo "http\_proxy=http://169.254.0.11:3128" \>\> /etc/environment
echo "https\_proxy=http://169.254.0.11:3128" \>\> /etc/environment
  • 你对 VNF VM 具有适当的权限,以便能够运行脚本、安装包依赖项等。有关详细信息,请访问 链接 以获取更多详细信息。
  • 若要使用已启用 Azure Arc 的服务器,必须在订阅中注册以下 Azure 资源提供程序:
    • Microsoft.HybridCompute
    • Microsoft.GuestConfiguration
    • Microsoft.HybridConnectivity

如果尚未注册这些资源提供程序,可以使用以下命令注册它们:

az account set --subscription "{Your Subscription Name}"

az provider register --namespace 'Microsoft.HybridCompute'

az provider register --namespace 'Microsoft.GuestConfiguration'

az provider register --namespace 'Microsoft.HybridConnectivity'

部署

可以通过手动执行一组步骤,在环境中连接服务器。 可以使用部署脚本将 VNF VM 连接到 Azure。 或者,可以通过运行模板脚本来使用自动化方法。 该脚本可用于自动下载和安装代理。

这种安装和配置代理的方法要求你在计算机上拥有管理员权限。 在 Linux 计算机上,可以使用根帐户部署所需的代理。

Azure 门户中提供了用于自动下载和安装以及与 Azure Arc 建立连接的脚本。 若要完成该过程,请执行以下步骤:

  1. 在浏览器中转到 Azure 门户

  2. 在“选择方法”页上,选择“添加单个服务器”磁贴,然后选择“生成脚本”

  3. “先决条件”页上,选择“下一步”。

  4. “资源详细信息 ”页上,提供以下信息:

  5. 在“订阅”下拉列表中,选择要在其中管理计算机的订阅。

  6. 在“资源组”下拉列表中,选择要从中管理计算机的资源组。

  7. 在“区域”下拉列表中,选择用于存储服务器元数据的 Azure 区域。

  8. “操作系统 ”下拉列表中,选择 VNF VM 的操作系统。

  9. 如果计算机通过代理服务器进行通信以连接到 Internet,请指定代理服务器 IP 地址。 如果使用名称和端口号,请指定该信息。

  10. 在完成时选择“下一步: 标记”。

  11. 在“标记”页上,查看建议的默认“物理位置标记”并输入值,或指定一个或多个“自定义标记”以支持你的标准 。

  12. 在完成时选择“下一步:下载并运行脚本。

  13. 在“下载并运行脚本”页上查看摘要信息,然后选择“下载” 。 如果仍需进行更改,请选择“上一页”。

注意:

  1. 在脚本顶部的错误标志上设置退出,以确保其快速失败,并且最终不会提供错误成功。 例如,在 Shell 脚本中使用脚本顶部的“set -e”。
  2. 将导出http_proxy=<PROXY_URL> 和导出https_proxy=<PROXY_URL> 添加到脚本以及 Arc 连接脚本中的导出语句。 (代理 IP - 169.254.0.11:3128)。

若要在 azcmagent 服务器上部署,请使用具有根访问权限的帐户登录到服务器。 通过运行 ./OnboardingScript.sh 脚本,将脚本复制到服务器上并执行该脚本的文件夹。

如果完成安装后代理无法启动,请检查日志以获取详细的错误信息。 日志目录为 /var/opt/azcmagent/log

安装代理并将其配置为连接到已启用 Azure Arc 的服务器后,请验证服务器是否已在Azure 门户成功连接。

Screenshot of Sample Arc-Enrolled VM.

图:注册 Arc 的示例 VM

疑难解答

注意: 如果在运行脚本时看到错误,请在转到后续步骤之前修复错误并重新运行脚本。

错误的一些常见原因:

  1. VM 上没有所需的权限。
  2. VM 上未安装 wget 包。
  3. 如果无法安装包依赖项,是因为代理没有将所需的域添加到允许的 URL。 例如,在 Ubuntu 上,apt 无法安装依赖项,因为它无法访问“.ubuntu.com”。 将所需的出口终结点添加到代理。

Azure Monitor 代理

Azure Monitor 代理作为 Azure VM 扩展 ver Arc 连接的计算机实现。 它还列出了用于创建 与数据收集规则关联的选项,这些规则 定义代理应收集的数据。 安装、升级或卸载 Azure Monitor 代理不需要重启服务器。

确保使用数据收集规则配置日志和指标的收集。

Screenshot of DCR adding source.

图:添加源的 DCR

注意: 使用 DCR 配置的指标应将目标设置为 Log Analytics 工作区,因为 Azure Monitor 指标尚不支持该指标。

Screenshot of DCR adding destination.

图:添加目标 DCR

先决条件

在安装 Azure Monitor 代理之前,必须满足以下先决条件:

  • 权限:对于使用Azure 门户以外的方法,必须具有以下角色分配才能安装代理:
内置角色 作用域 原因
虚拟机参与者Azure Connected Machine 资源管理员 已启用 Azure Arc 的服务器 部署代理
负责关于 Microsoft.Resources/deployments/ 操作的任何角色 订阅和/或Resource 组和/或 部署 Azure 资源管理器模板

安装 Azure Monitoring Agent

连接 虚拟机后,请确保使用名称“settings.json”从 Azure Cloud Shell 创建本地文件,以提供代理信息:

Screenshot of Settings.json file.

图:settings.json 文件

然后使用以下命令在这些已启用 Azure Arc 的服务器上安装 Azure Monitoring Agent:

az connectedmachine extension create --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor --type AzureMonitorLinuxAgent --machine-name \<arc-server-name\> --resource-group \<resource-group-name\> --location \<arc-server-location\> --type-handler-version "1.21.1" --settings settings.json

若要使用 Azure Monitor 代理从虚拟机收集数据,需要:

  1. 创建 数据收集规则(DCR),用于定义 Azure Monitor 代理发送到哪些目标的数据。

  2. 将数据收集规则关联到特定的虚拟机。

通过门户的数据收集规则

可以在此处找到创建 DCR 并将其关联到 Log Analytics 工作区的步骤。

最后验证是否在指定的 Log Analytics 工作区中获取日志。

通过 CLI 的数据收集规则

下面是用于创建和关联 DCR 的命令,以启用从这些虚拟机收集日志和指标。

创建 DCR:

az monitor data-collection rule create --name \<name-for-dcr\> --resource-group \<resource-group-name\> --location \<location-for-dcr\> --rule-file \<rules-file\> [--description] [--tags]

规则文件示例:

Screenshot of Sample DCR rule file.

关联 DCR:

az monitor data-collection rule association create --name \<name-for-dcr-association\> --resource \<connected-machine-resource-id\> --rule-id \<dcr-resource-id\> [--description]

其他资源