1、property accessory Rsyslog 预定义了一些属性,系统属性和消息属性,用于定义输出格式、动态文件名。比较重要的属性比如:msg(消息体)、hostname、pri(消息等级和类别)、time(时间有
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% #正则匹配 action(type="mmnormalize" rule=["rule=:%host:word% %tag:char-to:\\x3a%: no longer listening on %ip:ipv4%#%port:number%", "rule=:%host:word% %ip:ipv4% user was logged out"])
2、template模板的功能是定义输出格式,或者定义omfile模块的动态路径、动态文件。需要使用上面提到的属性替换(属性替代可以实现属性中部分信息的提取)。模板定义的形式有四种,适用于不同的输出模块,一般简单的格式,可以使用string的形式,复杂的格式,建议使用list的形式,使用list的形式,可以使用一些额外的属性字段(property statement),例如:position.from、position.end。举例: