需求:
通过自定义rsyslog的输出格式,通过json编码方式将日志信息发送给logstash进行处理。
Rsyslog配置:
1、将centos6.5的rsyslog升级到最新版
[root@centos-yum ~]# vi/etc/yum.repo.d/rsyslog.repo
[rsyslog_v8]
name=AdisconCentOS-$releasever-localpackagesfor$basearch
baseurl=http://rpms.adiscon.com/v8-stable/epel-$releasever/$basearch
enabled=1
gpgcheck=0
gpgkey=http://rpms.adiscon.com/RPM-GPG-KEY-Adiscon
protect=1
[root@centos-yum ~]#yum update
[root@centos-yum ~]#yum install rsyslog
2、修改rsyslog的配置文件
[root@centos-yum ~]# vi /etc/rsyslog.conf
*增加以下内容
template(name="json_lines" type="list" option.json="on") {
constant(value="{")
constant(value="\"timestamp\":\"")
property(name="timereported" dateFormat="rfc3339")
constant(value="\",\"message\":\"")
property(name="msg")
constant(value="\",\"host\":\"")
property(name="hostname")
constant(value="\",\"severity\":\"")
property(name="syslogseverity-text")
constant(value="\",\"facility\":\"")
property(name="syslogfacility-text")
constant(value="\",\"app-name\":\"")
property(name="programname")
constant(value="\",\"procid\":\"")
property(name="procid")
constant(value="\"}\n")
}
action(
type="omfwd"
Target="10.20.20.67"
Port="8515"
Protocol=&#