如果工作者角色抛出异常或出现错误,是否有一种简单的方法可以在Azure管理门户中发送警报或通知?
我正在使用Azure 2.5
我已经设置了跟踪和诊断,并且可以在Visual Studio的服务器资源管理器中查看日志,但是如果例如并且日志中出现错误消息,则无论如何都要设置警报。
我知道您可以在管理门户中设置监控指标的警报,是否可以轻松添加错误和例外指标?
或者在某种程度上获取C#异常代码以在Azure管理门户中创建通知或警报?
答案 0 :(得分:3)
我最终使用电子邮件警报和应用程序洞察来监控Azure门户中的工作者角色。我根据these instructions在门户网站上创建了应用程序洞察。
在Visual Studio中使用Nuget包管理器我添加了Application insights API,网站的应用程序洞察(即使我的工作者角色不是Web应用程序)和Application insights跟踪侦听器。
然后,我通过将以下内容添加到辅助角色来创建应用程序洞察实例。
private TelemetryClient tc = new TelemetryClient();
然后将其添加到onStart方法中。
tc.Context.InstrumentationKey = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX";
您可以在Azure门户中找到您的insturmentation Key。
在运行或部署我的辅助角色之后,我可以在Azure门户中查看我的所有Trace.TraceInformation和TraceError语句,并添加tc.TrackError和tc.TrackEvent语句来跟踪错误和事件。
TrackError非常适合在抛出异常时通知我。
答案 1 :(得分:1)
我使用SendGrid通过Azure发送电子邮件,因为它是免费的。以下是我将要做的事情:
@model PagedViewModel<PlanViewModel>
请注意,我将我的积分存储在名为ServerGlobalVariables的globalvariables类中。此外,我发送格式为HTML的电子邮件,但您不必这样做。
如果您有任何疑问,请与我们联系。 〜干杯