如果员工角色抛出异常或出现错误,是否有一种简单的方式在Azure Management门户中发送警报或通知?
我使用Azure 2.5
我已经设置了所有跟踪和诊断信息,并且可以在Visual的服务器资源管理器中查看日志,但是如果例如日志中出现错误消息,是否仍然需要设置警报。
我知道您可以在Management中设置监视度量的警报,是否有一种简单的方法可以添加错误和异常的度量标准?
或者以某种方式获取C#异常代码,以便在Azure管理门户中创建通知或警报?
发布于 2015-04-30 21:55:42
我使用SendGrid通过Azure发送电子邮件,因为它是免费的。以下是我要做的事情:
try
{
     //....
}
catch(Exception ex)
{
     MailMessage mailMsg = new MailMessage() {
                //Set your properties here
            };
    
     // Add the alternate body to the message.
     mailMsg.AlternateViews.Add(
            AlternateView.CreateAlternateViewFromString(Body
                   , new System.Net.Mime.ContentType("text/html")));
     SmtpClient smtpClient = new SmtpClient(
                                 ServerGlobalVariables.SmtpServerHost
                                 , Convert.ToInt32(587));
     System.Net.NetworkCredential credentials = 
          new System.Net.NetworkCredential(
                 ServerGlobalVariables.SmtpServerUserName
                 , ServerGlobalVariables.SmtpServerPassword);
     smtpClient.Credentials = credentials;
     smtpClient.Send(mailMsg);
}请注意,我将我的学分存储在一个名为ServerGlobalVariables的全局变量类中。此外,我发送的电子邮件格式为HTML,但你不必这样做。
发布于 2015-05-04 21:28:54
最后,我使用电子邮件提醒和应用程序洞察力来监视我在Azure门户中的工作人员角色。根据这些指示,我在门户上创建了一个应用程序洞察力。
使用Visual中的Nuget包管理器,我添加了应用程序洞察力API、网站应用程序洞察力(尽管我的工作人员角色不是web应用程序)和应用程序洞察力跟踪监听器。
然后,通过向worker角色添加以下内容,创建了一个应用程序洞察实例。
private TelemetryClient tc = new TelemetryClient();然后将其添加到onStart方法中。
        tc.Context.InstrumentationKey = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX";您可以在Azure门户中找到您的增强密钥。
在运行或部署我的辅助角色之后,我可以在Azure门户中查看我的所有Trace.TraceInformation和TraceError语句,并添加tc.TrackError和tc.TrackEvent语句来跟踪错误和事件。
当抛出异常时,TrackError非常适合通知我。
https://stackoverflow.com/questions/29975871
复制相似问题