关于日志处理的讨论

8 views
Skip to first unread message

centerqi hu

unread,
Feb 7, 2012, 1:19:06 AM2/7/12
to perl
hi all
现在有一个问题让我很被动,我现在有几十台机器,
每台机器上面都布了一个日志扫描的perl模块,
此模块专门去扫描别的模块产生的日志(根据不同的规则),
把相应的信息发送给另一台服务器。

这样就产生了一个比较麻烦的问题,每台机器上面的perl模块扫描规则不同,
并且也很难维护这么多perl模块。

有没有好的办法,只要一个perl模块,单独布到一台机器上面,就可以扫描所有的日志呢?
这样容易维护

不知道各位有什么好的办法?

谢谢

azure wang

unread,
Feb 7, 2012, 1:45:08 AM2/7/12
to perl...@googlegroups.com
日志都写到一台机器上不行吗?


--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perl...@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+...@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
Azure.Wang

centerqi hu

unread,
Feb 7, 2012, 1:56:35 AM2/7/12
to perl...@googlegroups.com
不行,因位各个模块都布在不同的机器上。

chenlin rao

unread,
Feb 7, 2012, 2:09:34 AM2/7/12
to perl...@googlegroups.com
看lz意思是想用ssh协议控制机器么?我觉得要不你就把各种规则写在一个模块里,然后rsync/puppet维护着一个模块。要不就用syslog或者mq之类的传递日志到“另一台服务器”。

Achilles Xu

unread,
Feb 7, 2012, 2:30:13 AM2/7/12
to perl...@googlegroups.com
是想要一个模块能完成各种不同的扫描?
---------------------------
Achilles Xu

夏凯

unread,
Feb 7, 2012, 3:05:05 AM2/7/12
to perl...@googlegroups.com
是不是比如这样:一台squid、一台nginx,然后在squid和nginx的日志格式不统一的情况下,你要扫描用户访问ip?

2012/2/7 centerqi hu <cent...@gmail.com>:
> 每台机器上面都布了一个日志扫描的perl模块,
> 此模块专门去扫描别的模块产生的日志(根据不同的规则),

--
contact me:
MSN: walk...@gmail.com
GTALK: walk...@gmail.com

frostyplanet(plan)

unread,
Feb 7, 2012, 3:35:57 AM2/7/12
to PerlChina Mongers 讨论组
可以通过设置把每台机器的syslog汇总到一起,我司就这么干的

centerqi hu

unread,
Feb 7, 2012, 5:10:35 AM2/7/12
to perl...@googlegroups.com
上面大家提的方法都不错,但是问题在于还有时效性的要求。
每一台机器上面的日志都是各个应用打印的,扫描的规则都不一样。


wd

unread,
Feb 7, 2012, 5:11:26 AM2/7/12
to perl...@googlegroups.com
感觉方法很多

比如先把日志收集回来在处理,可以先做一些统一的预处理等

比如抽象处理规则,然后把规则作为配置文件分发到各机器,但是perl 程序是一样的

如果还不行,那还可以在本地有个中央控制的db,来配置好每个远端机器使用哪个 perl,定期推到远端,这么做基本上没减少啥复杂度,就是部署方便了

2012/2/7 centerqi hu <cent...@gmail.com>:

taurus huang

unread,
Feb 7, 2012, 6:02:35 AM2/7/12
to perl...@googlegroups.com
能否再说詳細点?

fugang chang

unread,
Feb 7, 2012, 10:09:46 PM2/7/12
to perl...@googlegroups.com
我接着上位兄弟插几句,抽象处理规则 可以理解成模板或者配置文件,一般由表达式构成,不同的模板匹配不同的日志。再做个调度器,依据日志选择不同模板,最终输出成标准日志格式,再由后续程序统一做处理。这样即便有了新的日志,只要补充或者维护下模板,其他的就一概无需再调整了。如果还需要做集中管理,该流程也无需多大变动,只需要额外做架构上的调整。
 

Gary Jsz

unread,
Feb 9, 2012, 4:03:26 AM2/9/12
to perl...@googlegroups.com
还是通过syslog或者syslog-ng来汇总到一台进行处理,汇总的时候,可以通过不同的文件名来区分不同主机的日志内容,然后再通过对汇总主机的日志进行分析就ok了
gary...@gmail.com
Reply all
Reply to author
Forward
0 new messages