首页主机资讯centos syslog日志格式

centos syslog日志格式

时间2025-10-28 09:29:04发布访客分类主机资讯浏览847
导读:CentOS syslog(rsyslog)日志格式说明与自定义指南 一、默认日志格式解析 CentOS系统中,syslog功能由rsyslog服务提供,其默认日志格式为传统syslog格式(RSYSLOG_TraditionalFileF...

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

一、默认日志格式解析

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

  • 时间戳:日志生成的具体时间(如Oct 12 15:30:45);
  • 主机名:生成日志的计算机的名称(如myhost);
  • 设备名/程序名:生成日志的设备或服务名称(如kernelsshd);
  • 进程信息:进程ID及进程名(如[1234]kernel);
  • 优先级/严重性:日志的重要性和紧急程度(用数字表示,如6代表“信息”);
  • 模块名:生成日志的模块或子系统(如EXT4-fs (sda1));
  • 消息内容:实际的日志信息(如mounted filesystem with ordered data mode)。

典型默认日志示例:
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),格式字符串由占位符组成(区分大小写)。常见占位符包括:

  • %timegenerated%:日志生成时间(完整时间戳);
  • %hostname%:主机名;
  • %syslogtag%:系统标签(程序名+进程ID,如sshd[1234]);
  • %app-name%:应用程序名(如sshd);
  • %procid%:进程ID;
  • %msgid%:消息ID;
  • %msg%:原始日志消息内容;
  • %$!:结构化数据(可选)。

示例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

三、注意事项

  • 配置文件优先级/etc/rsyslog.d/目录下的配置文件优先级高于/etc/rsyslog.conf,建议将自定义配置放在该目录下;
  • 占位符说明%msg:::sp-if-no-1st-sp%用于去除消息前的空格,%msg:::drop-last-lf%用于删除消息末尾的换行符(避免日志格式混乱);
  • 模板复用:可定义多个模板(如CustomFormat1CustomFormat2),分别应用于不同类型的日志;
  • 日志轮转:自定义日志文件需配置logrotate(如/etc/logrotate.d/syslog),避免日志文件过大。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos syslog日志格式
本文地址: https://pptw.com/jishu/736475.html
centos appimage更新后如何验证 appimage更新机制在centos上如何

游客 回复需填写必要信息