在CentOS系统中,syslog规则的配置主要涉及以下几个方面:
/etc/syslog.conf
/etc/rsyslog.conf
(rsyslog是syslog的增强版本)facility.priority action
facility
:日志来源,如auth
, daemon
, kern
, local0
等。priority
:日志级别,如emerg
, alert
, crit
, err
, warning
, notice
, info
, debug
。action
:日志处理方式,如/var/log/messages
, @hostname:port
, |command
等。# 将authpriv日志发送到远程服务器 authpriv.* @remote_server_ip:514 # 将所有紧急级别的日志记录到/var/log/critical.log *.emerg /var/log/critical.log # 将所有级别的auth日志记录到/var/log/auth.log auth.* /var/log/auth.log # 将所有级别的daemon日志记录到/var/log/daemon.log daemon.* /var/log/daemon.log
# 模块配置 module(load="imuxsock") # 提供对本地系统日志的支持 module(load="imklog") # 提供对内核日志的支持 # 全局规则 $ModLoad imfile # 加载imfile模块以监控文件变化 $InputFileName /var/log/myapp.log $InputFileTag myapp: $InputFileStateFile stat-myapp $InputRunFileMonitor # 规则配置 if $programname == 'myapp' then /var/log/myapp.log & stop # 停止进一步处理 # 优先级过滤 if $syslogseverity-text == 'crit' then /var/log/critical.log & stop # 设施过滤 if $facility-text == 'auth' then /var/log/auth.log & stop
修改配置文件后,需要重启syslog服务以使更改生效。
sudo systemctl restart rsyslog # 或者对于旧版本的syslog sudo service rsyslog restart
CentOS默认使用logrotate
工具来管理日志文件的轮转。
logrotate
配置文件:/etc/logrotate.conf
/etc/logrotate.d/服务名
template
指令定义日志格式。omfwd
模块将日志转发到集中式日志管理系统。通过以上步骤,你可以根据实际需求定制CentOS系统的syslog规则,实现高效的日志管理和监控。