将PerformanceCounter发送到ApplicationInsights

时间:2019-05-24 09:56:14

标签: azure azure-application-insights

我正在尝试将一些PerformanceCounters手动发送到ApplicationInsights。

我尝试使用此正文直接发布到https://dc.services.visualstudio.com/v2/track

{
    "iKey": "xxxxxxx",
    "time": "2019-05-23T10:22:52.9586379Z",
    "name": "MetricData",
    "tags": {
        "ai.cloud.role": "My Test Role"
    },
    "data": {
        "baseType": "MetricData",
        "baseData": {
            "metrics": [
                {
                    "name": "performanceCounters/processCpuPercentage",
                    "value": 0.5,
                    "count": 1
                }
            ]
        }
    }
}

此呼叫结束于customMetrics,我真的希望它结束​​于performanceCounters,以便可以使用所有现有的仪表板。

我已经浏览了github仓库,但找不到将其perfconter实际写入json的地方。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

更新:通过邮递员对以下数据进行快速测试,效果很好。

数据:

{
  "name": "Microsoft.ApplicationInsights.foo.PerformanceCounter",
  "time": "2019-05-28T08:22:20.6464765-07:00",
  "iKey": "xxxxx",
  "tags": { "ai.internal.sdkVersion": "1.2.0.5639" },
  "data": {
    "baseType": "PerformanceCounterData",
    "baseData": {
      "ver": 2,
      "categoryName": "Process",
      "counterName": "% Processor Time",
      "instanceName": "TestPerfCounters.vshost",
      "value": 20.0318031311035
    }
  }
}

邮递员中

enter image description here

在azure门户->应用分析->日志中,我可以在 performanceCounters 表中找到数据。

enter image description here


根据此doc的最后一节,请尝试更改"baseType" to "PerformanceCounterData"

文档截图:

enter image description here

我没有时间对其进行测试。但是,如果有任何问题,请告诉我。

答案 1 :(得分:0)

使用以下内容使该指标显示在Performancecounter表中,而不是customMetrics。

metricTelemetry.Properties.Add("CustomPerfCounter", "true");

如果您还可以修改json有效负载以执行相同操作,那么您将实现所需的功能。