Azure Eventhub警报系统

Azure Eventhub警报系统,azure,azure-eventhub,azure-stream-analytics,Azure,Azure Eventhub,Azure Stream Analytics,我们有一个物联网服务在Azure上运行,它会产生很多事件。我们需要构建一个新功能,允许最终用户根据系统事件配置警报。它允许用户选择一个事件,并配置在此类事件发生时要执行的操作电子邮件、webhook等。我们正在评估Azure Eventhub,可能还有Azure Stream Analytics作为该职位的候选人 我们面临的问题是:我们认为我们将获得大量的流分析工作。例如,当我们有3000个客户,每个客户配置3个警报时,我们需要运行9000个stream Analytics作业,这些作业从eve

我们有一个物联网服务在Azure上运行,它会产生很多事件。我们需要构建一个新功能,允许最终用户根据系统事件配置警报。它允许用户选择一个事件,并配置在此类事件发生时要执行的操作电子邮件、webhook等。我们正在评估Azure Eventhub,可能还有Azure Stream Analytics作为该职位的候选人

我们面临的问题是:我们认为我们将获得大量的流分析工作。例如,当我们有3000个客户,每个客户配置3个警报时,我们需要运行9000个stream Analytics作业,这些作业从eventhub中选择特定事件,并将其推送到队列中进行警报处理。这不仅是一项艰巨的维护工作,而且我认为这不是一个真正具有成本效益的解决方案


对此或更好的解决方案有何想法?

我假设来自多个客户的事件会转到一组固定的小事件中心,而操作会转到一组固定的小队列。 您可以将其设计为单个Azure stream analytics作业处理多个客户的处理。参考数据允许将其称为CustomerToAlertLookup,可用于确定哪个客户配置了哪个警报,事件流可与CustomerToAlertLookup连接以确定是否应存在警报

所需Azure stream analytics作业的数量将是输出数量和可管理性首选项的一个因素


如果您添加一个假设但更具体的场景,我可以尝试编写一个示例查询。

谢谢,我认为这将是一个很好的解决方案。通过使用引用数据,我们可以用我们想要的事件过滤eventhub。我们可以将其输出到包含事件的队列,这些事件可以由处理警报的工作人员处理。流分析作业将使事件流更易于管理。唯一的问题是警报将存储在DocumentDB中,我们不能直接将其用作参考数据。我们需要将需要的事件转换为blob存储上的文件。