gpt4 book ai didi

debugging - 如何配置 Azure 诊断存储帐户?

转载 作者:行者123 更新时间:2023-12-03 08:01:07 24 4
gpt4 key购买 nike

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 的代码片段(来自 this question by 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);

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

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

存储帐户在哪里指定?为什么上述两个代码段似乎用于同一任务?

最佳答案

当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 中对此进行编码,并且我有可以监视和维护它的工具。

关于debugging - 如何配置 Azure 诊断存储帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6663720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com