通过应用程序洞察力将带有堆栈跟踪的异常通过电子邮件发送给开发团队

Email exceptions with stacktrace to dev team from application insights

在我们系统的旧部分中,我们设置了日志记录,以便开发团队在抛出异常时收到电子邮件。我们系统的较新部分托管在 Azure 中,并将错误记录到应用程序洞察中。我查看了应用程序洞察警报,可以设置为发送电子邮件的警报不包含任何有关异常的信息,或过滤不相关异常的可能性。

因此,考虑到所有可用的 API,我认为应该可以创建更详细的电子邮件。有人有关于这个主题的任何信息吗?

我可以想象在 Azure 中创建一个计时器触发器函数,该函数会在某个时间间隔轮询应用程序洞察 API 错误并发送电子邮件,但从头开始创建它有点门槛。

我有一个 java 程序,所以我使用 java-appinsights-agent 来收集指标、请求、跟踪并将它们发送到 azure application insights 实例。如果您使用其他编程语言,微软也提供其他sdk或解决方案。

如果你需要,我可以提供建议。让我们在这里开始创建警报规则。您还可以看到 this tutorial.

在为我的程序设置监视器后,我有了提供日志分析的应用程序洞察实例。来到 azure portal->your application insights instance-> logs,让我们关注异常。正如我们在下面的屏幕截图中看到的那样,应用洞察已从我的项目中捕获到异常消息。我这里查询了所有的异常,支持加一些过滤器。然后我点击 New alert rule.

接下来是设置警报逻辑,任何异常对我来说都很重要,我想尽快知道,所以如果查询returns任何异常(结果数> 0),警报规则应该触发,这里监听的最小间隔是5分钟。

接下来是添加动作组,我想为我的项目创建一个新的动作组,添加动作组->创建动作组

在基本面板中输入字段后,让我们关注通知,请参见下面的屏幕截图:

最后,填写与此规则相关的一些字段,然后单击创建。然后我就可以像评论里的截图一样收到邮件了

我正在使用 application insights 进行日志记录,但结合 NLog 将异常记录到数据库并使用 stacktrace 立即发送电子邮件。我无法及时从应用程序洞察中获取异常警报。