码迷,mamicode.com
首页 > 系统相关 > 详细

Linux日志分析

时间:2015-10-08 14:47:18      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:系统管理员   配置文件   服务器   action   优先级   

Linux服务器的日志管理

1.简介

        从安全角度来说,Linux服务器的日志非常重要,它记录了系统每天所发生的各种各样的事情,如果服务器受到攻击,就可以通过它来进行分析。同时,它更是很重要的排障依据,可以通过它来检查错误发生的原因,所以我们必须了解和熟悉的运行机制。

2.日志服务升级

Linux在前面采用的是syslog作为日志收集服务器,由于syslog收集日志性能较低,目前大多数Linux版本都采用rsyslog来代替syslog收集日志。

3.系统日志配置详解

rsyslogsyslog配置文件有相类似的地方,rsyslog服务的配置文件默认在/etc/rsyslog.conf,配置rsyslog时有必要先了解rsyslog.conf的格式。

3.1.  配置文件规范

理解并完善一个rsyslog的配置,对系统管理员来说尤为重要。/etc/rsyslog.conf根据如下的格式定义规则:

语法格式语法解释
facility.level action设备.优先级 处理方案
facility-1,facility-2.level action设备-1,设备-2.优先级 处理方案

facility字段 

facility.level 字段也称为seletor(选择条件),选择条件和处理方案之间用空格或者tab分隔,多个facility选择条件使用“,”分开表示。facility定义了日志消息的范围,其可以使用的key如下所示。





















Level优先级

level定义了消息的紧急程度。按严重程度由高到低顺序排列如下:





















selector(选择条件)

通过小数点“.”把facilitylevel连接在一起称为selector(选择条件)可以使用分号“,”同时定义多个选择条件。也支持如下三个修饰符:

  • :标识所有日志信息

  • =:等于,即仅包含本优先级别的日志信息

  • !:不等于,本优先级日志信息除外

action(处理方案)

有前面的选择条件定义的日志信息,可执行下面的动作:

    • file:指定日志文件的绝对路径。

    • terminal或者print:发送到串行或并行设备的标识符,例如/dev/ttyS2 @host表示远程的日志服务器。

    • username:发送信息到本机的指定用户信息窗口中,但该用于必须已经登录系统。

    • named pipe:发送到预先使用mkfifo命令创建的FIFO文件的绝对路径中。

4.日志归档

日志滚动服务:所有的日志文件都会随着时间的推移和访问次数的增加而迅速增长,因此必须对日志文件进行定期清理,以免造成磁盘空间的不必要的浪费,同时也加快了管理员查看日志所用的时间。因而logrotate就非常有存在的必要了,Redhat系统默然安装logrotate,利用 logrotate设置了相关对rsyslog日志迅速增长的设置。logrotate的执行由crond服务实现。在/etc/cron.daily录中,有个logrotate,是个shellscript,用来启动logrotate

logrotate程序每天由cron在指定的时间/etc/crontab)启动。

参考关系图

4.1.  Logrotate配置文件

#cat/etc/logroate.conf

weekly                   #每周清理一次日志文件

rotate 4                  #保存四个轮换日志

create                    #清除旧日志的同时,创建新的空日志文件

dateext                   #使用日期为后缀的回滚文件  #可以去/var/log目录下看看

include/etc/logrotate.d  #包含/etc/logrotate.d目录下的所有配置文件

/var/log/wtmp{      #/var/log/wtmp这个日志文件按照下面的设定日志回滚

monthly                    #每月轮转一次

create 0664 rootutmp      #设置wtmp这个日志文件的权限,属主,属组

minsize 1M                 #日志文件必须大于1M才会去轮换(回滚)

rotate 1                   #保存一个轮换日志

}

/var/log/btmp {

missingok                #如果文件丢失不报错

monthly

create 0600 rootutmp

rotate 1

}

#cat /etc/logrotate.d/syslog

/var/log/cron    #这些文件是rsyslog.conf文件中全局配置定义中指定的Target的路径

/var/log/maillog

/var/log/messages

/var/log/secure

/var/log/spooler

{

sharedscripts

postrotate   # 轮换之后重启rsyslog服务

/bin/kill -HUP`cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true

endscript

}

修改配置文件之后,重启服务生效。


本文出自 “甲乙丙” 博客,请务必保留此出处http://51inte.blog.51cto.com/4403468/1700825

Linux日志分析

标签:系统管理员   配置文件   服务器   action   优先级   

原文地址:http://51inte.blog.51cto.com/4403468/1700825

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!