zoukankan      html  css  js  c++  java
  • rsyslog与journal日志架构

    系统日志架构概述

    在centos7系统中有两个日志服务,分别是传统的rsyslog和新添加的systemd-journal

    systemd-journal是一个改进型的日志管理服务,可以收集来自内核、系统早期的启动阶段的日志、系统守护进程在启动和运行中的标准
    输出和错误信息、还有syslog的日志。
    该日志服务仅仅把日志集中保存在单一结构化的日志文件/run/log默认情况下并不会持久化保存日志、每次重启后,之前的日志都会丢失
    。另外,一些rsyslog无法收集的日志也会被jounral记录到

    rsyslog作为传统的系统日志服务,把所有收集到的日志都记录到/var/log目录下的各个日志文件中。常见的日志文件如下:

    系统日志
    /var/log/message          //绝大多数的系统日志都记录到文件
    /var/log/secure           //所有跟安全和认知授权等日志都会记录到此文件中  *****
    /var/log/maillog          //邮件服务日志
    /var/log/cron             //计划任务日志                             *****
    /var/log/boot.log         //系统启动相关的日志
    /var/log/demsg            //内核缓冲信息,系统启动时,硬件相关信息
    /var/log/audit/audit.log  //系统审计相关的日志
    
    程序日志
    /var/log/yum.log          //yum相关的日志                            ***
    /var/log/xferlog          //ftp日志
    /var/log/httpd/access_log //httpd访问日志                            *****
    /var/log/httpd/error_log  //httpd错误日志                            *****
    /var/log/mysql.log        //mysql日志                               *****
    ...
    
    特殊日志,二进制文件,不能直接查看
    /var/log/wtmp             //登录用户信息,使用w命令                     *****
    /var/log/btmp             //最近登录用户信息,使用last命令               ***
    /var/log/lastlog          //所有用户登录信息,使用lastlog命令
    案例1:统计远程登录成功的IP地址TOP10
    [root@xiaoming log]# grep 'Accepted' /var/log/secure | awk '{print $11}' | sort | uniq -c | head
          5 10.0.1.1
    
    案例2:统计远程登录失败的用户排名
    [root@xiaoming log]#  grep 'Failed' /var/log/secure | awk '{print $9}' | sort | uniq -c | sort -rn
          4 root
          1 www
    
    采集->排序—>去重->排序

    rsyslog日志审查

    rsyslog主配置文件是rsyslog.conf

    syslog日志类型

    syslog日志的级别:
    LOG_EMERG   //紧急,致命信息,服务无法继续运行,内核奔溃等
    LOG_ALERT   //报警,需要立即处理,磁盘空间使用95%等
    LOG_CRIT    //致命行为
    LOG_ERR     //错误行为
    LOG_WARNING //警告信息
    LOG_NOTIC   //普通信息
    LOG_INFO    //标准信息
    LOG_DEBUG   //调试信息,排错所需,一般不建议使用
    看懂简单的日志设定规则,分析日志字段
    手工发送日志logger
    [root@xiaoming log]# logger -p authpriv.info -t "test" "ERR"
    [root@xiaoming log]# tail -1l /var/log/secure
    Jan  4 10:28:37 xiaoming test: ERR

    journal日志审查

    这是systemd自带的日志服务工具所有日志记录到/run/log文件中,必须使用如下命令才可打开

    # journalctl               查看所有日志
    # journalctl -n 5          查看最后5条日志
    # journalctl -p err        查看err类型的日志
    # journalctl -f            不断输出最后10条日志
    # journalctl --since today 查看今天的日志
    # journalctl --since "2020-02-03 08:00:00" --until "2020-02-04 09:00:00"
    # journalctl -o verbose    查看日志详细信息
    # journalctl _SYSTEMD_UNIT=sshd.service 

    日志轮询logrotate

    一个项目一般由多个组件协作实现,各组件会生成不同的日志。为控制日志,组件一般对自己产生的日志会有一定的设置,这些日志配置通常是写死的
    ,常见控制日志信息的工具有Log43和SLF43。因为磁盘容量有限,在多个组件共同作用下,可能会出现日志未到规定时间删除,而磁盘大小被日
    志撑满,不能再写入的情况。

    logrotate一定程度上可以简化对会生成大量日志文件的系统的管理。logrotate可以实现自动轮替、删除、压缩和mail日志的功能。

  • 相关阅读:
    Python的招牌花旦
    Python的for循环究竟是什么回事儿
    人人都喜欢用的十大python标准库
    有编程基础学python怎么赚点小钱?
    python3 Flask Redis 如何切换数据库
    贪心算法
    【ACM】nyoj_106_背包问题_201308152026
    【ACM】nyoj_14_会场安排问题_201308151955
    【ACM】nyoj_132_最长回文子串_201308151713
    【ACM】nyoj_47_过桥问题_201308151616
  • 原文地址:https://www.cnblogs.com/xmtxh/p/12148832.html
Copyright © 2011-2022 走看看