一、property accessory
Rsyslog 預約義了一些屬性,系統屬性和消息屬性,用於定義輸出格式、動態文件名。比較重要的屬性好比:msg(消息體)、hostname、pri(消息等級和類別)、time(時間有關),以$開頭的是從本地系統得到的變量(即前面加上$的要作本地變量字符串替換)、不帶$是從消息中得到變量(不帶的表示消息中的固有字段)。ide
%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"])
二、template
模板的功能是定義輸出格式,或者定義omfile模塊的動態路徑、動態文件。須要使用上面提到的屬性替換(屬性替代能夠實現屬性中部分信息的提取)。模板定義的形式有四種,適用於不一樣的輸出模塊,通常簡單的格式,能夠使用string的形式,複雜的格式,建議使用list的形式,使用list的形式,能夠使用一些額外的屬性字段(property statement),例如:position.from、position.end。
舉例:code
三、libliblognormorm
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":"..." 開頭,能夠便於預覽