VM 监视可以将信号数据发送到预配置的事件中心。
本文提供有关配置事件中心以访问 VM 监视收集的信号的说明
先决条件
本文假设你熟悉以下内容:
启用事件中心输出
1:为 VM 监视准备事件中心
重要
VM 监视支持托管标识、SAS 令牌和连接字符串作为身份验证方法。 提供多个身份验证方法时,托管标识的优先级为最高,而连接字符串则分配为最低优先级。
2:为虚拟机监控启用事件中心输出
对于每个事件中心身份验证方法,需要组合通用参数设置和身份验证特定的参数设置。 为每个身份验证方案提供说明。 对于虚拟机和虚拟机规模集,请在 JSON 配置中 vmWatchSettings
指定以下设置。
有关如何使用 ARM 模板、vmWatchSettings
或 PowerShell 进行访问的说明,请参阅“配置 VM 监视”。
事件中心输出的常见参数
对于所有身份验证方法,以下参数集适用:
参数 | 必需 | 说明 |
---|---|---|
EVENT_HUB_OUTPUT_NAMESPACE |
是的 | 事件中心名称空间名称,不带域名 ".servicebus.chinacloudapi.cn" |
EVENT_HUB_OUTPUT_NAME |
是的 | 给定命名空间中的事件中心名称 |
EVENT_HUB_OUTPUT_DOMAIN_NAME |
否 | 事件中心域名。 默认值 "servicebus.chinacloudapi.cn" |
EVENT_HUB_OUTPUT_CLOSE_TIMEOUT |
否 | 客户端关闭超时。默认值为 30 秒 |
EVENT_HUB_OUTPUT_PARTITION_ID |
否 | 用于事件分区键的指标标记或字段名称。 默认值为 null |
EVENT_HUB_OUTPUT_MAX_MESSAGE_SIZE |
否 | 最大批消息大小(以字节为单位)。 将此参数设置为 0 意味着使用 Azure 事件中心客户端库中的默认大小(1,000,000 字节)。 默认值为 0 |
SEND_INTERNAL_TELEMETRY_TO_EVENT_HUB |
否 | 若要接收 VM 监视内部指标(启动和检测信号事件),请将此值设置为“true”。默认值为“false” |
事件中心输出的身份验证特定参数
参数 | 必需 | 说明 |
---|---|---|
EVENT_HUB_OUTPUT_USE_MANAGED_IDENTITY |
否 | 将此值设置为“true”。默认值为“false” |
EVENT_HUB_OUTPUT_MANAGED_IDENTITY_CLIENT_ID |
否 | 如果使用特定的托管标识进行身份验证,请指定此值 |
例如,以下 VM 监视 JSON 配置设置环境变量 EVENT_HUB_OUTPUT_NAMESPACE
, EVENT_HUB_OUTPUT_NAME
以及 EVENT_HUB_OUTPUT_USE_MANAGED_IDENTITY
。 这允许事件中心使用托管标识作为身份验证方法,而无需指定托管标识客户端 ID。
{
"vmWatchSettings": {
"enabled": true,
"parameterOverrides": {
"EVENT_HUB_OUTPUT_NAMESPACE": "<example event hub namespace>",
"EVENT_HUB_OUTPUT_NAME": "<example event hub name>",
"EVENT_HUB_OUTPUT_USE_MANAGED_IDENTITY": "true"
}
}
}
3:检查事件中心中的事件
成功将 VM 监视设置配置为使用事件中心作为输出后,VM 监视将重启。 事件在几分钟内开始流入事件中心。 可以使用 Azure 门户 观察传入的消息。
以下屏幕截图显示了流入事件中心的数据
此外,还可以使用事件中心数据资源管理器功能查看传入的事件和内容。
以下屏幕截图显示了事件中心数据资源管理器
事件中心事件架构
每个事件中心事件具有以下架构:
字段名称 | 数据类型 | 说明 |
---|---|---|
DateTime |
时间 | 发出信号的时间 |
SignalType |
字符串 | 信号的类型,可以是“StartUp”、“Heartbeat”、“Check”、“Metric”或“EventLog” |
SignalName |
字符串 | 信号的名称 |
SubscriptionId |
字符串 | VM 订阅 ID |
ResourceGroup |
字符串 | VM 资源组名称 |
ResourceId |
字符串 | VM 的 Azure 资源 URI |
VmId |
字符串 | 从 VM 中的 IMDS 终结点查询的 VM 的唯一 ID |
Vmss |
字符串 | 虚拟机规模集名称(如果适用) |
Offer |
字符串 | Azure VM 优惠方案 |
VmSize |
字符串 | VM 大小 |
MeasurementTarget |
字符串 | 信号所测量的目标。 搭配使用 Name 字段和 MeasurementTarget 聚合原始信号 |
SignalValue |
json | 此信号的值,具体架构取决于 SignalType |
Version |
字符串 | 事件中心(Event Hub)输出事件架构的版本 |
调试事件中心连接问题
如果几分钟后事件中心没有事件,请检查以下虚拟机或虚拟机规模集目录中的 VM 监视日志,以诊断问题:
/var/log/azure/Microsoft.ManagedServices.ApplicationHealthLinux/vmwatch.log