Dra*_*lut 6 azure azure-diagnostics
在Windows Azure管理管理门户中,当我尝试监视实例时,出现以下错误:
The configuration file is missing a diagnostic connection string for one or more roles. Monitoring can't be enabled for these roles.
我的服务有2个角色.
MyApp.Cache 在监控图上运行正常.
MyApp.Website不显示监控图.这就是我没有value="UseDevelopmentStorage=true"问题的原因.
我的服务配置如下:
<Role name="MyApp.Website">
<Instances count="2" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey" />
</ConfigurationSettings>
</Role>
<Role name="MyApp.Cache">
<Instances count="2" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.Loglevel" value="" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey" />
</ConfigurationSettings>
</Role>
Run Code Online (Sandbox Code Playgroud)
我的服务定义是这样的:
<ServiceDefinition name="MyApp.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-05.1.7">
<WebRole name="MyApp.Website" vmsize="ExtraSmall">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
<LocalResources>
<LocalStorage name="DiagnosticStore" sizeInMB="4096" cleanOnRoleRecycle="false"/>
</LocalResources>
</WebRole>
<WorkerRole name="MyApp.Cache" vmsize="ExtraSmall">
<Imports>
<Import moduleName="Diagnostics" />
<Import moduleName="Caching" />
</Imports>
<LocalResources>
<LocalStorage name="Microsoft.WindowsAzure.Plugins.Caching.FileStore" sizeInMB="4096" cleanOnRoleRecycle="false" />
</LocalResources>
</WorkerRole>
</ServiceDefinition>
Run Code Online (Sandbox Code Playgroud)
为了使诊断正常工作,您需要在 .csdef 中导入诊断模块,并在 .cscfg 文件中提供有效的连接字符串。
在您的情况下,您已正确包含诊断模块,但您尚未在 .cscfg 文件中提供有效的连接字符串。您需要将“AccountName”替换为实际的帐户名称,将“AccountKey”替换为有效的帐户密钥。为此,您需要创建一个 Azure 存储帐户并在此处复制其连接字符串。
另外,即使它不是您问题的一部分,您也不应该在部署解决方案时使用“UseDevelopmentStorage=true”。它基本上使用本地存储模拟器作为 Azure 存储帐户,这在云中不可用。您还需要在辅助角色中提供有效的存储帐户连接字符串。
| 归档时间: |
|
| 查看次数: |
2433 次 |
| 最近记录: |