需要您的建议,以选择哪种方式来解决以下任务:在触发 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。