RELATEED CONSULTING
相关咨询
欢迎选择下列在线客服咨询
微信客服
微信客服二维码
热线电话:13863516421
7x24小时,全年无休
我们服务器的承诺:
关闭右侧工具栏

境外国外服务器专题

在rsyslog.conf中如何修改日志级别?

  • 来源:本站
  • 编辑: 超级管理员
  • 时间:2025-06-19 13:48:34
  • 阅读0次


在rsyslog.conf中修改日志级别需要理解日志设施(Facility)与级别(Level)的组合规则,以下是详细操作步骤和注意事项:

一、rsyslog 日志级别的基本概念

日志设施(Facility)

用于标识日志来源,常见设施包括:

auth:认证相关日志(如 SSH 登录)

syslog:系统日志

mail:邮件服务日志

daemon:守护进程日志(如 Apache、Nginx)

local0-local7:用户自定义设施

日志级别(Level)

从低到高优先级依次为:

debug(调试信息,最低优先级)

info(普通信息)

notice(通知)

warning(警告)

error(错误)

crit(严重错误)

alert(需要立即处理)

emerg/panic(系统崩溃,最高优先级)

配置格式

在rsyslog.conf中,日志规则格式为:

plaintext

<设施>.<级别>  <日志输出目标>


例如:daemon.info /var/log/daemon.log

二、修改日志级别的具体步骤

1. 定位配置文件

默认路径:/etc/rsyslog.conf

部分服务可能有独立配置文件(如/etc/rsyslog.d/目录下的.conf文件)

2. 编辑配置文件

使用文本编辑器(如vi或nano)打开文件,找到需要修改的日志规则。

示例 1:修改系统服务日志级别


bash

# 原配置(记录info及以上级别)

*.info;mail.none;authpriv.none;cron.none                /var/log/messages


# 修改为记录warning及以上级别(减少低级别日志输出)

*.warning;mail.none;authpriv.none;cron.none               /var/log/messages


示例 2:自定义服务日志级别


bash

# 记录Apache服务的error及以上级别日志

daemon.error                                            /var/log/apache/error.log


# 记录MySQL的warning及以上级别日志(假设设施为local5)

local5.warning                                          /var/log/mysql/warning.log

3. 特殊符号与组合规则

通配符*:表示所有设施或级别,如*.error表示所有设施的 error 级别日志。

排除符号none:忽略特定设施或级别,如mail.none表示不记录邮件服务日志。

级别范围:*.info-*表示从 info 到最高级别(等价于*.info),*.=info表示仅记录 info 级别。

三、常见优化场景与配置示例

1. 减少调试日志输出(提升性能)

bash

# 原配置(记录debug及以上级别,产生大量日志)

daemon.debug                                            /var/log/daemon_debug.log


# 修改为记录warning及以上级别

daemon.warning                                          /var/log/daemon.log

2. 分离重要日志(便于故障排查)

bash

# 单独记录认证错误日志

auth.crit                                               /var/log/auth_crit.log


# 记录系统崩溃日志到指定文件

*.emerg                                                 /var/log/emergency.log

3. 禁用不必要的日志(减少磁盘占用)

bash

# 禁用邮件服务的info级别以下日志

mail.info                                               ~  # ~ 表示不记录到任何文件

四、修改后的生效与验证

重启 rsyslog 服务

bash

systemctl restart rsyslog  # CentOS/RHEL

service rsyslog restart    # Debian/Ubuntu


验证日志级别

查看日志文件是否按预期记录对应级别的信息:

bash

tail -f /var/log/messages  # 实时查看系统日志


生成测试日志(可选):

bash

logger -p daemon.warning "这是一条测试警告日志"


五、注意事项

配置文件语法检查

修改后可使用rsyslogd -n命令检查语法,避免因配置错误导致服务启动失败。

日志级别与性能平衡

级别过低(如debug)会生成大量日志,占用磁盘 I/O 和存储空间。

级别过高(如error)可能遗漏关键信息,建议根据场景设置(如生产环境设为warning,开发环境设为debug)。

备份配置文件

修改前执行:

bash

cp /etc/rsyslog.conf /etc/rsyslog.conf.bak


日志轮转配置

配合logrotate工具(配置在/etc/logrotate.conf或/etc/logrotate.d/),避免日志文件过大。


通过以上步骤,可精准控制 rsyslog 的日志级别,既能减少无效日志输出,又能确保关键信息被记录,便于后续故障排查和性能优化。


我们提供7X24小时售后服务,了解更多机房产品和服务,敬请联系
购买咨询 售后服务