1、日志服务:在centos6.x中,rsyslogd取代了以前的syslogd
2、常见系统日志、rpm包日志的位置以及作用
2.1 /var/log/cron记录了系统定时任务相关日志
2.2 /var/log/cups 记录打印信息的日志
2.3 /var/log/dmesg 记录了系统在开机时内核自检信息。也可以使用dmesg命令直接查看内核自检信息。
2.4 /var/log/btmp 记录错误登陆的日志。这个文件是二进制文件,不能直接用vi看,而要使用lastb命令查看:lastb
2.5 /var/log/lastlog 记录系统中所有用户最后一次的登陆时间的日志。这个文件也是二进制文件,不能直接用vi,而要用lastlog命令查看
2.6 /var/log/mailog 记录邮件信息
2.7 /var/log/message 记录系统重要信息日志。这个日志文件中会记录linux系统绝大多数重要信息,如果系统有问题,首先要检查这个日志文件
2.8/var/log/secure 记录验证授权方面的信息,只要涉及账户和密码的程序都会记录,比如说系统的登陆,ssh的登陆,su切换用户,sudo授权,甚至添加用户修改用户密码都会记录到这个文件当中
2.9 /var/log/wtmp :永久记录所有用户登录消息、注销信息、同时记录系统的启动、重启、关机事件。也是二进制文件,用last查看
2.10/var/run/utmp :记录当前已经登陆用户信息,这个文件按会随着用户的登陆和注销不断变化,只记录当前用户信息,也是二进制文件,要使用w、who、users来查询。
2.11 /var/log/rpm包服务日志: 常见的rpm包安装的服务,比如apache,它产生的日志也会在/var/log下,但是他的日志不是由rsyslogd去控制,而是由服务本身去控制,但是它遵守rysylogd的格式。
3、源码包日志,一般源码包日志也在/usr/loca下,一般配置文件中由自己指定,因为源码包东西不应该搞得到处都是
4、rsyslogd服务
4.1 日志文件格式分为四列
5、/etc/rsyslogd.conf 配置文件
eg:
服务名称[链接符号] 日志等级 日志记录位置
authpriv.*
5.1 服务名称
auth
authpriv:安全和认证相关信息(私有的)
cron:系统定时任务cront和at产生的日志
daemon:和各个守护进程相关的日志
ftp:ftp守护进程产生的日志
kern:内核产生的日志(不是用户进程产生的)
local0 ~ local7:为本地使用预留的服务
lpr:打印产生的日志
mail:邮件收发信息
news:与新闻服务器相关的日志
syslog:有syslogd服务产生的日志信息(虽然服务名称已经改为rsyslogd,但是很多配置都还没改,这里并没有修改服务名)
user:用户等级类别的日志信息
uucp:uucp子系统的日志信息,uucp是早期linux系统进行数据传递的协议,后来也常用在新闻组服务中。
5.2 连接符
.* :代表所有日志等级,比如 ( authpriv.* ), 代表authpriv认证信息服务产生的日志,所有的日志等级都记录
. : 代表只要比后面的等级高的(包含该等级)日志都记录下来。比如(cron.info)代表cron服务产生的日志,只要日志等级大于等于info级别,就记录
.= : 代表等于后面的日志就记录,其他等级都不记录。比如“ * .= emerg ”代表人和日志服务产生的日志,只要等级是emerg等级的就记录。
.! :代表不等于,也就是除了该等级的日之外其他等级的日志都记录
5.3日志等级
debug :一般调试信息
info:基本通知信息
notice:普通消息,但是有一定重要性
warning:警告消息,但是还不会影响服务或系统运行
err:错误信息,一般达到这个级别就会影响服务或系统运行了
crit:临界状况信息,比err还要严重
alert:警告状态信息,比crit还严重,必须立即处理
emerg:疼痛等级信息,系统已经无法使用了
5.4 日志记录位置
日志文件的绝对路径,如“/var/log/secure”
系统设备文件,如“/dev/lp0”
转发给远程主机,如“@192.168.0.210:514”
用户名,如“root”
忽略或丢弃日志,如“~”
6、日志轮替
6.1 日志文件的命名规则:
6.1.1 如果配置文件中拥有“dateext”参数,那么日志会用日期来作为日志问价你的后缀,例如“secure-20170706”。这样的话日志文件名不会重叠,所以也就不需要日志文件的改名,只需要保存制定的日志个数,删除多余的日志文件即可。
6.1.2 如果配置文件中没有“dateext”参数,那么日志文件就需要进行改名了。当第一次进行日志轮替时,之前的“secure”日志会自动改名为“secure.1”,然后新建的“secure”日志,用来保存新的日志。当第二次进行日志轮替时,“secure.1”会自动改名为“secure.2”,当前的“secure”日志会自动改名为“secure.1”,然后也会新建“secure”日志,用来保存新的日志,以此类推
6.2 logrotate(轮替工具)配置文件:/etc/logrotate.conf
daily:日志论题的周期是每天
weekly:日志的论题周期是每周
monthly:日志论题周期是每月
rotate 数字:保留的日志文件的个数。0指没有备份
compress:日志轮替时,旧的日志进行压缩
create mode ower group:建立新日志,同时指新的日志的权限与所有者和所属组。如:create 0600 root utmp
mail address:当日志论题时,输出内容通过邮件发送到指定的邮件地址。如:mail lvxiujun@dddd.com
missingok:如果日志不存在,则忽略日志的警告信息
notifempty:如果日志为空文件,则不进行日志轮替
minsize 大小:日志轮替的最小值。也就是日志一定要达到这个最小值才会轮替,否则就算时间达到也不轮替
size 大小:日志只要大于指定大小才进行日志轮替,而不是按照时间轮替。如size 100k
dateext:使用日期作为日志轮替文件的后缀。如secure-20170706
【注】:
【1】在/etc/logrorate.conf中,下面{}中是具体配置哪个服务的日志轮替,{}之外的是公共的参数,只要{}每个服务中参数与{}外不重叠,那{}外面的参数就对该服务生效,如果重叠,那就以{}内的参数值为准。
【2】只要是rpm包的服务,默认就支持/etc/logrorate.conf下的轮替规则,不需要手动配置,但是源码包、脚本包安装的需要自己配置,也可以配置在这里轮替。
eg:配置apache源码包日志轮替
#每天轮替,创建新文件,保留30天的文件
vim /etc/logrotate
/usr/local/apache2/logs/acess.log{
daily
create
rotate 30
}
6.3 logrotate 命令:logrotate [选项] 配置文件名( logrotate.conf)
【注】如果命令中没有选项,会按照配置文件(/etc/logrotate.conf)中默认配置轮替
-v:显示日志轮替过程。加了-v选项,会显示日志的轮替过程
-f:强制进行日志轮替。不管日志论题的条件是否已经符合,强制配置文件中所有的日志进行轮替
eg:logrorate -v logrotate.conf
logrorate -f logrotate.conf