Service Fabric Performance Counters in Application Insights

721 views Asked by At

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.

1

There are 1 answers

6
andresm53 On

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"
    }
]

},