日志管理程序rsyslog
一、日志级别、相关符号
0 emerg --> 系统不可用 ; 1 alert --> 特别留意的报警信息.
2 crit --> 非常严重的状况 ; 3 err --> 错误信息.
4 warning --> 警告信息 ; 5 notice --> 稍微需要注意的信息.
6 info --> 正常信息 ; 7 debug --> 调试信息,开发人员使用.
. --> 用来分个服务和日志级别 ; * --> 任何服务,或者任何级别
= --> 表示等于某一日志级别 ,没有等号表示大于等于;
! --> 排除操作,从前面表达式包含的内容中排除某些内容;
; --> 分隔不同的组合; - --> 指定目标文件时,代表异步写入;
, --> 分隔不同的服务.
举例: cron.err 0123
cron.=info 6
cron.!=info 0123457
mail,cron,ftp.=err 3
cron.info;cron.!err 456
0123456 4567
456
mail.info;mail.!=err
0123456 0124567
012456
二、本地日志管理
1、单独指定服务的日志载体.
2、rsyslog程序将来自设备载体上的日志单独记录.
3、重启相关服务并测试验证
三、远程日志文件管理
log服务器上:打开rsyslog配置文件的514端口,开启服务;
ssh服务器上:rsyslog配置文件指定远程路径.
重启服务.
如何区分多台服务器?
log服务器上配置文件末尾定义模板:
//定义一个模板DynFile,将日志保存在/var/log里,文件名为system-客户端的主机名.log
$template DynFile,"/var/log/system-%HOSTNAME%.log"
//动态加载调用上面的模板
local1.* ?DynFile
四、日志轮转
为了丢弃系统中最旧的日志文件,节省空间.
轮转程序是logrotate
更改主配置文件logrotate.conf , 或子配置文件logrotate.d目录下的文件,都可以达到目的.