【问题标题】:Good remote application logging/monitoring software良好的远程应用程序记录/监控软件
【发布时间】:2012-01-07 19:44:05
【问题描述】:

我确信这已经完成了,但 Google 并没有帮助我 - 我正被类似但不同的问题的答案淹没:

我的老板要求我找到或构建一个系统,以记录我们的信息亭安装的使用情况。我们使用 java、native c++、c#、python 和 Unity 等工具构建信息亭。我们看到与我们合作的另一家公司使用了一个简单的系统,在该系统中,将带有数据的电话后呼叫记录在远程站点上以供以后检查。系统允许应用程序员决定消息的内容,并能够根据程序员的意愿将其分配给调试或发布。

日志输出的一个例子可能是:

[Debug] 28-11-2011 10:10:20 Kiosk1: Pulse
[Debug] 28-11-2011 10:10:25 Kiosk1: Button pressed
[Debug] 28-11-2011 10:10:45 Kiosk1: Widget used
[Debug] 28-11-2011 10:11:20 Kiosk1: Pulse

我查看了 log4net/log4j,但这似乎与本机 c++ 或 python 不兼容。我可能弄错了:)。

有没有人知道这样的系统,或者适合从如此不同的语言进行日志记录的系统?如果没有,我可以很容易地编写自己的。我只是不想支持它:)

问候, 史蒂夫

【问题讨论】:

  • 对于 C++ 的一些日志库,请参阅此问题的答案:stackoverflow.com/q/696321/440558
  • 您希望多久更新一次?这是您需要当前监控或按需报告的东西吗?这将有助于缩小搜索范围并确定适合您的方法;并会帮助其他人提出相关选项。
  • 并发监控非常有用。我们特别想要一个脉冲信号,这样我们就可以在系统出现故障时执行电子邮件通知之类的操作。这可能需要至少每十分钟一次,但不能超过每分钟一次。其他统计数据可以排队等待定期更新。拆分系统可能会更好,我不确定。
  • 我认为您需要将其分为两个要求 - 系统监控(每 X 分钟查询一次),在这种情况下您查询设备以获取更新,然后是应用程序报告(这是您的日志记录) ),通常应用程序向服务器报告。根据您信息亭的连接性,您有不同的选项(SNMP 陷阱、批处理文件上传和端点客户端)——也许澄清这一点将有助于进一步缩小范围。

标签: c# java c++ python logging


【解决方案1】:

我不确定,但我认为您要查找的是 SPLUNK。这样几乎可以解析每条日志,并统一展示。它可以监听端口,通过轮询读取日志文件,并解析和索引您在任何时间点抛出的任何内容。

您可以使用它来设置您自己的多语言日志服务器/系统。我们一直在使用它,它可以在我们的分布式环境中无缝运行。

【讨论】:

  • 谢谢 - 这看起来像我想要的。我会尝试并报告!
【解决方案2】:

虽然编写一个专门的日志后端来处理本地日志和网络日志是很有可能的,但我建议不要这样做。原因是网络延迟可能很长,因此它要么停止您的应用程序,要么如果使用另一个进程/线程进行实际的网络推送,则日志消息可能会排队。

一个更简单的解决方案是使用计划每天运行一次或几次的小脚本,并将日志文件复制到远程位置。

【讨论】:

  • 在某些情况下可能需要实时日志消息(例如网络日志)。在这些情况下,建议将您的消息发送到始终打开的本地端口,然后通过另一个专用进程将这些消息重定向到远程服务器。这不会阻塞内存或主进程的处理。
【解决方案3】:

对于 C++,我强烈推荐 Poco logging。它允许您使用例如指定格式和日志级别/输出。属性文件。

【讨论】:

  • 没错。我们使用了一段时间的 log4cxx,但是有一个 64 位的 linux 错误导致关闭应用程序时出现段错误。
【解决方案4】:

python 自带的python logging library 和log4net 很相似,所以如果你习惯了,另一个会很容易理解,但它们不共享代码(据我所知)

【讨论】:

    【解决方案5】:

    使用带有套接字附加程序的 log4j/log4net 或通过 rsyslog 远程记录。

    【讨论】:

      【解决方案6】:

      您可能对web beacons 之类的内容感兴趣。我知道这并不完全符合您的要求,但您应该出于与 Web 开发人员相同的原因考虑它:了解用户在做什么是件好事。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-06
        • 2012-02-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多