通过日志实时监控应用程序/服务器

时间:2011-06-06 23:26:50

标签: monitoring real-time logging

是否有任何工具可以实时分析日志(自定义服务器应用程序)并在日志上输出自定义指标?可能是网络界面上的一些图表?

我的典型用例如下:我有一个套接字服务器接收传入的请求。每个请求都是特定的“类型”。我希望看到一些信息,例如:在最后N分钟内发生了多少次请求?请求的平均响应时间(每个记录的请求都有其响应时间);在最后N分钟内发生了多少单一类型的请求?还有其他人。

我知道日志项中包含的特定信息无法自动提取,我可能需要一些编码来指示工具如何解析和理解日志,以及如何从中收集信息。

是否有可以提供帮助的工具/软件/系统/监视器?

3 个答案:

答案 0 :(得分:1)

当新行添加到日志中时,将Jabber / XMPP消息发送到user@jabberserver.com:

# tail --follow=name --retry /var/log/logfile.log | sendxmpp -i -u username -p password -j jabberserver.com user@jabberserver.com

必须在jabberserver.com上创建用户名/密码。 user@jabberserver.com必须通过您自己编写的Jabber / XMPP客户端(我更喜欢perl + Net :: Jabber)。然后,您可以使用传入的XMPP消息执行任何操作(存储在数据库中,发送电子邮件,...)。

答案 1 :(得分:0)

Tail是我所知道的最常用的工具,如果您在Windows上有wintail

答案 2 :(得分:0)

在Ustream,我们需要一个类似的工具,所以我们写了Yolo。它是一个通用的日志解析器和处理器,可以将数据发送到StatsD,它汇集了您需要的数据(它支持计数器,计时数据和仪表)并发送给Graphite。

简而言之,您只需编写配置文件,设置正则表达式解析器以匹配您的日志数据并设置您要使用的statsd键。您不必编写任何代码。

您可以在Github上找到示例配置。