linux 大日志分析,Linux日志分析

Linux服务器的日志管理

1.简介

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

2.日志服务升级

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

3.系统日志配置详解

rsyslog与syslog配置文件有相类似的地方,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如下所示。

KEYExplain

auth由pam_pwdb报告的认证活动。

authpriv包括特权信息,如用户名在内的认证活动

cron与cron和at有关的计划任务信息

daemon与inetd守护进程有关的后台进程信息。

kern内核信息,首先通过klogd传递

lpr与打印服务器有关的信息

mail与电子邮件有关的信息

marksyslog的内部功能,用于生成时间戳

nems来自新闻服务器的信息

syslog由syslog生成的信息

user由用户程序生成的信息

uucp有uucp生成的信息

local0~local7与自定义程序一起使用

Level优先级

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

emerg该系统不可用,等同于panic

alert需要被立即修改的条件

crit危险情况

err错误消息,等同于error

warning预警信息,等同于warn

notice具有重要性的普通文件

info提供信息的消息

debug不包含函数条件或问题的其他信息

none没有重要级,通常用于排错

selector(选择条件)

通过小数点“.”把facility和level连接在一起称为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)启动。

参考关系图e3a1c30d3b1e66c4f291f6bb8fc4b616.png

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

}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值