0
点赞
收藏
分享

微信扫一扫

36 日志管理


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









举报

相关推荐

0 条评论