一文精通linux日志文件定制

前面笔者介绍了logger命令的实际使用方法,其中的 -p 选项可能很多读者不明所以,本文就rsyslog的配置文件参数、设置方式进行说明。其中介绍的内容同样适用于 logger 的 -p 选项。

1、rsyslog配置文件:/etc/rsyslog.conf

2、配置文件格式:facility.priority action

3、facility(日志的来源或设备)说明:
kern/kernel/0:内核有关信息(主要是硬件检测与内核功能启用)
user/1:用户层级生成的信息(默认)
mail/2:电子邮件有关信息
daemon/3:系统服务产生的信息(如 systemd)
auth/4:认证/授权有关的机制(login, ssh, su 等用到密码的地方)
syslog/5:由 syslogd 本身生成的信息
lpr/6:打印服务有关信息
news/7:来自新闻服务器的信息
uucp/8:由 UUCP 生成的信息
cron/9:计划任务
authpriv/10:权限/授权相关,记录帐号私人信息(包括 pam 模块信息)
ftp/11:与 FTP 通讯相关
local0~7/16~23:用户自定义的本地策略(可直接设定并使用)
*:所有的 facility

4、priority(日志级别)说明:
emerg/0:导致系统不可用(panic)
alert/1:需要立即采取动作
crit/2:紧急的临界状态
err/3:错误状态(error)
warn/4:警告状态(warning)
notice/5:正常但是要注意
info/6:正常消息
debug/7:调试
*:所有的日志级别
none:与 * 相反

5、action(日志记录位置)说明:
系统上的绝对路径:记录到文件中(路径前有 - 表示为异步写入)
|:通过管道送给其他命令处理
终端:送到终端处理(如:/dev/console 屏幕显示)
@/@@HOST/IP:送到远程主机(如:@10.0.0.1:514)
@:使用 UDP 协议
@@:使用 TCP 协议
用户:发送给指定的系统用户
*:登录到系统上的所有用户(一般 emerg 级别日志这样定义)

6、日志与级别组合方式说明:
user.error:记录 user 的 error 及以上级别
user.!error:记录 user 的 error 以下级别(user.error 相反)
user.!=error:记录 user 不包括 error 的级别信息
*.info:所有的日志信息的 info 及以上级别
mail.*: mail 所有级别信息
*.*:全部设备、全部级别
cron.info;mail.info:多个日志来源用 ; 隔开
cron,mail.info:与 cron.info;mail.info 同一个意思(注意使用 , 隔开,共用一个 .info)
mail.*;mail.!=info:与 mail 相关的所有级别,但不包括 info 级别

7、创建远程 rsyslog 服务器:
1)server 端修改 /etc/rsyslog.conf:
#module(load="imudp")
#input(type="imudp" port="514") # 使用 UDP 协议
module(load="imtcp")
input(type="imtcp" port="514") # 使用 TCP 协议
2)client 端修改 /etc/rsyslog.conf:
*.* @@192.168.179.129:514 # 端口默认 514(可省略)@@ 是 TCP,@ 是 UDP

3)systemctl restart rsyslog.service # 修改配置后重启 rsyslog 服务(注意rsyslog.service 不支持 reload)


logger命令请参阅笔者的另一篇文章。结合logger命令实现你真正的定制日志之旅吧……

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章