Azure 警报链式处理

Azure 警报链式处理

需要您的建议,以选择哪种方式来解决以下任务:在触发 Azure 警报时,我需要使用其他数据来丰富它,并将摘要发送到电子邮件和团队:

                                /--> Teams
Alert -> Python Script -> ... -+ 
                                \--> E-Mail

只需通过电子邮件发送警报即可将其包含在警报中,但这种方式仅提供指向门户的链接,这不是一个选项(我需要向无法访问门户的第三方发送警报;此外,我需要使用其他信息丰富数据)。Logic App 可以与 Teams/Exchange365 集成,但不允许添加中间脚本来处理和丰富数据。因此,唯一可用的选项似乎是 Azure 函数(独立或 Runbook 的一部分),由 Alert Action Group 调用,然后(在数据处理完成后)将调用 - 什么?- Logic App?还是直接调用不同的 Webhook(Teams / Exchange)?还有其他方法吗?

因此,问题是关于常识的——解决任务(丰富警报数据并将其发送到订阅之外)的最直​​接、最简单的方法是什么? Azure 产品的哪些组件应按哪个顺序使用?

谢谢。

答案1

我会将逻辑应用程序和函数结合起来。您可以使用逻辑应用程序执行编排,包括发送团队和电子邮件消息,还可以使用它来触发函数以运行 Python 脚本。

Logic Apps 中的函数集成也可以接收函数的结果,因此函数无需调用进一步的服务,只需要将您需要的数据返回给逻辑应用程序,然后它可以使用它并以您喜欢的方式传递它。

答案2

最终实施的方案如下:

                                                       +-------+
                                                   +-->+ Teams |
 +-------+        +----------+         +-------+   |   +-------+
 | Azure |        |  Azure   |         | Logic +---+
 | Alert +--------> Function |--------->  App  |
 |       |        |          |         |       +---+
 +-------+        +----------+         +-------+   |   +-------+
                                                   +-->+ Email |
                                                       +-------+

其中 Azure Function 用 Python 编写,使用输入数据执行所有作业,准备输入数据并调用 Logic App,后者又使用现有集成调用 Exchange 和/或 Teams。

相关内容