c# - 有没有直接的方法将容器日志从物联网边缘设备发送到azure日志分析工作区?

标签 c# azure docker azure-iot-hub

我正在寻找一种解决方案,将物联网边缘设备上生成的应用程序日志发送到 Azure 日志分析工作区。

我尝试使用 Microsoft 监控代理,使用它我能够发送运行 docker 容器生成的日志。但是,在边缘设备上,我们使用 moby 引擎而不是 docker 守护进程,因为监控代理不会收集日志记录(按照此设置与 docker - https://learn.microsoft.com/en-us/azure/azure-monitor/insights/containers#install-and-configure-windows-container-hosts 一起运行)。此外,由于我在 Windows 上运行边缘环境,因此我没有找到任何针对 Windows 的监控代理的容器镜像。(适用于 Linux https://hub.docker.com/r/microsoft/oms/ )

我正在寻找一种完全自动化的方式,将边缘设备上生成的应用程序日志流式传输到 azure 日志分析工作区。

最佳答案

到目前为止还没有内置的方法(可能值得在 Github 上与团队核实,因为他们可能在路线图上有这个)。

但是,您可以使用新的 log-pull feature 构建自己的解决方案:

  • 编写一个小型的时间触发的 Azure 函数,每隔几分钟为您感兴趣的容器(或所有容器)提取日志。日志将写入存储帐户
  • 第二个 blob 触发函数会获取上传的日志并将其发送到 Log Analytics。

//编辑:非常新的功能(仍处于 Edge 1.0.9 的候选版本中):https://github.com/veyalla/ehm这可能正是您正在寻找的

关于c# - 有没有直接的方法将容器日志从物联网边缘设备发送到azure日志分析工作区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58179801/

相关文章:

docker - Docker 镜像的安全性

javascript - 从下拉列表中获取过滤后的数据并显示在另一个下拉列表中

java - 如何将 Java 客户端连接到 Windows 10 上的 Azure Cosmos db 模拟器,找不到证书

c# - 反射.Assembly.CreateInstance(字符串)

azure - 如何在 Azure 规模集 VM 中部署应用程序?

Azure 存储数据传输和数据输出成本

linux - 在 docker 容器中挂载 linux 镜像

node.js - 在 Docker 容器中运行 Laravel Mix

c# - MultipleActiveResultSets=True 或多个连接?

c# - 'System.OutOfMemoryException' : Error creating window handle