如何使用 Azure Monitor SDK 加载自定义事件?

How to load custom events with Azure Monitor SDK?

我使用 Microsoft.Azure.Management.Fluent SDK 包访问 Azure Monitor 指标,如下所示:

var credentials = SdkContext.AzureCredentialsFactory
    .FromServicePrincipal("some-client-id", "some-client-secret", "some-tenant-id", AzureEnvironment.AzureGlobalCloud);

var azure = Microsoft.Azure.Management.Fluent.Azure
   .Configure()
   .Authenticate(credentials)
   .WithSubscription("my-subscription");

foreach (var metricDefinition in azure.MetricDefinitions.ListByResource("my-resource-uri"))
{
    ...
}

它适用于常用指标(Application Insights 标准指标)。但是,如何使用此 SDK 获取我的自定义事件以在我的自定义应用仪表板中呈现它们?我在 "Log-based metrics" 下的 Application Insights 仪表板中看到记录的事件,但 ListByResource 方法没有 return 它们。

我怀疑这可能是一个错误。

方法ListByResource有2个参数,第二个是metricnamespace

默认情况下,metricnamespacemicrosoft.insights/components,用于Application Insights standard metrics

对于 Log-based metricsmetricnamespace 应该是 microsoft.insights/components/kusto(要检查该值,您可以使用 Fiddlerdeveloper tool of any browser 等工具)。根据我的测试,当使用 ListByResource("resourceId","microsoft.insights/components/kusto") 时,它会抛出 "bad request" 错误。所以我提出 an issue 来跟踪这个。