是否有任何工具可以实时分析日志(自定义服务器应用程序)并在日志上输出自定义指标?可能是网络界面上的一些图表?
我的典型用例如下:我有一个套接字服务器接收传入的请求。每个请求都是特定的“类型”。我希望看到一些信息,例如:在最后N分钟内发生了多少次请求?请求的平均响应时间(每个记录的请求都有其响应时间);在最后N分钟内发生了多少单一类型的请求?还有其他人。
我知道日志项中包含的特定信息无法自动提取,我可能需要一些编码来指示工具如何解析和理解日志,以及如何从中收集信息。
是否有可以提供帮助的工具/软件/系统/监视器?
答案 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)
答案 2 :(得分:0)
在Ustream,我们需要一个类似的工具,所以我们写了Yolo。它是一个通用的日志解析器和处理器,可以将数据发送到StatsD,它汇集了您需要的数据(它支持计数器,计时数据和仪表)并发送给Graphite。
简而言之,您只需编写配置文件,设置正则表达式解析器以匹配您的日志数据并设置您要使用的statsd键。您不必编写任何代码。
您可以在Github上找到示例配置。