• Linux 系统的日志目录


    连接时间的日志

    连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,通过who查看

    who /var/log/wtmp          【连接时间日志】
    who /var/log/utmp          【连接时间日志】
    ac -p     //查看每个用户的连接时间
    ac -a     //查看所有用户的连接时间
    ac -d     //查看用户每天的连接时间

    系统和服务日志

    系统日志服务是由名为syslog的服务管理的,以下日志文件都由syslog日志服务驱动的:
           /var/log/lastlog    :记录最后一次用户成功登陆的时间、登陆IP等信息
           /var/log/messages  :记录Linux操作系统常见的系统和服务错误信息
           /var/log/secure   :系统安全日志,记录用户和工作组变坏、用户登陆认证情况
           /var/log/btmp【last】:记录Linux登陆失败的用户、时间以及远程IP地址
           /var/log/cron      :记录crond计划任务服务执行情况

    进程监控日志

    进程统计监控日志在监控用户的操作指令是非常有效的。当服务器最近发现经常无故关机或者无故被人删除文件等现象时,可以通过使用进程统计日志查看

    [root@server ~]# accton /var/account/pacct      //开启进程统计日志监控
    [root@server ~]# lastcomm    [root@server ~]# accton     //关闭进程统计日志监控

    image

    RedHat6日志服务介绍

    在Linux系统,大部分日志都是由syslog日志服务驱动和管理的,syslog服务由两个重要的配置文件控制管理,

    CentOS 6及其以上:  /etc/rsyslog.conf主配置文件

                                     /etc/init.d/rsyslog是启动脚本

    注意:CentOS 6之前版本是:/etc/syslog.conf. 和 /etc/sysconfig/syslog辅助

    [root@server rsyslog.d]# grep -v '#' /etc/rsyslog.conf |grep -v '^$'  

    image

    消息类型: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

    vim /etc/ rsyslog.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错误级别(危险)的所有消息发给所有用户

    日志转发原理了解

    对于发送消息到服务器的OS,只要在写/etc/syslog.conf主配置文件的时候,作用域为@server-ip就行了

    针对218.192.87.24这台服务器,把一台系统的所有info级别的auth信息发给日志服务器
     auth.info           @218.192.87.24  就OK了
    # 重启服务
    service rsyslog restart
    

    日志转储服务

    系统工作到了一定时间后,日志文件的内容随着时间和访问量的增加而越来越多,

    日志文件也越来越大。而且当日志文件超过系统控制范围时候,还会对系统性能造成影响。

    储方式可以设为每年转储、每月转储、每周转储、达到一定大小转储。

    在Linux系统,经常使用“logrotate”工具进行日志转储,结合cron计划任务,可以轻松实现日志文件的转储。

    转储方式的设置由“/etc/logrotate.conf”配置文件控制

    logrotate查看帮助;man logrotate

    [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                                 //转储一次
    }
           /var/log/news/* {
               monthly                     
               rotate 2
               olddir /var/log/news/old
               missingok           //若日志文件不存在,则跳过。
               postrotate
                   kill -HUP ‘cat /var/run/inn.pid‘      //完成后重启news新闻组服务
               endscript           
               nocompress         //转储时不压缩
           } 

    自定义转储服务

    1、修改/etc/rsyslog.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:

    5、查看转储后的文件

    [root@51cto log]# ls /var/log/test.log*
    

    【更多参考】

    日志服务器转发功能:

    https://yq.aliyun.com/ziliao/25149

    https://www.cnblogs.com/hanyifeng/p/5463338.html

    
    
  • 相关阅读:
    Struts 学习之03Controller(控制器 上)
    解决.netFrameWork1.1中事件丢失
    python中的迭代器(iterable)和迭代对象(iterator), type和isinstance
    如何在快速启动栏添加桌面
    使用WebService构建的C/S代码结构示例
    .NET Framework 中的常见命名空间
    多重委托简单示例一
    匿名方法示例之计算器(委托作为参数和返回值)
    委托与事件示例
    批处理文件入门
  • 原文地址:https://www.cnblogs.com/ftl1012/p/9278634.html
Copyright © 2020-2023  润新知