首页 > 其他 > 详细

解决rsyslog日志分发过滤问题

时间:2018-10-09 15:29:49      阅读:284      评论:0      收藏:0      [点我收藏+]

问题描述:

服务器B从远端接收来自服务器A的消息网关日志,按照配置要求,需要将这些日志按照消息标签分类写入不同的文件中。

例如有这样一条日志:

Sep 12 08:00:03 192.100.6.3 Monster-CMPP20MO[37518]: 20180912080002SMS0000999L00100000000cc515275,0,00,,,09120800018510260295,,,,xxxxxxxxxxx,,,1,xxxxxxxxxx,,,,,,,,,,,,0,6,DM302J,

我们希望可以按照“Monster-CMPP20MO”这样的消息标签来写入到monster-cmppmo.log文件中。

但是,按照以前的配置无法实现日志过滤的效果,服务器B会将接收到的所有日志全部写到每一个文件中。根本没有做分类处理。

解决办法:

首先加入模板

$template TraditionalFormat, "%timegenerated% %HOSTNAME% %syslogtag%%msg:::drop-last-lf%\n"

ps:drop-last-lf 表示写入所有日志

添加完模板后,需要配置一下将模板利用起来

if ($syslogtag startswith Monster-CMPP20MT)
then {
*.=info  /xxx/xxx/monster-cmppmt.log;TraditionalFormat
}
if ($syslogtag startswith Monster-MM7MT)
then {
*.=info  /xxx/xxx/monster-mm7mt.log;TraditionalFormat
}
......

重启rsyslog,解决。

解决rsyslog日志分发过滤问题

原文:https://www.cnblogs.com/l5623064/p/9760369.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!