rsyslog配置文件

配置文件/etc/rsyslog.conf大概分为三个部分

#MODULES

这个部分是针对接收配置的,主要是指定接收日志的协议和端口。若要配置日志服务器,则需要将相应的配置项去掉注释。

#GLOBAL DIRECTIVES

这个部分主要用来配置模板,模板的作用是指定你希望在日志文件中保存的日志格式。

默认配置为:

1
2
# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

这里列举一个模板,将所有信息保存:

1
2
3
4
5
6
7
8
9
10
11
12
# 这里第一行(为了方便显示,参数写成了一列)是模板,即日志服务器记录到日志文件的格式
# 第二行是指定需要使用的模板myFormat,这个名字可以自己定义
$template myFormat,"%TIMESTAMP% host=%HOSTNAME%,
                   relayHost=%FROMHOST%,
                   tag=%syslogtag%,
                   programName=%programname%,
                                procid=%PROCID%,
                                facility=%syslogfacility-text%,
                                sev=%syslogseverity-text%,
                                appName=%APP-NAME%,
                                msg=%msg%\n"
$ActionFileDefaultTemplate myFormat

模板额外说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#在rsyslog7 和更高版本使用以下格式:
template(name="scalaLogFormat" type="list") {
        property(name="timestamp" dateFormat="rfc3339")
        constant(value=" host=")
        property(name="hostname")
        constant(value=", relayHost=")
        property(name="fromhost")
        constant(value=", tag=")
        property(name="syslogtag")
        constant(value=", programName=")
        property(name="programname")
        constant(value=", procid=")
        property(name="procid")
        constant(value=", facility=")
        property(name="syslogfacility-text")
        constant(value=", sev=")
        property(name="syslogseverity-text")
        constant(value=", appName=")
        property(name="app-name")
        constant(value=", msg=")
        property(name="msg" )
        constant(value="\n")
        }

发表评论

邮箱地址不会被公开。 必填项已用*标注