`
zscomehuyue
  • 浏览: 412037 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux系统日志管理(redhat)

阅读更多
Linux系统日志管理(redhat)
一、Linux系统日志作用
日志对任何一个OS、应用软件、服务进程而言都是必不可少的模块。日志
文件对于系统和网络安全起到中大作用,同时具有审计、跟踪、排错功能。
可以通过日志文件监测系统与网络安全隐患,以及监测黑客入侵攻击路线。
二、日志分类
1. 连接时间的日志
连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这
两个文件无法直接cat查看,并且该文件由系统自动更新,可以通过如下:
w/who/finger/id/last/lastlog/ac 进行查看
[root@51cto ~]# who
root     tty1         2010-10-06 22:56
root     pts/0        2010-10-06 22:26 (218.192.87.4)
root     pts/1        2010-10-06 23:41 (218.192.87.4)
root     pts/3        2010-10-06 23:18 (218.192.87.4)
[root@51cto ~]# w
01:01:02 up  2:36,  4 users,  load average: 0.15, 0.03, 0.01
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                            22:56    1:20m  0.16s  0.16s -bash
root     pts/0    218.192.87.4     22:26    2:05m  0.18s  0.18s -bash
root     pts/1    218.192.87.4     23:41    0.00s     0.41s  0.00s w
root     pts/3    218.192.87.4     23:18    1:38m  0.03s  0.03s -bash
[root@51cto ~]# ac -p    //查看每个用户的连接时间
        u51                                  1.23
        u55                                  0.04
        root                                95.21    //可以看到root连接时间最长吧
        51cto                                0.06
        user1                                3.93
        total      100.48
[root@51cto ~]# ac -a     //查看所有用户的连接时间
        total      100.49
[root@51cto ~]# ac -d     //查看用户每天的连接时间
Sep 24  total        0.14
Sep 25  total       14.60
Sep 26  total       13.71
Sep 27  total       21.47
Sep 28  total       11.74
Sep 29  total        6.60
Sep 30  total        8.81
Oct  1   total        9.04
Oct  2   total        0.47       //可以看到我国庆3、4、5号出去玩了
Oct  6   total        8.62
Today   total        5.29
其他几个命令不做具体介绍了
2. 进程监控日志
进程统计监控日志在监控用户的操作指令是非常有效的。当服务器最近发现经常
无故关机或者无故被人删除文件等现象时,可以通过使用进程统计日志查看:
[root@51cto ~]# accton /var/account/pacct      //开启进程统计日志监控
[root@51cto ~]# lastcomm     //查看进程统计日志情况
accton            S     root     pts/1      0.00 secs Thu Oct  7 01:20
accton                   root     pts/1      0.00 secs Thu Oct  7 01:20
ac                           root     pts/1      0.00 secs Thu Oct  7 01:14
ac                           root     pts/1      0.00 secs Thu Oct  7 01:14
free                        root     pts/1      0.00 secs Thu Oct  7 01:10
lastcomm              root     pts/1      0.00 secs Thu Oct  7 01:09
bash               F     root     pts/1      0.00 secs Thu Oct  7 01:09
lastcomm              root     pts/1      0.00 secs Thu Oct  7 01:09
ifconfig                 root     pts/1      0.00 secs Thu Oct  7 01:09
lastcomm             root     pts/1      0.00 secs Thu Oct  7 01:09
lastcomm             root     pts/1      0.00 secs Thu Oct  7 01:09
lastcomm             root     pts/1      0.00 secs Thu Oct  7 01:09
accton           S     root     pts/1      0.00 secs Thu Oct  7 01:09
[root@51cto ~]# accton     //关闭进程统计日志监控
3. 系统和服务日志
系统日志服务是由一个名为syslog的服务管理的,如一下日志文件都是由syslog日志服务驱动的:
/var/log/lastlog    :记录最后一次用户成功登陆的时间、登陆IP等信息
/var/log/messages   :记录Linux操作系统常见的系统和服务错误信息
/var/log/secure  :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址
/var/log/cron :记录crond计划任务服务执行情况
…...
[root@51cto ~]# cat /var/log/lastlog
Lpts/0218.192.87.4
Lpts/1218.192.87.4
Lpts/1218.192.87.4
Lpts/0218.192.87.46
Lpts/0218.192.87.4
…...
三、Linux日志服务介绍
1. 在Linux系统,大部分日志都是由syslog日志服务驱动和管理的,syslog服务由两个重要的
配置文件控制管理,分别是/etc/syslog.conf主配置文件和/etc/sysconfig/syslog辅助
配置文件, /etc/init.d/syslog是启动脚本,这里主讲主配置文件/etc/syslog.conf:
/etc/syslog.conf 语句结构:
[root@51cto ~]# grep -v "#" /etc/syslog.conf     //列出非#打头的每一行
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                                                        /var/log/secure
mail.*                                                                             -/var/log/maillog
cron.*                                                                               /var/log/cron
*.emerg                                                                            *
uucp,news.crit                                                              /var/log/spooler
local7.*                                                                           /var/log/boot.log
选择域(消息类型.错误级别)                          动作域
2. 消息类型:auth,authpriv,security;cron,daemon,kern,lpr,mail,       mark,news,syslog,user,uucp,local0~local7.
错误级别:(8级)debug,info,notice,warning|warn;err|error;crit,alert,emerg|panic
动作域:file,user,console,@remote_ip
举如上的/etc/syslog.conf文件三个例子:
*.info;mail.none;authpriv.none;cron.none           /var/log/messages
   表示info级别的任何消息都发送到/var/log/messages日志文件,但邮件系统、验证系统
和计划任务的错误级别信息就除外,不发送(none表示禁止)
cron.*             /var/log/cron        表示所有级别的cron信息发到/var/log/cron文件
*.emerg           *            表示emerg错误级别(危险状态)的所有消息类型发给所有用户
四、Linux日志服务器配置
此服务器的配置非常简单,只是修改一个文件的一个地方,然后重启服务即可:
[root@51cto ~]# grep -v "#" /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m 0 -r"    //只要在这里添加“-r”就行咯
KLOGD_OPTIONS="-x"
SYSLOG_UMASK=077
[root@51cto ~]# service syslog restart
关闭内核日志记录器:                                       [确定]
关闭系统日志记录器:                                       [确定]
启动系统日志记录器:                                       [确定]
启动内核日志记录器:                                       [确定]
对于发送消息到服务器的OS,只要在写/etc/syslog.conf主配置文件的时候,作用域
为@server-ip就行了,比如针对218.192.87.24这台日志服务器,把一台ubuntu系统的所有
info级别的auth信息发给日志服务器,那么对于ubuntu系统的/etc/syslog.conf文件最后一
行添加  auth.info           @218.192.87.24  就OK了
五、日志转储服务
系统工作到了一定时间后,日志文件的内容随着时间和访问量的增加而越来越多,
日志文件也越来越大。而且当日志文件超过系统控制范围时候,还会对系统性能
造成影响。转储方式可以设为每年转储、每月转储、每周转储、达到一定大小转储。
在Linux系统,经常使用“logrotate”工具进行日志转储,结合cron计划任务,可以轻松
实现日志文件的转储。转储方式的设置由“/etc/logrotate.conf”配置文件控制:
[root@51cto ~]# cat /etc/logrotate.conf
# see "man logrotate" for details              //可以查看帮助文档
# rotate log files weekly
weekly                  //设置每周转储
# keep 4 weeks worth of backlogs
rotate 4               //最多转储4次
# create new (empty) log files after rotating old ones
create                  //当转储后文件不存储时创建它
# uncomment this if you want your log files compressed
#compress                   //以压缩方式转储
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d             //其他日志文件的转储方式,包含在该目录下
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {                       //设置/var/log/wtmp日志文件的转储参数
    monthly                              //每月转储
    create 0664 root utmp        //转储后文件不存在时创建它,文件所有者为root,
                                                                所属组为utmp,对应的权限为0664
    rotate 1                                 //转储一次
}
# system-specific logs may be also be configured here.
举2个例子:为/var/log/news/目录下的所有文件设置转储参数,每周转储,转储2次,转储
时将老的日志文件放到/var/log/news/old目录下,若日志文件不存在,则跳过。完成后重启
news新闻组服务,转储时不压缩。那么可以在/etc/logrotate.conf文件的最后添加如下:
/var/log/news/*{
    monthly
    rotate  2
    olddir   /var/log/news/old
     missingok
    postrotate
        kill   -HUP `cat   /var/run/inn.pid`
     endscript
     nocompress
}
另一个例子:为/var/log/httpd/access.log和/var/log/httpd/error.log日志设置转储参数。转储
5次,转储时发送邮件给[email=root@localhost]root@localhost[/email]用户,当日志文件达到100KB时才转储,转储后重启
httpd服务,那么可以直接在/etc/logrotate.conf文件的最后添加如下:
/var/log/httpd/access.log   /var/log/http/error.log{
    rotate  5
    mail   [email=root@localhost]root@localhost[/email]
    size=100k
    sharedscripts
         /sbin/killall   -HUP  httpd
    endscript
}
六、自定义日志转储(/etc/logrotate.d/*)
通过下面一个例子将所有类型错误级别为info的日志转储到/var/log/test.log日志文件中,并设置
/var/log/test.log达到50KB后进行转储,转储10次,转储时压缩,转储后重启syslog服务:
1、修改/etc/syslog.conf文件使得如下:
[root@51cto ~]# tail -1 /etc/syslog.conf       //查看该文件的最后一行
*.info                  /var/log/test.log
2、重启syslog服务:
[root@51cto ~]# /sbin/service syslog restart
关闭内核日志记录器:                                       [确定]
关闭系统日志记录器:                                       [确定]
启动系统日志记录器:                                       [确定]
启动内核日志记录器:                                       [确定]
3、创建/etc/logrotate.d/test.log日志转储参数配置文件,添加如下:
[root@51cto ~]# vim /etc/logrotate.d/test.log
[root@51cto ~]# cat /etc/logrotate.d/test.log
/var/log/test.log{
    rotate  10
    size = 50k
    compress
    postrotate
     killall -HUP  syslog
    endscript
}
4、查看文件/etc/cron.daily/logrotate确保如下:
[root@51cto ~]# cat /etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
5、查看转储后的文件
[root@51cto log]# pwd
/var/log
[root@51cto log]# ls test.log*
……       //结果等要转储的时候会发现压缩文件和原本的test.log文件
分享到:
评论

相关推荐

    Linux系统日志全面分析

    Linux系统日志的重要性在于它可以帮助管理员了解系统的运行状态,例如系统崩溃、硬盘错误、用户认证失败等。管理员可以通过查看日志文件来了解系统的运行情况,并快速定位和解决问题。 Linux系统日志可以分为不同的...

    LINUX系统日志的清除.docx

    了解Linux系统日志的重要性在于,它们可以帮助系统管理员监控系统的活动、诊断问题和解决问题。 Linux系统日志的种类繁多,以下是常见的一些日志文件: * access-log:记录HTTP/web传输的日志 * acct/pacct:记录...

    RedHat Linux常用的日志文件

    在RedHat Linux系统中,日志文件扮演着非常重要的角色,它们记录了系统运行过程中的各种信息,对于监控系统状态、排查故障及安全审计等方面都至关重要。本文将详细介绍RedHat Linux系统中常见的几种日志文件。 ####...

    linux系统管理-日志管理和分析分享.pdf

    Linux系统管理-日志管理和分析分享 在 Linux 系统中,日志管理和分析是系统管理员不可或缺的一部分。日志管理主要包括日志文件的收集、存储、分析和报告等几个方面。日志文件是系统中最重要的信息来源,它记录了...

    Linux Redhat AS3 安装文档

    这份"Linux Redhat AS3 安装文档"旨在指导用户进行系统的安装与配置,以下是根据标题和描述提取的相关知识点: 1. **安装介质选择**:Linux Redhat AS3通常通过CD-ROM或网络ISO镜像进行安装,用户需要准备相应的...

    [RedHat.Linux.教学].redhat9

    - **日志管理**:查看和分析/var/log中的系统日志文件。 - **进程管理**:使用ps、top、kill命令监控和管理进程。 - **性能调优**:监控CPU、内存、磁盘使用情况,进行性能优化。 7. **脚本编程**: - **bash ...

    linux系统管理与服务

    ### Linux系统管理与服务知识点详解 #### Linux的起源与发展 - **UNIX**: - 定义:UNIX是一个注册商标,任何遵循特定标准的操作系统均可称为UNIX。 - 常见的UNIX系统包括IBM-AIX、HP-UX、SUN-Solaris以及FreeBSD...

    RedHat Linux常见的日志文件和常用命令

    这两个守护进程负责收集和处理系统日志消息。`syslogd` 处理应用日志,而 `klogd` 处理内核日志。 通过熟练掌握这些日志文件和命令,Linux管理员可以有效地监控系统运行状况,及时响应异常,从而提升系统的稳定性...

    Redhat Linux 9中文官方文档.7z

    4. **安全管理**:由于Linux系统的安全性备受重视,文档会讲解如何设置防火墙(iptables)、安全策略、权限管理和认证机制,确保系统的安全性。 5. **性能优化**:针对服务器环境,文档还会提供性能监控和调优的...

    RedHat Linux安装及使用指南.rar

    `man`命令可以查看命令的手册页,`journalctl`用于查看系统日志,`grep`和`less`则有助于在大量文本中查找信息。 总的来说,RedHat Linux的安装和使用涉及多个方面,从基础操作到高级应用,都需要不断学习和实践。...

    linuxserver2RedHat Linux服务器配置与应用视频

    【标签】"RedHat"表明了该课程专注于Red Hat Linux系统,这是一个开源的、企业级的Linux发行版,以其稳定性、安全性和强大的技术支持而闻名。Red Hat Linux被许多大型企业和组织用于构建服务器基础设施,因此,理解...

    Linux 试卷和答案 Linux RedHat

    这份"Linux 试卷和答案 Linux RedHat"资源显然是为那些想要学习或测试自己在Red Hat Linux初级和入门水平知识的人准备的。以下是可能包含在这些试卷中的关键知识点: 1. **Linux基础知识**:试卷可能会涵盖Linux...

    《Red Hat LINUX 9系统管理》读书笔记.rar

    这本书的读书笔记将涵盖多个核心主题,包括安装与配置Linux系统、用户及权限管理、文件系统与磁盘管理、网络配置以及系统维护等。 首先,安装与配置是接触任何操作系统的第一步。Red Hat Linux 9的安装过程涉及分区...

    G:\Xen-linux.rar在Redhat linux 安装XEN-llinux

    12. **监控与故障排除**: 使用系统日志、性能监控工具和Xen提供的诊断工具来监控虚拟环境的健康状况。如果遇到问题,查阅文档或在线社区寻求解决方案。 在"Xen_linux.pdf"文档中,可能会详细解释上述步骤,并提供更...

    Linux系统网络管理心得笔

    根据给定文件的信息,我们可以提炼出以下相关的IT知识点,这些知识点主要围绕Linux系统及网络管理进行阐述。 ### 一、Linux系统基础知识 #### 1. 常用命令 Linux系统中有许多常用的命令,掌握它们对于系统管理和...

    Redhat Linux RHCE培训、考试介绍

    - **Redhat Linux RHCE认证**:RHCE(Red Hat Certified Engineer)是Red Hat公司为专业Linux系统管理员提供的一项高级认证。 - **课程代码**:RH302,此课程专注于RHCE的培训与备考。 - **培训费用**:6000元,包含...

    RedHat 5.4 Linux系统下安装MYSQL

    在RedHat 5.4 Linux系统中安装MySQL5.0是一个关键的过程,涉及到多个步骤,包括下载和安装源代码、配置文件、用户权限设定以及数据库初始化。以下是对这些步骤的详细解释: 1. **下载与安装**: 首先,你需要获取...

    Linux入门级别的书,redhat认证

    系统管理和监控部分,书中会讲解进程管理(如启动、停止、监控进程),日志查看,性能分析工具的使用,以及如何进行系统更新和软件包管理。了解这些内容有助于优化系统性能,解决运行中的问题。 此外,书中还会涉及...

Global site tag (gtag.js) - Google Analytics