系统日志架构概述

在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
10.0.1.1 案例2:统计远程登录失败的用户排名
[root@xiaoming log]# grep 'Failed' /var/log/secure | awk '{print $9}' | sort | uniq -c | sort -rn
root
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 :: xiaoming test: ERR

journal日志审查

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

# journalctl               查看所有日志
# journalctl -n 查看最后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日志的功能。

rsyslog与journal日志架构的更多相关文章

  1. RHEL7通过Rsyslog搭建集中日志服务器

    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建rsyslog日志服务器的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需要查看相 ...

  2. SQL Server中的事务日志管理(2/9):事务日志架构概述

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  3. rsyslog同步history日志(转载)

    前言 由于公司业务是由公司内部开人员及外包团队共同开发,所以需要使用rsyslog对history日志做收集.审计.虽然搭建及配置非常简单,但是在日常运维工作中很实用,所以记录下,方便日后快速搭建.如 ...

  4. journalctl 清理journal日志

    在CentOS 7开始使用的systemd使用了journal日志,这个日志的管理方式和以往使用syslog的方式不同,可以通过管理工具维护. 使用df -h检查磁盘文件,可以看到/run目录下有日志 ...

  5. 日志框架之2 slf4j+logback实现日志架构 · 远观钱途

    如何从缤纷复杂的日志系统世界筛选出适合自己的日志框架以及slf4j+logback的组合美妙之处?此文可能有帮助 logback介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网 ...

  6. 通过filebeat、logstash、rsyslog采集nginx日志的几种方式

    由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器.而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一.如何有效便捷的 ...

  7. Rsyslog收集应用日志

    收集系统其它服务日志,在客户端node1 上操作,示例以openstack-nova 服务的日志为例: 1.先修改配置文件 /etc/rsyslog.conf,完整内容如下: [root@node1 ...

  8. centos 如何用 rsyslog 搭建本地日志服务(续1: omprog模块与php deamon的配合使用)

    上一篇说到了如何用 rsyslog 搭建本地的日志服务,地址在这里,没有看的童鞋可以先瞅一眼 : http://www.cnblogs.com/smallrookie/p/5677004.html 显 ...

  9. centos 如何用 rsyslog 搭建本地日志服务

    一.问题背景 最近项目遇到一个问题,服务器响应很慢,team中的两个有经验的工程师找了一台服务器分析了一下,发现问题出在磁盘写入过于频繁.这里大概介绍一下背景,我们的服务器上面主要是跑各种PHP接口, ...

随机推荐

  1. JavaWeb之监听器

    1. 介绍         监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通java程 ...

  2. Arduino串口的一些高级用法

    1.配置串口通信数据位.校验位.停止位通常我们使用Serial.begin(speed)来完成串口的初始化,这种方式,只能配置串口的波特率.而使用Serial.begin(speed, config) ...

  3. 从1到n整数中1的个数

    [问题]求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.A ...

  4. SpringCloud学习之大纲总略(大纲篇)

    微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo.还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务 ...

  5. Windbg 实践之结合条件断点

    Case 1 1.bu USER32!PostMessageW "r $t0=@$t0+1;.printf\"PostMessageW Call Count:%d\",@ ...

  6. 关于域名转发proxy_pass

    在配置nginx的时候,有一个需求,访问m.XXX.com的时候,需要实际访问www.YYY.com/m,并且域名不能发生变化. 达成这个需求有两种做法: 第一种就是301跳转,使用rewrite来跳 ...

  7. PAT Advanced 1066 Root of AVL Tree (25) [平衡⼆叉树(AVL树)]

    题目 An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child ...

  8. 201771010123汪慧和《面向对象程序设计JAVA》第八周实验总结

    一.理论部分 1.接口 用interface声明,是抽象方法和常量值定义的集 合.从本质上讲,接口是一种特殊的抽象类. 在Java程序设计语言中,接口不是类,而是对类 的一组需求描述,由常量和一组抽象 ...

  9. Python内置文件

    概述 为了提升效率,Python有些内置文件如 __pycache__.py 详解 1)__pycache__.py, python程序运行时不需要编译成二进制代码,而直接从源码运行程序 Python ...

  10. 吴裕雄--天生自然 PHP开发学习:魔术常量

    <?php echo '这是第 " ' . __LINE__ . ' " 行'; ?> <?php echo '该文件位于 " ' . __FILE__ ...