我已经使用azure诊断创建了一个服务结构集群,它目前正在运行,我的服务已部署到该集群中。我的服务中有一个ETW EventSource,我想开始收集事件,因为我的服务代码已经使用此事件源来编写我的服务相关事件。由于群集已经启用了azure诊断并且我的服务已经部署到该群集中,我认为使用此服务结构群集中的事件源更新ETW提供程序很简单。这是导出的模板(仅显示与azure诊断相关的部分):
{
"properties": {
"publisher": "Microsoft.Azure.Diagnostics",
"type": "IaaSDiagnostics",
"typeHandlerVersion": "1.5",
"autoUpgradeMinorVersion": true,
"settings": {
"WadCfg": {
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": "50000",
"EtwProviders": {
"EtwEventSourceProviderConfiguration": [
{
"provider": "Microsoft-ServiceFabric-Actors",
"scheduledTransferKeywordFilter": "1",
"scheduledTransferPeriod": "PT5M",
"DefaultEvents": {
"eventDestination": "ServiceFabricReliableActorEventTable"
}
},
{
"provider": "Microsoft-ServiceFabric-Services",
"scheduledTransferPeriod": "PT5M",
"DefaultEvents": {
"eventDestination": "ServiceFabricReliableServiceEventTable"
}
},
{
"provider": "Bb.ServiceFabric.Infrastructure.Container",
"scheduledTransferPeriod": "PT1M",
"DefaultEvents": {
"eventDestination": "ServiceFabricReliableServiceEventTable"
}
}
],
"EtwManifestProviderConfiguration": [
{
"provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
"scheduledTransferLogLevelFilter": "Information",
"scheduledTransferKeywordFilter": "4611686018427387904",
"scheduledTransferPeriod": "PT5M",
"DefaultEvents": {
"eventDestination": "ServiceFabricSystemEventTable"
}
}
]
}
}
},
"StorageAccount": "sfdgsmsraghuplaygrou6827"
}
},
"name": "VMDiagnosticsVmExt_vmNodeType0Name"
}
我想更新以下EtwProviders / EtwEventSourceProviderConfiguration以包含以下部分(因为MyCompany.MyServices.MyStatelessService是我的服务' s EventSource的名称):
{
"provider": "MyCompany.MyServices.MyStatelessService",
"scheduledTransferPeriod": "PT5M",
"DefaultEvents": {
"eventDestination": "ServiceFabricReliableServiceEventTable"
}
}
以下是我的问题:
注意:我使用的是.net framework 4.5.2。
答案 0 :(得分:2)
上面添加的配置似乎都很好。请注意,对于ETWProviders,EventDestination不能包含连字符( - ),你的不是这样你就可以了。
要更新Windows Azure诊断(WAD)代理配置,您可以在Visual Studio中使用PowerShell或Cloud Explorer。
对于前者,只需更新ARM模板并使用New-AzureRmResourceGroupDeployment cmdlet。有关详细信息,请参阅此处:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-diagnostics-how-to-setup-wad/#update-diagnostics-to-collect-and-upload-logs-from-new-eventsource-channels
在Visual Studio中使用Cloud Explorer。浏览到您的虚拟机规模集(因为这是包含WAD配置的Azure资源)。右键单击并选择“更新诊断”。在显示的对话框中,您可以选择上载专用和公用配置文件。简单地获取包含{“WadCfg”:{}}元素的.json文档,并将其作为公共配置上传。
如果需要更新私有配置,请指定存储帐户名和AccessKey: { “storageAccountName”:“”, “storageAccountKey”:“”, “storageAccountEndPoint”:“https://core.windows.net”, }
希望这会有所帮助。 的Mikkel