Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging Azure诊断存储帐户是如何配置的?_Debugging_Azure_Cloud_Azure Diagnostics_Azure Configuration - Fatal编程技术网

Debugging Azure诊断存储帐户是如何配置的?

Debugging Azure诊断存储帐户是如何配置的?,debugging,azure,cloud,azure-diagnostics,azure-configuration,Debugging,Azure,Cloud,Azure Diagnostics,Azure Configuration,我觉得用于存储Azure Diagnostics的帐户配置如下: (设置名称是固定的“Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString”字符串)。但是,我还找到了用于设置DiagnosticMonitor的代码片段(来自: var dm=DiagnosticMonitor.GetDefaultInitialConfiguration(); dm.Logs.ScheduledTransferPeriod=TimeSpan

我觉得用于存储Azure Diagnostics的帐户配置如下:


(设置名称是固定的“Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString”字符串)。但是,我还找到了用于设置DiagnosticMonitor的代码片段(来自:


var dm=DiagnosticMonitor.GetDefaultInitialConfiguration();
dm.Logs.ScheduledTransferPeriod=TimeSpan.FromSeconds(5);
dm.Logs.ScheduledTransferLogLevelFilter=LogLevel.Verbose;
DiagnosticMonitor.Start(“DiagnosticConnectionString”,dm);
(设置名称是由开发人员选择的字符串)

这看起来令人困惑-我的印象是,这是相同的设置,但出于任何原因,不同的人配置不同


指定的存储帐户在哪里?为什么上面提到的两个代码段似乎用于相同的任务?

我相信这是Azure开发时发生的事情……在早期,默认情况下没有启动诊断程序-因此,这就解释了旧的问题和答案


在最新的API(1.4)中,我认为您应该使用第一种方法并使用
GetDefaultInitialConfiguration…SetCurrentConfiguration
来指定要监视的内容。

当DiagnosticsMonitor首次发布时(1.1或1.2 SDK,IIRC),它是从RoleEntryPoint(用户代码)启动的。这有一些缺点,即,如果您的RoleEntryPoint崩溃,它会使DM一起崩溃。当1.3 SDK发布时,它更改了设计并将DM作为后台启动任务启动。这允许DM在与您的代码不同的进程中运行,因此不再易受用户代码崩溃的影响“Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString”是诊断角色插件中定义的设置(请查看bin/Plugins目录)

如果您只导入诊断插件并设置此连接字符串,您将为某些默认内容启用诊断,但实际上不会将任何内容传输到您的存储帐户进行分析

因此,更完整的解决方案是:

  • 启用DM插件并将有效连接字符串设置为Windows Azure中的存储帐户
  • 远程(使用脚本、ManageAxis、Windows Azure MMC、CerburData或其他工具)设置所需的监控配置*
  • 或者,在运行时,在RoleEntryPoint中,通过代码强制配置监视器
  • 这会将您的计数器、日志等实际传输到您的存储帐户中。此时,由您来解释它。有一些产品(如ManageAxis和其他产品)可以为您进行分析(图形、自动缩放等),但您在很大程度上只能靠自己查询DM生成的数据


    *我更喜欢这种方法,因为我不喜欢在我的RoleEntryPoint中对其进行编码,而且我有可以监视和维护它的工具。

    我也很难做到这一点,所以当我最终让它工作时,请将下面的博文放在一起


    有关Azure诊断的详细演练,您可以在PDC09上查看Matthew Kerners演示文稿“Windows Azure监控、日志记录和管理API”