如何使用 REST API 筛选 AppInsights 自定义指标

How to filter AppInsights custom metrics with REST API

我正在尝试使用 REST API 来检索 AppInsights 自定义指标并在查询中使用过滤器。

创建指标的代码:

var telemetry = new MetricTelemetry();
telemetry.Context.InstrumentationKey = instrumentationKey;
telemetry.Name = FacebookFupMetricName;
telemetry.Value = amount;
telemetry.Timestamp = DateTime.Now;
telemetry.Properties["agencyCode"] = agencyCode;
telemetry.Properties["accountCode"] = accountCode;
telemetry.Properties["category"] = category;
telemetry.Properties["action"] = action;
var client = new TelemetryClient();
client.TrackMetric(telemetry);
client.Flush();

当 运行 此代码时,在 Azure 中创建指标。

现在我想使用 REST API 来检索指标并在查询中使用过滤器。当我使用过滤器时

category eq 'cat001'

查询以错误结束

The following dimensions are not valid in the filter clause for this metric: category

查询url是:

https://dev.applicationinsights.io/apiexplorer/metrics?appId=<appId>&apiKey=<apiKey>&metricId=customMetrics%2FFacebookFupAction&timespan=P1D&aggregation=sum&filter=category%20eq%20%27cat001%27

问题是,是否可以使用维度过滤自定义指标?

在筛选字段中,您应该使用customDimensions/category eq 'cat001'

生成的url格式如下:

`https://dev.applicationinsights.io/apiexplorer/metrics?appId=<appId>&apiKey=<apiKey>&metricId=customMetrics%2FFacebookFupMetricName&aggregation=sum&filter=customDimensions%2Fcategory%20eq%20'cat001'`

截图如下: