将 Azure VM 诊断流式传输到 EventHub
Streaming Azure VM Diagnostics to EventHub
可以将 Azure VM 的诊断流式传输到 EventHub。这篇文章 https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-streaming-azure-diags-data 解释了如何做到这一点。接下来是我在 EventHub 中收到的数据:
{
"records" : [{
"time" : "2016-12-08T01:27:42.7908225Z",
"dimensions" : {
"DeploymentId" : "45db964e-ae11-4f2b-a342-xxxxxxxx",
"Role" : "IaaS",
"RoleInstance" : "_xxxxserver01"
},
"metricName" : "\Processor Information(_Total)\Processor Frequency",
"last" : 2397.0,
"timeGrain" : "PT15S"
}
]
}
没有关于它来自的订阅、资源组或资源的信息,我如何根据上述数据获取此信息? "DeploymentId" 看起来很有希望,但我找不到它所指的任何信息。
如果我从两个不同的资源组但从具有相同名称的虚拟机向 EventHub 发送数据,我怎么知道 perf 日志来自哪里?基本上我怎样才能将这个 perf 日志关联到实际的 azure vm(资源)?
任何指导将不胜感激。
根据您是处理经典还是 ARM/v2 虚拟机,答案会有所不同,但在这两种情况下它都依赖于 DeploymentId。
对于经典 VM,可以从 Azure 管理中检索 DeploymentId API
对于 ARM/v2 个虚拟机,DeploymentId 隐藏在受监控虚拟机的注册表中
我们在 CloudMonix 中做了很多 "hacks" 来解决这个问题(即:查看存储以查找与 VM 名称匹配的数据的已保存诊断数据),但它并不可靠,因为VM 名称可以跨 ARM 组重复。因此,在后一种情况下,您不得不为此查看受监控 VM 的注册表
HTH
可以将 Azure VM 的诊断流式传输到 EventHub。这篇文章 https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-streaming-azure-diags-data 解释了如何做到这一点。接下来是我在 EventHub 中收到的数据:
{
"records" : [{
"time" : "2016-12-08T01:27:42.7908225Z",
"dimensions" : {
"DeploymentId" : "45db964e-ae11-4f2b-a342-xxxxxxxx",
"Role" : "IaaS",
"RoleInstance" : "_xxxxserver01"
},
"metricName" : "\Processor Information(_Total)\Processor Frequency",
"last" : 2397.0,
"timeGrain" : "PT15S"
}
]
}
没有关于它来自的订阅、资源组或资源的信息,我如何根据上述数据获取此信息? "DeploymentId" 看起来很有希望,但我找不到它所指的任何信息。 如果我从两个不同的资源组但从具有相同名称的虚拟机向 EventHub 发送数据,我怎么知道 perf 日志来自哪里?基本上我怎样才能将这个 perf 日志关联到实际的 azure vm(资源)?
任何指导将不胜感激。
根据您是处理经典还是 ARM/v2 虚拟机,答案会有所不同,但在这两种情况下它都依赖于 DeploymentId。
对于经典 VM,可以从 Azure 管理中检索 DeploymentId API 对于 ARM/v2 个虚拟机,DeploymentId 隐藏在受监控虚拟机的注册表中
我们在 CloudMonix 中做了很多 "hacks" 来解决这个问题(即:查看存储以查找与 VM 名称匹配的数据的已保存诊断数据),但它并不可靠,因为VM 名称可以跨 ARM 组重复。因此,在后一种情况下,您不得不为此查看受监控 VM 的注册表
HTH