[英]Azure Monitoring - no data in storage account
I thought that (after following the steps in http://azure.microsoft.com/en-us/documentation/articles/cloud-services-how-to-monitor/ ) that this would persist the data from "Verbose" monitoring in a corresponding Azure storage account (which I created as per the article). 我认为(按照http://azure.microsoft.com/zh-cn/documentation/articles/cloud-services-how-to-monitor/中的步骤操作之后),这样可以持久保存“详细”监视中的数据相应的Azure存储帐户(我根据文章创建了该帐户)。
However, I don't see any data in storage. 但是,我在存储中看不到任何数据。 There are now 3 containers in the storage account ("mam", "mdsconfig", "wad-control-container") and I expected the last one to contain monitoring data - but there's only a single XML file (about 3.6K).
现在,存储帐户中有3个容器(“ mam”,“ mdsconfig”,“ wad-control-container”),我希望最后一个容器包含监视数据-但只有一个XML文件(约3.6K)。
Could someone please advise? 有人可以请教吗? I must have missed a step or misunderstood something!
我一定错过了一步或误解了一些东西! This will contain all the cpu/network/sql stats, right?
这将包含所有的cpu / network / sql统计信息,对不对?
EDIT: This is my diagnostics.wadcfg file: 编辑:这是我的diagnostic.wadcfg文件:
<?xml version="1.0" encoding="utf-8"?>
<DiagnosticMonitorConfiguration configurationChangePollInterval="PT1M" overallQuotaInMB="4096" xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<DiagnosticInfrastructureLogs />
<Directories>
<IISLogs container="wad-iis-logfiles" />
<CrashDumps container="wad-crash-dumps" />
</Directories>
<Logs bufferQuotaInMB="1024" scheduledTransferPeriod="PT5M" scheduledTransferLogLevelFilter="Verbose" />
<PerformanceCounters scheduledTransferPeriod="PT5M">
<PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\Memory\Available MBytes" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\Memory\Committed Bytes" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\LogicalDisk(_Total)\Disk Read Bytes/sec" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\Web Service(_Total)\ISAPI Extension Requests/sec" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\Web Service(_Total)\Bytes Total/Sec" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\ASP.NET Applications(__Total__)\Requests/Sec" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\ASP.NET Applications(__Total__)\Errors Total/Sec" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\ASP.NET\Requests Queued" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\ASP.NET\Requests Rejected" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\ASP.NET\Applications Running" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\Process(WaWorkerHost)\% Processor Time" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\Process(WaWebHost)\% Processor Time" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\Process(IISExpress)\% Processor Time" sampleRate="PT1S" />
<PerformanceCounterConfiguration counterSpecifier="\Process(w3wp)\% Processor Time" sampleRate="PT1S" />
</PerformanceCounters>
<WindowsEventLog bufferQuotaInMB="1024" scheduledTransferPeriod="PT5M" scheduledTransferLogLevelFilter="Verbose">
<DataSource name="Application!*" />
<DataSource name="System!*" />
</WindowsEventLog>
</DiagnosticMonitorConfiguration>
ServiceDefinition.csdef: ServiceDefinition.csdef:
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="CloudTest" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-03.2.0">
<WebRole name="MyRole" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
</Endpoints>
<LocalResources>
<LocalStorage name="MainDrive" cleanOnRoleRecycle="false" sizeInMB="1000" />
</LocalResources>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
<ConfigurationSettings>
<Setting name="SomeSetting" />
</ConfigurationSettings>
<Certificates>
<Certificate name="HubWebService client" storeLocation="LocalMachine" storeName="My" />
<Certificate name="RootCATest_Uat2" storeLocation="LocalMachine" storeName="My" />
</Certificates>
</WebRole>
<WorkerRole name="SendEmails" vmsize="Small">
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
<ConfigurationSettings>
<Setting name="SomeSetting" />
</ConfigurationSettings>
<Certificates>
<Certificate name="HubWebService client" storeLocation="LocalMachine" storeName="My" />
<Certificate name="RootCATest_Uat2" storeLocation="LocalMachine" storeName="My" />
</Certificates>
</WorkerRole>
</ServiceDefinition>
Before it starts outputting data to storage, you have to enable them in your application as well -> http://azure.microsoft.com/en-us/documentation/articles/cloud-services-dotnet-diagnostics/ 在开始将数据输出到存储之前,您还必须在应用程序中启用它们-> http://azure.microsoft.com/zh-cn/documentation/articles/cloud-services-dotnet-diagnostics/
The important piece in that configuration is the scheduledTransferPeriod attribute which sets how often data are pushed from your roles to Storage. 该配置中最重要的部分是scheduleTransferPeriod属性,该属性设置将数据从角色推送到存储的频率。 If the transfer is not set, you won't get any information out of the role.
如果未设置传输,则不会从角色中获取任何信息。
You can also programmatically trigger it if you like (on demand diagnostics transfer). 您也可以根据需要以编程方式触发它(按需诊断传输)。
Stupid question, but are you looking at Azure tables at all? 愚蠢的问题,但是您是否正在查看Azure表? Most of diagnostics is there.
大多数诊断程序在那里。 It does take a few good minutes to show up, after the first time a properly configured diagnostics schema is deployed
第一次部署正确配置的诊断架构后,确实需要花费几分钟才能显示出来
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.