系统日志架构概述

在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. 面向对象变成(OOP)-创建类和使用类

    1.1.1对象的抽象:抽象是一种归纳或总结,对象是现实世界物体特征的实例. (1)一切皆是对象. (2)类是对象的抽象. 1.1.2 对象的使用: 当对象被抽象为类以后,就可以创建具体的实例来操作了. ...

  2. 洛谷 P1020 导弹拦截

    题目传送门 解题思路: 其实就是求一遍最长不上升子序列和最长上升子序列 AC代码: #include<iostream> #include<cstdio> #include&l ...

  3. 阿里云服务器centos下安装配置svn服务器

      阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端yum install subversion      从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提 ...

  4. 出现UnboundLocalError: local variable 'a' referenced before assignment异常的情况与解决方法

    出现UnboundLocalError: local variable ‘a’ referenced before assignment异常的情况与解决方法字面意思:局部变量赋值前被引用原因:局部变量 ...

  5. proto3 不支持内建类型的非空判断即 hasXXX

    proto3 移除了内建类型的非空判断方法 即代码生成工具不会为 bool int 等类型生成has方法 有使用过proto2 或者其它rpc 框架的人都知道使用has 方法去判断消息里的值是否设置, ...

  6. 和我一起从0学算法(C语言版)(四)

    第三章 搜索 深度优先搜索与宽度优先搜索 定义 深度优先搜索(DFS) 过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次. 宽度优先搜索(BFS) 不考虑结果的可能位 ...

  7. 关于WIN7系统,在运行pycharm时,老出现问题

    今天在pycharm中写python代码的时候,一直跳出一个窗口: 后来经过上网查询,得出针对此类问题的解决办法如下: (1)在运行中输入“Regedit” (2)HKEY_CURRENT_USER— ...

  8. C语言如何获得精确到毫秒的时间

    在做测试或性能优化时,经常要知道程序运行的时间,在Linux系统可以使用time命令来计算程序运行运行所消耗的时间,能精确到毫秒,如果要精确到代码块或某个操作运行时所消耗的时间,time命令就不给力了 ...

  9. 京东云数据库RDS SQL Server高可用概述

    数据库的高可用是指在硬件.软件故障发生时,可以将业务从发生故障的数据库节点迁移至备用节点.本文主要讲述SQL Server高可用方案,以及京东云RDS数据库的高可用实现. 一.高可用解决方案总览 1. ...

  10. pandas读取和写入excel多个sheet表单

    一.读取单个表单 import pandas as pd excel_reader=pd.ExcelFile('文件.xlsx') # 指定文件 sheet_names = excel_reader. ...