事件中心设置中的Visual Studio诊断配置错误

时间:2016-10-19 09:25:41

标签: visual-studio azure etw azure-eventhub azure-diagnostics

我正在尝试通过Diagnostics配置设置从Azure VM规模集到事件中心的流式传输。

我的公共配置包括SinksConfig如下(为简洁起见,我省略了配置的其余部分):

{
 "WadCfg": {
     "DiagnosticMonitorConfiguration": {

     *** config for performance counters and ETW ***

       "SinksConfig": {
            "Sink": [
             {
               "name": "eventhub",
               "EventHub": {
               "Url": "sb://myhub.servicebus.windows.net/mycompanyapplication",
               "SharedAccessKeyName": "RootManageSharedAccessKey"
             }
           }
         ]
       }
     },
    "StorageAccount": "<storageaccount>"
}  

和私人配置:

{
   "storageAccountName": "<storageaccountname>",
   "storageAccountKey": "<storageaccountkey>",
   "storageAccountEndPoint": "https://core.windows.net",
   "EventHub": {
         "Url": "sb://myhub.servicebus.windows.net/mycompanyapplication",
         "SharedAccessKeyName": "RootManageSharedAccessKey",
         "SharedAccessKey": "<sharedaccesskey>"
   }
}

然而,事件中心没有收到任何信息。我可以在存储帐户日志中看到Diagnostics扩展程序正在运行:

enter image description here

但在子状态中,SAS密钥和事件中心周围存在许多错误:

enter image description here enter image description here enter image description here

当我在Scale集上检查Visual Studio Diagnostics配置时,我看到了这个错误:

enter image description here

我已经检查了SharedAccessKeyName上的命名约定(这是设置事件中心时提供的默认值)知道SAS密钥是否正常工作,因为我编写了一个控制台应用程序,使用相同的凭据将消息发送到同一个事件中心它工作得很好。

因此,事件中心的身份验证显然存在问题,因为它无法从配置文件中读取访问密钥。但是,我无法看到提供它的任何其他方式。

我在配置中遗漏了一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

原来问题很简单,我从门户网站的连接字符串中抓取了URL

sb://myhub.servicebus.windows.net/mycompanyapplication

应该是什么时候

https://myhub.servicebus.windows.net/mycompanyapplication

现在数据正在自由流入事件中心。

然而,VS中的诊断配置仍然显示无法读取SAS密钥的警告,现在看起来像一个“红鲱鱼”,最终花了我很多时间:(