【问题标题】:Streaming Azure VM Diagnostics to EventHub将 Azure VM 诊断流式传输到 EventHub
【发布时间】:2016-12-09 18:35:10
【问题描述】:

可以将 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”看起来很有希望,但我找不到它所指的任何信息。 如果我从两个不同的资源组但从同名的 vm 向 EventHub 发送数据,我怎么知道 perf 日志来自哪里?基本上我如何才能将此性能日志与实际的 azure vm(资源)相关联?

任何指导将不胜感激。

【问题讨论】:

    标签: azure azure-virtual-machine azure-diagnostics


    【解决方案1】:

    根据您处理的是经典虚拟机还是 ARM/v2 虚拟机,答案会有所不同,但在这两种情况下,它都依赖于 DeploymentId。

    对于经典 VM,可以从 Azure 管理 API 检索 DeploymentId 对于 ARM/v2 虚拟机,DeploymentId 隐藏在被监控虚拟机的注册表中

    我们在CloudMonix 中进行了一些“黑客攻击”来解决这个问题(即:查看已保存的与 VM 名称匹配的诊断数据的存储),但这并不可靠,因为 VM 名称可以跨ARM 组。因此,在后一种情况下,您必须为此查看受监控 VM 的注册表

    HTH

    【讨论】:

    • 我需要这个用于 ARM。根据此处的讨论:disqus.com/home/discussion/thewindowsazureblog/…“嘿,Serg - 不幸的是,目前没有很好的方法来识别流向事件中心的数据中的资源 ID。不过,有一些工作计划让它变得更好!”我想一种方法是为每个资源组(VM 所在的位置)设置 EventHub,然后使用 AzureFunction 转换传入日志并使用有关 VM 资源组的信息对其进行增强
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多