由于间歇性网络连接,是否可以使用日志在特定时间间隔向 Azure Application Insights 报告

Is it possible to use logs to report to Azure Application Insights at specific time intervals due to intermittent network connectivity

documentation 中不清楚 Azure Application Insights 如何 ping 回 Azure 云服务。

此处提供线索的唯一文档并未准确解释其工作原理。我认为让计划变得有点困难的是,Azure 监控服务是一个整体,然后通过代码应用的实际应用程序的遥测服务是构成整体的另一部分。

这是statement from this documentation:

Does the SDK create temporary local storage? Yes, certain Telemetry Channels will persist data locally if an endpoint cannot be reached. Please review below to see which frameworks and telemetry channels are affected.

Telemetry channels that utilize local storage create temp files in the TEMP or APPDATA directories which are restricted to the specific account running your application. This may happen when an endpoint was temporarily unavailable or you hit the throttling limit. Once this issue is resolved, the telemetry channel will resume sending all the new and persisted data.

就我们的目的而言,计划是使用 Azure Application Insights,但连接不稳定或充其量 "planned"。 IE。每 12 或 24 小时。

有没有办法计划何时实际 ping 和使用服务,或者有没有办法只在特定时间间隔提交 "logs"?

如果不是,spotty/intermittent 连接一般会发生什么?

ServerTelemetryChannel,这是将数据保存在本地存储中的那个,它将保存 up to 24 hours 的数据,并在获得连接后传输。如果没有连接的时间超过该时间,它将继续尝试,但一旦建立连接,它就不会传输超过 24 小时的任何内容。还有 50 MB 的存储大小限制。如果您能够每 12 小时可靠地发送一次数据就可以了,但是没有一种简单的方法可以判断何时传输了所有数据,因此计划的连接需要足够长以确保您可以传输所有数据.

另一种选择是 create your own ITelemetryChannel that implements a scheduled data transmission. Since the SDK is open source, you can use the Server Telemetry 代码来帮助指导您。

最后的选择是通过其他方式将日志保存在本地存储中,然后将它们导入到 Azure Monitor 中。 Data Collector API 处于预览状态,但它可以让您按所需的任何计划将数据导入 Azure Monitor,只要它是使用 Monitor 理解的模式发送的。