首页 > 解决方案 > 您能否将应用服务日志或应用程序洞察日志摄取到 azure 事件中心

问题描述

我为第三方设置了 Azure 事件中心,以便将他们的数据用于监控目的。

我知道一些 azure 服务可以通过诊断设置直接将数据发送到事件中心。

我正在尝试找出如何将 AppService 日志发送到事件中心。

根据我的阅读,没有直接的方法,但如果您使用应用程序洞察力,将数据导出到存储容器,然后从那里,使用 logicApp 通过触发器和操作步骤将数据发送到事件中心,这是可能的。

我已尝试关注此处的信息 - https://docs.microsoft.com/en-us/azure/azure-monitor/platform/stream-monitoring-data-event-hubs但有关使用 LogicApp 将信息发送到事件中心的详细信息每次我执行 LogicApp 触发器时,将事件发送到集线器的操作都会返回错误“收到的事件为空且无法解析”。

任何人都对如何做到这一点有任何想法。

干杯

标签: azureazure-application-insightsazure-web-app-serviceazure-logic-appsazure-eventhub

解决方案


如果您尝试使用逻辑应用将应用程序洞察数据(通过连续导出存储在 blob 存储中)发送到事件中心,则会出现问题。

由于 blob 存储中的应用程序洞察数据基于日期和时间存储在如此多的子文件夹中(如 Event/2019-09-17/05 或 Request/2019-09-17/05),但日志应用程序 blob 触发器除非您指定完整路径,否则在子文件夹中添加 blob 时不会触发。问题就在这里。因此,即使您定义了很多逻辑应用程序并且为每个逻辑应用程序指定了一个路径,但路径(子文件夹)每次都在变化,这几乎是不可能的。

这里有两种解决方法:

1.您可以使用一些工具或代码或手动将存储应用程序洞察数据的blob直接复制到另一个容器中,而不需要任何子文件夹,然后使用逻辑应用程序,它可以按照我的测试工作。

2.我建议您可以先通过blob storage sdk编写自己的代码,将每个blob应用程序洞察数据循环到blob存储中。然后使用azure 事件中心客户端将这些数据发送到事件中心。

希望对您有所帮助,如果您在编写代码时遇到任何问题,请告诉我。


推荐阅读