探讨linux下的日志分析

发布时间:2020-04-28编辑:脚本学堂
本文介绍下,有关linux系统中日志分析的相关内容,从linux日志文件的构成,到linux日志文件的级别划分,日志配置等作了介绍。有需要的朋友参考下。

1,linux/linuxrizhiwenjian/ target=_blank class=infotextkey>linux日志文件
linux的日志文件,可以让我们了解系统所处的状态,比如能查出哪些用户有登入等。

当系统出现异常时,也要查看系统日志,比如经常会进入不了Xwindows,要查看系统日志类似XFree86.0.log等文件。

如果运行过系统显示属性方面的设置[理论上应该叫XFree86.setup]。

当在终端或虚拟控制台下运行redhat-config-xfree86时,就能在etc/var目录下发现一个XFree86.setup.log,这个文件记录着曾经设置过的内容及详细的情况。

2,linux日志文件的位置
日志文件所处的位置都在/var/log目录下,在没有对日志配置文件/etc/syslog.conf进行过特别配置的话。

3,linux日志文件的配置文件
日志文件的配置文件,在/etc/syslog.conf,如果要修改日志配制文件,要首先要备份。

以root权限操作的,进行日志配置文件的备份:
 

复制代码 代码示例:
[root@linuxsir01 root]# cp /etc/syslog.conf /etc/syslog.confBAK

当文件/etc/syslog.conf配置出错时,可以将原来的备份文件还原即可。
 

复制代码 代码示例:
[root@linuxsir01 root]# cp /etc/syslog.confBAK /etc/syslog.conf

4,linux日志配置文件包括哪些内容?
可以通过如下的命令进行查看:
 

复制代码 代码示例:

[root@linuxsir01 root]# more /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure 安全验证日志,系统生成的日志文件是放在了/var/log/secure
# Log all the mail messages in one place.
mail.* /var/log/maillog这个是电子邮件系统的功能,这个日志文件是在/var/log/maillog目录下。

# Log cron stuff
cron.* /var/log/cron[COLOR=blue]这个是计时信息
# Everybody gets emergency messages
*.emerg * 这是syslog对日志所设置的级别,emerg表示系统已经不可用
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler这是syslog对news和uucp的日志所设置的级别,crit表示危急,但事故还没有发生,将要发生。
# Save boot messages also to boot.log
local7.* /var/log/boot.log 开机系统日志,用local7来表示,日志文件的位置处在/var/log,日志文件是boot.log
#
# INN
#
news.=crit /var/log/news/news.crit
news.=err /var/log/news/news.err
news.notice /var/log/news/news.notice

5,linux日志类型
authpriv 安全性/验证的信息,通过这个,可以查看比如telnet和ssh之类登入系统方面的日志。
cron 任务调度信息,有点象windows中的计划任务,我们可以通过这个程序在什么时间做什么事。它的配制文件在 /etc/crontab中,在这里我们是说它的日志文件的配制
kern 这是系统内核的日志,这个要自己定义存放位置,可以在/etc/syslog.conf中自己来定义存放位置。

可以在syslog.conf中加一行,比如:
ker.debug /var/log/kern.log
local0-local7 自定义级别,开机系统日志,用local7来表示,日志文件的位置处在/var/log,日志文件是boot.log
lpr 看名字也应该知道,这是打印的日志文件,这个也一样可以自己来定义。

在下面,再逐步深入说一下如何写系统日志:
 

mail 是电子邮件的,sendmail,qmail等信息
news 是新闻组服务器的。
user 一般和户信息
syslog 内部log信息
auth 也是用户登入的信息,安全性和验证性的日志
uucp 全称是UNIX-TO-UNIX COPY PROTOCOL的信息

6,linux日志级别
linux系统日志的内容太多,有必要把日志按级别来排序,以方便管理。
这里有一个主次顺序,也就是重要的都放在前面,级别是由高而低的。
 

emerg 系统已经不可用,级别为紧急
alert 警报,需要立即处理和解决
crit 既将发生,得需要预防。事件就要发生
warnig 警告。
err 错误信息,普通的错误信息
notice 提醒信息,很重要的信息
info 通知信息,属于一般信息
debug 这是调试类信息
* 记录所有的信息,并发到所给所有的用户

7,linux日志设置或语法格式的书写
在/etc/syslog.conf中,根据我们自己的情况,可以配制或者定义日志文件。语法格式如下,也比较简单。。
日志类型.等级 日志存放位置[要用绝对路径]
举个例子来说
kern.debug /var/log/kern.log

解析:
[注:能看到如下的一行。代表什么意思呢。
authpriv.* /var/log/secure
所有验证类级别的日志都存放在secure这个日志文件里。

有时,也会在/var/log目录里,看到secure1之类的,其实也是这类的日志。
通过这个文件,可以看到验证类的日志,比如telnet和ssh等。如果别人用telnet我们的机器,就要查看这个文件了。

可以通过
 

复制代码 代码示例:
#more secure | grep telnet
 

来看,当然用more也能一页一页的看过去。
通过查看这个安全日志,可及早发现一些入侵的迹像:
 

Dec 15 15:22:59 linuxsir01 xinetd[809]: START: telnet pid=2535 from=192.168.0.6
Dec 17 01:06:42 linuxsir01 xinetd[810]: START: telnet pid=26581 from=192.168.0.6
Dec 17 17:59:05 linuxsir01 xinetd[810]: START: telnet pid=4152 from=192.168.0.8
Dec 18 02:52:59 linuxsir01 xinetd[810]: START: telnet pid=9520 from=192.168.0.6
Dec 18 03:15:55 linuxsir01 xinetd[810]: START: telnet pid=9910 from=192.168.0.6

编辑推荐:
linux下常用的日志分析命令