0

I'm trying to send performance data (i.e. CPU and Memory Usage) from my service fabric nodes to Azure Application Insights. However they do not seem to be appearing in my application insights metrics explorer.

The performance counters are successfully sent to to an azure storage table (WADPerformanceCountersTable) but are not propagated onto application insights for analysis.

Here is the WAD Config part of my resource file which is used to deploy my service fabric application:

"WadCfg": {
                                        "DiagnosticMonitorConfiguration": {
                                            "overallQuotaInMB": "50000",
                                            "sinks": "applicationInsights",
                                            "DiagnosticInfrastructureLogs": {},
                                            "PerformanceCounters": {
                                                "PerformanceCounterConfiguration": [
                                                    {
                                                        "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                                                        "sampleRate": "PT3M",
                                                        "sinks": "applicationInsights"
                                                    },
                                                    {
                                                        "counterSpecifier": "\\Memory\\Available MBytes",
                                                        "sampleRate": "PT3M",
                                                        "sinks": "applicationInsights"
                                                    }
                                                ]
                                            },
                                            "EtwProviders": {
                                                "EtwEventSourceProviderConfiguration": [
                                                    {
                                                        "provider": "Microsoft-ServiceFabric-Actors",
                                                        "scheduledTransferKeywordFilter": "1",
                                                        "scheduledTransferPeriod": "PT5M",
                                                        "DefaultEvents": {
                                                            "eventDestination": "ServiceFabricReliableActorEventTable"
                                                        }
                                                    },
                                                    {
                                                        "provider": "Microsoft-ServiceFabric-Services",
                                                        "scheduledTransferPeriod": "PT5M",
                                                        "DefaultEvents": {
                                                            "eventDestination": "ServiceFabricReliableServiceEventTable"
                                                        }
                                                    }
                                                ],
                                                "EtwManifestProviderConfiguration": [
                                                    {
                                                        "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
                                                        "scheduledTransferLogLevelFilter": "Information",
                                                        "scheduledTransferKeywordFilter": "4611686018427387904",
                                                        "scheduledTransferPeriod": "PT5M",
                                                        "DefaultEvents": {
                                                            "eventDestination": "ServiceFabricSystemEventTable"
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        "SinksConfig": {
                                            "Sink": [
                                                {
                                                    "name": "applicationInsights",
                                                    "ApplicationInsights": "c0c27fcd-21e8-4a11-8502-ed250d22e124"
                                                }
                                            ]
                                        }
                                    },
                                    "StorageAccount": "sfdgbriansftest7053"

Is there anything I am missing from this deployment file to successfully receive these performance counters? Am I missing any other required steps?

Thanks.

Brian Delaney
  • 181
  • 1
  • 16

1 Answers1

0

I have this working in my cluster. I am sending CPU usage to application insights. Please see the json below. The only difference I can see is that you are not specifying the "units" and the "scheduledTransferPeriod".

                                "publisher": "Microsoft.Azure.Diagnostics",
                                "settings": {
                                    "WadCfg": {
                                        "DiagnosticMonitorConfiguration": {
                                            "overallQuotaInMB": "50000",
                                            "sinks": "applicationInsights",
                                            "PerformanceCounters": {
"scheduledTransferPeriod": "PT1M",
"PerformanceCounterConfiguration": [
    {
        "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
        "sampleRate": "PT15S",
        "unit": "Percent",
        "annotation": [
        ],
        "sinks": "applicationInsights"
    }
]

},

andresm53
  • 1,913
  • 6
  • 15
  • Thanks for your response. I've tried adding those settings but am still getting nothing through to AI. I have just used the base resource template with logging enabled. Do you know if there is anything else you added anywhere that might be affecting your performance monitoring? – Brian Delaney Jul 17 '17 at 13:45
  • No ... I just created the cluster through the portal with both diag options (Diagnostic enabled plus AI key) and later I edited the json and I added the snippet PerformanceCounters that I copied above... – andresm53 Jul 17 '17 at 13:53
  • Thanks @andresm53. Just one or two quick follow up questions. When you created your Application Insights resource did you create it as a 'General' or as an 'ASP .NET web application'. Also do you have something running on the cluster or are you able to gather infrastructure data without an application deployed? Thanks Again – Brian Delaney Jul 18 '17 at 09:00
  • In AI I used ASP.NET web application, as per https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-diagnostics-event-analysis-appinsights – andresm53 Jul 18 '17 at 11:48
  • and the cluster currently is only runing the path app https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-patch-orchestration-application, but IIRC the CPU data started to flow to AI before I deployed that app – andresm53 Jul 18 '17 at 11:49
  • do you have the "name" property of your extension set to `Microsoft.Insights.VMDiagnosticsSettings` ? With SF default's template name is `"[concat('VMDiagnosticsVmExt','_vmNodeType1Name')]"` and this seems not to work. – mcs_dodo Nov 07 '18 at 13:18