我已经在我创建的Azure WebApp上启用了应用程序洞察。我的WebApp正在调用第三方API,它在配额上运行。我每个月只允许拨打10万个电话。使用Azure Application Insights创建调用第三方API的提醒
我需要跟踪这些API调用,以便在调用数量达到50%时创建警报,然后再创建75%的警报。
我每次进行调用时都会使用TrackEvent,并且AppInsights仪表板中的事件确实会增加。但是,我似乎无法创建一个警报时,进行了一定数量的通话。我无法从“活动”下拉列表中看到它。
此外,我需要的另一个要求是当每分钟呼叫次数超过10次时创建警报。
TrackEvent是否适合这些要求?
我做这样的事情...
var telemetryEventClient = new Microsoft.ApplicationInsights.TelemetryClient(new Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration() { InstrumentationKey = "Instrumentation Key" });
telemetryEventClient.Context.Operation.Name = "MyAPIProvider";
var properties = new Dictionary<string, string>
{
{ "Source", "WebAppToAPI" }
};
var metrics = new Dictionary<string, double>
{
{ "CallingAPIMetric", 1 }
};
telemetryEventClient.TrackEvent("CallingAPI", properties, metrics);
,但是当我看着设立警戒并放置的50000阈值(用于测试,我只是把5),我永远达不到的事件数总是1.我以正确的方式接近这个吗?
这是你如何使用流量/逻辑应用程序真的很有趣。我一定会在以后的另一个项目中使用它。但是......与公司安全人员进行了聊天,他说任何使用API密钥和/或链接另一个应用程序的东西都不会被接受。还有其他的选择吗?我们正在努力解决“资源枯竭”问题,这就是为什么我要计算一小时内发生多少次“CallingAPI”的原因。如果阈值设置为50,并且一小时内有51个呼叫,则会发送电子邮件警报。我应该如何执行自定义事件来获取事件数量而不是传递值? – james