Azure诊断 - 有一种方法可以覆盖默认存储

时间:2013-09-23 08:58:01

标签: azure azure-diagnostics

我们需要在多个地方存储诊断数据,我想知道 - 是否可以挂钩诊断​​模块以在保存数据时执行其他操作?

我想要实现的是在两个宫殿中提供诊断数据:

  1. 基于每个webrole的标准存储
  2. 使用REST API备份的集中安全存储。一个用于许多webroles
  3. 根据我在Microsoft.WindowsAzure.Diagnostics.dll模块中看到的,他们只有配置相关的代码,看起来保存操作在像MonAgent.dll这样不是.Net代码的dll中。

    有关如何挂钩诊断存储过程或覆盖默认存储或...?

    的任何想法

1 个答案:

答案 0 :(得分:1)

使用标准Windows Azure诊断程序,遗憾的是无法指定多个存储帐户。所有诊断数据都将传输到一个存储帐户。

但是,您可以在Windows Azure诊断中使用自定义日志,并将日志数据写入自定义接收器,该接收器将传输到诊断存储帐户的Blob存储。然后,您可以通过辅助角色读取该数据,并将该数据推送到您选择的存储帐户中。

在这里查看Cloud Service Fundamentals项目:http://code.msdn.microsoft.com/windowsazure/Cloud-Service-Fundamentals-4ca72649。它是由Windows Azure CAT团队完成的。它利用NLog收集日志记录数据,然后将该日志记录数据保存在名为telemetry-logs的容器中。一旦数据在该容器中,它就会定期轮询数据并将其推送到SQL Azure数据库中。