五章 第六节 日志 2018.4.20

日志文件的重要性:

   解决系统方面的错误;解决网络服务的问题;过往事件记录簿

常见的日志文件名:

  /var/log/cron:查看关于进程的。进程有没有错误,有没有被执行,/etc/crontab是否编写正确等

  /var/log/dmesg:记录系统在启动的时候可信侦测过程所产生的各项信息。由于CentOS默认将启动时核心的硬件侦测过程取消显示,因此额外将数据记录一份在这个文件

  /var/log/lastlog:记录系统上面所有的帐号最近一次登录系统时的相关信息

  /var/log/maillog或/var/log/mail/*:记录邮件。主要是记录sendmail(SMTP 协议提供者) 与dovecot (POP3 协议提供者) 所产生的信息。SMTP 是发信所使用的通讯协议,POP3 则是收信使用的通讯协议。sendmail与dovecot 则分别是两套达成通讯协议的软件。

  /var/log/messages(重要):系统发生的错误信息(或者重要的信息)几乎都记在这;系统发生莫名的错误时,此文件是一定要查阅的登录文件

  /var/log/secure:只要牵涉到『需要输入帐号口令』的软件,那么当登陆时(不管登陆正确或错误) 都会被记录在此文件中。包括系统的login程序、图形界面登陆所使用的gdm程序、

su,sudo等程序、还有网络连线的ssh、telnet等程序,登录信息

  /var/log/wtmp,/var/log/faillog:记录正确登录系统者的账户信息与错误登录时所使用的帐号信息

  /var/log/httpd/*,/var/log/news/*,/var/log/samba/*(重要):个别服务所制订的登录文件

日志服务分类:

rsyslogd:系统日志,非内核系统所产生的日志

例:/var/log/messages:系统标准错误日志存放位置

/var/log/maillog:邮件系统产生的日志

/var/log/secure:系统安全日志

klogd:专门负责记录内核产生的日志

/var/log/dmesg:内核日志记录位置

注:在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务

确定服务启动:

       psaux | grep rsyslogd   查看服务是否启动

       chkconfig --list | grep rsyslogd   查看服务是否自启动

rsyslogd日志服务:

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

格式:服务名称 [连接符号] 日志等级        日志记录位置

例:authpriv.*                              /var/log/secure

 #认证相关服务 . 所有日志等级           记录在/var/log/secure中

链接符号

         连接符号可以识别为:

*”代表所有日志等级,比如:“authpriv.*”代表authpriv认证信息服务          产生的日志,所有的日志等级都记录

.”代表只要比后面的等级高的(包含该等级)日志都记录下来。

比如:“cron.info”代表cron服务产生的日志,只要日志等级大于等于info级别,就记录

.=”代表只记录所需等级的日志,其他等级的都不记录。比如:“*.=emerg”代表人和日志服务产生的日志,只要等级是emerg等级就记录。这种用法及少见,了解就好

.!”代表不等于,也就是除了该等级的日志外,其他等级的日志都记录。

2、日志的记录位置:

      日志文件的绝对路径,如“/var/log/secure”

    系统设备文件,如“/dev/lp0”

    转发给远程主机,如“@@192.168.198.136:514”

其中一个@是用udp协议,两个@@是用tcp协议

日志轮替:

logrotate

  logrotate 主要是针对登录文件来进行轮替的动作,必须要记载『 在什么状态下才将登录文件进行轮替』的配置

 logrotate 的主要功能就是将旧的日志文件移动成旧档, 并且重新创建

配置文件:

/etc/lorotate.conf(主要参数文件)

/etc/logrotate.d(目录,里面的所有文件都会被主动的读入 /etc/logrotate.conf 当中来进行!如果没有规定到的一些细部配置,则以 /etc/logrotate.conf 这个文件的规定来指定为默认值!)

日志文件的命名规则:

a)        若配置文件中拥有“dateext”参数,那么日志会用日期来作为日志文件的后缀。

                好处:日志文件不用改名,只需要指定日志的个数,删除多余即可

b)        若配置文件中没有“dateext”参数,那么日志文件就需要进行改名了。

正确的logrotate的写法为:

 文件名:被处理的日志文件绝对路径文件名写在前面,可以使用空格符分隔多个日志文件;

 参数:上述文件名进行轮替的参数使用 { } 包括起来;

环境 : 可调用外部命令来进行额外的命令执行,这个设置需与sharedscripts...endscripts设置起使用才行.可用的环境为:

prerotate : 再启动logrotate之前进行的命令,例如修改日志文件的属性等操作;

postrotate : 在做完logrotate之后启动的命令,例如重新启动(kill -HUP)某个服务;

prerotate与postrotate在对于已加上特殊属性的文件处理上面,是相当重要的执行程序.

logrotate命令

[root@localhost ~]#logrotate [选项] 配置文件名

选项:

如果此命令没有选项,则会按照配置文件中的条件进行日志轮替

-v:显示日志轮替过程。加了-v选项,会显示日志的轮替的过程

-f:强制进行日志轮替。不管日志轮替的条件是否已经符合,强制配置文件中所有的日志进行轮替

-d:选项以预演方式运行logrotate。要进行验证,不用实际轮循任何日志文件,可以模拟演练日志轮循并显示其输出。






猜你喜欢

转载自blog.csdn.net/caojm0/article/details/80042194