> CentOS > CentOS故障 >

有关Centos日志分析的详细介绍

1.了解日志文件
    linux的日志文件可以说是最有用的了,日志文件可以让我们了解系统所处的状态,比如能查出哪些用户有登入,这也涉及相关的安全问题。如果我们不懂得分析日志,可能我们都不知道有些用户曾经登入过我们的系统。另外系统出了什么问题,我们也要查看系统日志,比如我们经常会进入不了Xwindows,我们要查看系统日志类似XFree86.0.log等文件,再来详细的说一下,如果我们运行过系统显示属性方面的设置[理论上应该叫XFree86.setup],我以Redhat 8.0来说一下这个问题,当我们在终端或者虚拟控制台下运行redhat-config-xfree86时,我们就能在etc/var

    目录下发现一个XFree86.setup.log,这个文件记录着我们曾经设置过的内容以及详细的情况。

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

    3.日志文件的配置文件
    日志文件的配制文件,在/etc/syslog.conf,如果我们要修改日志配制文件,我们要首先要备份。这一点,是我们进行系统管理的首要任务。

    下面的命令是备份,我是以root权限操作的,使用root权限要小心,切记。
    [root@linuxsir01 root]# cp /etc/syslog.conf /etc/syslog.confBAK
    当我们把/etc/syslog.conf配制错了,但我们还记不清楚原来的系统文件是什么样的了。这时备份文件就有极大的作用了,我们就还原回去就OK了。我们还可以再来改动这个文件。
    [root@linuxsir01 root]# cp /etc/syslog.confBAK /etc/syslog.conf

    4.日志配制文件都有些什么?请看!我们可以用下面的命令来查看,比如more /etc/syslog.conf
    [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/message
    s
    # 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]日志类型
    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]日志级别,日志系统管理员来维护系统的,系统日志的内容太多,所以就有必要把日志按级别来排序,这样能方便管理员发现比较紧急和重要的问题,以着手处理和解决。
    这里有一个主次顺序,也就是重要的都放在前面,级别是由高而低的。
    emerg 系统已经不可用,级别为紧急
    alert 警报,需要立即处理和解决
    crit 既将发生,得需要预防。事件就要发生
    warnig 警告。
    err 错误信息,普通的错误信息
    notice 提醒信息,很重要的信息
    info 通知信息,属于一般信息
    debug 这是调试类信息
    * 记录所有的信息,并发到所给所有的用户
    了解了linux日志的存储、类型等内容后,大家最感兴趣的莫过于如何分析linux日志了。
    此时,我们需要掌握一些 linux 日志分析命令 ,然后用这些命令或脚本对日志进行详细分析。

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

    举个例子来说
    kern.debug /var/log/kern.log
    进一步详细解说:[注:以RedHat 8.0为例]在RedHat 8.0中,我们能看到如下的一行。这代表什么意思呢。
    authpriv.* /var/log/secure
    这个代表的意思是:所有验证类级别的日志都存放在secure这个日志文件里。有时,我们也会在/var/log目录里,看到secure1之类的,其实也是这类的日志,我们要灵活一下。是不是?
    通过这个文件,我们可以看到验证类的日志,比如telnet和ssh等。如果别人用telnet我们的机器,我们就要查看这个文件了。我们可以通过
    #more secure | grep telnet来看,当然用more也能一页一页的看过去,我的目的仅仅是想知道是不是这个文件能看到这方面的东西,比如我用机其它器telnet,我的linux的主机,就有从下面得到记录。是不是一清二楚了?
    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

(责任编辑:IT)