集中来自多个位置的日志记录

centralizing logging from many locations

我正在尝试寻找最佳实践来集中来自多个位置的日志记录 - 服务器,android 设备。

目前我的登录情况如下。

  1. log4net - ASP.NET IIS

    • 它将警告、错误日志保存到它的 IIS 服务器本地存储中。
    • 需要时,连接到每台服务器并调查日志文件。
  2. slf4/log4j,FireCrash - Android 应用程序

    • 它将日志猫日志保存到其本地存储
    • 需要时,我的应用程序会压缩它并通过 'Android share' 功能发送。
    • 只有运行时异常,FireCrash 解决方案提醒我。
  3. log4js - 节点 JS

    • 它将我的应用程序日志保存到本地存储,并在需要时连接到服务器。

第一次,我试图找到一个解决方案来将它的日志收集到 AWS S3。我为 log4net 找到了一个特定于 s3 的附加程序。但不是在 slf4j 和 log4js。

第二次,我尝试使用 AWS cloud watch appender(https://github.com/camitz/CloudWatchAppender)。它在我的 log4net 环境中工作。但这并不容易监控,而且不适合我的 android、nodejs.

有人推荐了Elastic stack(ElasticSearch, Logstack, Kibana)。但我不确定它是否适合我的情况。

如何将所有日志保存到一个集中存储?

听起来您正在寻找日志聚合服务。有很多选择,托管或自托管。其中许多工作的美妙之处在于通过用于将日志异步发送到聚合器的本地守护进程。

一些自托管选项-

一些托管选项 -

  • Sumo Logic - 出色的完全托管解决方案,包含许多日志 collectors/shippers
  • 云观察
  • Logz.io

更多信息可以在这里找到 - https://www.g2crowd.com/categories/application-performance-monitoring-apm