rsyslog日志

1、property accessory
Rsyslog 预定义了一些属性,系统属性和消息属性,用于定义输出格式、动态文件名。比较重要的属性比如:msg(消息体)、hostname、pri(消息等级和类别)、time(时间有关),以$开头的是从本地系统获得的变量(即前面加上$的要做本地变量字符串替换)、不带$是从消息中获得变量(不带的表示消息中的固有字段)。

%propname(属性名):fromChar(起始字符):toChar(终止字符):options(选项):fieldname(域名)%
举例:
%msg:2:$%    #选取msg变量中,起始位置为2,终止位置为结尾     (对应于上面的属性替代的语法个数就是相当于%属性名:起始字符:终止字符%)
%msg:F,32:3%  #按照空格分隔,取第三个子串,    (对应于上面的属性替代的语法个数就是相当于%属性名:选项:域名%)
%msg:R,ERE,1,FIELD,0:.*port=([0-9]+).*:--end%  #正则匹配
属性替代中还用到了一类特殊的以$!开头的变量,这是使用mmnormalize模块时特有的,可以实现类似于syslog-ng中parser模块的功能

2、template
模板的功能是定义输出格式,或者定义omfile模块的动态路径、动态文件。需要使用上面提到的属性替换(属性替代可以实现属性中部分信息的提取)。模板定义的形式有四种,适用于不同的输出模块,一般简单的格式,可以使用string的形式,复杂的格式,建议使用list的形式,使用list的形式,可以使用一些额外的属性字段(property statement),例如:position.from、position.end。
举例:

猜你喜欢

转载自blog.51cto.com/f1yinsky/2405656