centos

centos syslog日志格式

小樊
44
2025-10-28 06:03:36
栏目: 智能运维

CentOS syslog(rsyslog)日志格式说明与自定义指南

一、默认日志格式解析

CentOS系统中,syslog功能由rsyslog服务提供,其默认日志格式为传统syslog格式RSYSLOG_TraditionalFileFormat),主要包含以下关键字段:

典型默认日志示例:
Oct 12 15:30:45 myhost kernel: [1234.567890] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)

二、自定义日志格式步骤

若需调整日志格式(如增加/减少字段、修改字段顺序),可通过修改rsyslog配置文件实现,具体步骤如下:

1. 打开配置文件

rsyslog的主配置文件为/etc/rsyslog.conf,自定义配置建议存放在/etc/rsyslog.d/目录下(避免系统更新时被覆盖)。使用文本编辑器(如vimnano)打开文件:
sudo vim /etc/rsyslog.confsudo vim /etc/rsyslog.d/50-custom.conf

2. 定义自定义模板

通过$template指令定义新的日志格式,模板名称可自定义(如CustomFormat),格式字符串由占位符组成(区分大小写)。常见占位符包括:

示例1:基础格式(包含时间、主机名、程序名、消息)
$template CustomFormat, "%timegenerated% %hostname% %app-name%: %msg%\n"

示例2:保留传统格式的关键字段(时间、主机名、设备名、消息)
$template CustomFormat, "%timegenerated% %hostname% %syslogtag% %msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

3. 应用自定义模板

修改或添加日志记录规则,将自定义模板应用到指定日志类型。规则格式为:
<过滤条件> <动作>,其中<动作>需指定模板(使用template=参数)。

示例1:将所有日志(*.*)写入/var/log/custom.log并使用CustomFormat
*.* action(type="omfile" file="/var/log/custom.log" template="CustomFormat")

示例2:仅将内核日志(kern.*)应用自定义格式
kern.* action(type="omfile" file="/var/log/kern_custom.log" template="CustomFormat")

4. 重启rsyslog服务

修改配置后,需重启rsyslog服务使更改生效:
sudo systemctl restart rsyslog

三、注意事项

0
看了该问题的人还看了