系统日志架构概述

在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. C++ CreateInstance("ADODB.Connection");创建接口失败的解决方法

    数据库对象mssql2005sp3专业版: 一般数据引用该路径文件#import "c:\\program files\\common files\\system\\ado\\msado15 ...

  2. Window Nginx安装

    1.下载Nginx 下载地址:http://nginx.org/en/download.html 我这里下载的版本是: nginx/Windows-1.12.2 2.解压Nginx 把下载下来的zip ...

  3. MYSQL连接不上100061错误

    有界面的情况下启动MYSQL 无界面 https://blog.csdn.net/qq_22233621/article/details/72673176 参考

  4. php://filter(文件包含漏洞利用)及php://input

    1. php://filter 文件包含漏洞:https://blog.csdn.net/fageweiketang/article/details/80699051 筛选过滤应用: 1. 字符串过滤 ...

  5. Java8之深入理解Lambda

    lambda表达式实战 从例子引出lambda 传递Runnable创建Thread java8之前 Thread thread=new Thread(new Runnable() { @Overri ...

  6. 干货 | IP高防使用配置

    一.知识简介 DoS(Denial of Service),即拒绝服务攻击.该攻击是利用目标系统网络服务功能缺陷或者直接消耗其系统资源,目的是使该目标客户的系统不可用,无法提供正常的服务. DDoS( ...

  7. 吴裕雄--天生自然 JAVA开发学习:Number & Math 类

    int a = 5000; float b = 13.65f; byte c = 0x4a; public class Test{ public static void main(String arg ...

  8. geodjango七日学习笔记 (7.30整理本地笔记上传到网络)

    第一天进行到现在,在开端的尾巴,想起来写一个学习笔记, 开发环境已搭好,用的是pycharm 环境是本机已有的interpreter python3.7   接下来要做的是新建一个geodjango项 ...

  9. Linux-父进程wait回收子进程

    1.wait工作原理 (1).子进程结束时,系统向其父进程发送SIGCHILD信号 (2).父进程调用wait函数后阻塞 (3).父进程被SIGCHILD信号唤醒然后去回收僵尸子进程 (4).父子进程 ...

  10. VS Code之Vue开发常用插件

    Auto Close Tag 自动补全html标签 Auto Rename Tag 同步更改html尾标签 ESLint ESlint语法提示 settings.json 文件 "eslin ...