【问题标题】:How is Azure Diagnostics storage account configured?Azure 诊断存储帐户是如何配置的?
【发布时间】:2011-07-12 11:50:43
【问题描述】:

Reading MSDN我的印象是用于存储Azure诊断的账户是这样配置的:

<ConfigurationSettings>
   <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"
       value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey"/>
</ConfigurationSettings>

(设置名称是固定的“Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString”字符串)。但后来我还找到了用于设置 DiagnosticMonitor 的代码 sn-ps(来自 this question user Søren Randrup

<ConfigurationSettings>
     <Setting name="DiagnosticsConnectionString"
        value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey" />
</ConfigurationSettings>
var dm = DiagnosticMonitor.GetDefaultInitialConfiguration();
dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);
dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
DiagnosticMonitor.Start("DiagnosticsConnectionString", dm);

(设置名称是开发者选择的字符串)。

这看起来令人困惑 - 我的印象是它是相同的设置,但无论出于何种原因,不同的人配置它的方式不同。

存储帐户在哪里指定,为什么上述两个 sn-ps 看似用于同一任务?

【问题讨论】:

    标签: debugging azure cloud azure-diagnostics azure-configuration


    【解决方案1】:

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

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

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

    1. 启用 DM 插件并为 Windows Azure 中的存储帐户设置一个有效的连接字符串。
    2. 远程(使用脚本、ManageAxis、Windows Azure MMC、Cerebrata 等工具)设置监控配置,如您所愿*
    3. 或者,在运行时,在您的 RoleEntryPoint 中,通过代码强制配置监视器。

    这会将您的计数器、日志等实际转移到您的存储帐户中。在这一点上,由你来解释它。有一些产品(例如 ManageAxis 和其他产品)可以为您进行分析(图形、自动缩放等),但您主要靠自己来查询 DM 生成的数据。

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

    【讨论】:

      【解决方案2】:

      我相信这是随着 Azure 的发展而发生的事情......在早期,默认情况下没有启动诊断 - 所以这解释了旧的问题和答案。

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

      【讨论】:

        【解决方案3】:

        我也为此苦苦挣扎,所以当我终于让它工作时,整理了以下博客文章

        Windows Azure Diagnostics with SDK 1.6 for WebRoles

        【讨论】:

          【解决方案4】:

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

          http://www.microsoftpdc.com/2009/SVC15

          【讨论】:

            猜你喜欢
            • 2021-08-21
            • 1970-01-01
            • 2018-08-27
            • 2023-03-14
            • 2018-02-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-06-30
            相关资源
            最近更新 更多