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%  #正则匹配
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。
举例:

3、libliblognorm

rule=:%{"type":"date-rfc3164", "name":"date"}
        % %
         {"type":"char-to", "name":"host", "extradata":":"}
        % no longer listening on %
            {"type":"ipv4", "name":"ip"}
        %#%
            {"type":"number", "name":"port"}

注意:
a.避免使用“literal”解析器
b.建议使用JSON格式,适合嵌套格式及其他复杂格式
c.如果字段不需要,建议不要使用格式,"name":"-"
d.使用"type":"..." 开头,可以便于预览

转载于:https://blog.51cto.com/f1yinsky/2405656

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值