Application Insights 警报未针对自定义指标触发

Application Insights Alert not firing for custom Metric

我已经在我的 js 代码中设置了 ApplicationInsights,每当我向它发送数据时,它都会被正确跟踪,我可以在门户中看到它。我现在想在发生错误或我定义的某些自定义指标时设置电子邮件通知。如下图所示,我设置了 3 个警报。前 2 个(ServerErrors 和 BrowserErrors)工作正常,我收到电子邮件通知。然后我设置了第三个,这样当我使用这个代码发送一个指标时

var properties = {
        Date: new Date(),
        Text: 'some text',
        Email: 'someemail@email.com'
    };
appInsights.trackMetric('UserFeedback', 1, null, null, null, properties);

我应该收到电子邮件通知,但我没有。我在 Metrics Explorer 中看到了指标,但无法调查指标详细信息,因为详细信息选项卡在门户中为 "Under construction"。我不知道(如果)我做错了什么。

此外,有时任何警报的左侧都会出现一个黄色三角形(就像我的 UserFeedback 警报左侧的三角形)(对我来说看起来很随意)。有没有人知道它们是什么以及如何修复它们?

黄色三角形表示 "this event is active",并且在事件的条件不再为真之前一直为真。

您可能想将此重写为自定义事件,并在调用中提交指标值,这样您就可以 see/search 自定义事件的详细信息?指标不可搜索,因此很难以这种方式查看属性。

var properties = {
    Text: 'some text',
    Email: 'someemail@email.com'
};
var metrics = {
    UserFeedback: 1,
};
appInsights.trackEvent('User sent feedback', properties, metrics );

或类似的东西? (您不需要日期字段,它是自定义事件的默认遥测的一部分)

至于为什么触发警报,我永远不记得指标值是否是该时间段内的平均值,或者这是总和还是什么,所以每次您提交 1 条反馈时,UserFeedback 都会不断增长,所以警报值永远不会回到0?

警报文档在此处:https://azure.microsoft.com/en-us/documentation/articles/app-insights-alerts/

并说:

•The period that you choose specifies the interval over which metrics are aggregated. It doesn't affect how often the alert is evaluated: that depends on the frequency of arrival of metrics.

• If no data arrives for a particular metric for some time, the gap has different effects on alert evaluation and on the charts in metric explorer. In metric explorer, if no data is seen for longer than the chart's sampling interval, the chart will show a value of 0. But an alert based on the same metric will not be re-evaluated, and the alert's state will remain unchanged.

• When data eventually arrives, the chart will jump back to a non-zero value. The alert will evaluate based on the data available for the period you specified. If the new data point is the only one available in the period, the aggregate will be based just on that.

我相信是第二和第三颗子弹击中了你。您已将值设置为 1,因为您发送了指标。但是,如果没有人为该指标发送 0 值,则警报规则再也不会看到该值发生变化。您可能需要在初次通话后进行第二次 trackMetric("UserFeedback", 0, ... ) 才能使警报消失? (然后将您的阈值设置为喜欢 .5 而不是 1?)

但我仍会通过自定义事件发送任何详细信息,以便您实际看到它们。