热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

百战RHCE(第十九战:Linux进阶命令十六系统日志的极简管理)

哈喽哈喽哈喽,大家好啊,很高兴大家能看到这篇文章!首先,本人目前是计算机专业的大一学生,基于对Linux操作系

哈喽哈喽哈喽,大家好啊,很高兴大家能看到这篇文章!

首先,本人目前是计算机专业的大一学生,基于对Linux操作系统的爱好,参与了RHCE的培训班,而我这次编写的 《百战RHCE》文章,是基于我自己的学习经验浓缩而来的,保证简洁,方便理解!

而作为一名大学生,我想通过坚持的高水平文章编写带给我自己本身经验的不断进步,同时也希望让更多的Linux新手能接触到更加系统的文章学习。本次《百战RHCE》,会由浅入深,从最基本的命令行,到编写非常复杂的Ansible 自动化脚本 

因为本人和你一样也是学习者,所以文章中出现的错误,还望多多指出。

还有注意了哦,我所用的系统为Centos7,如果你还没下载的话,可以在到我的第一章节,那里有下载教材和镜像地址哦~

最后最后我在说最后一句话,引用下我们老师的话:“不要尝试背下所有指令,多记笔记!多敲命令!”


 

在这一章当中我们将主要讲解linux的目录构架以及日志的管理,朋友请准备好,我们开始了!!!

目录

一.Linux的目录构架

二.系统日志管理

1./var/log/secure日志文件

2.日志内容组成

三.日志优先级

1.日志的8个优先级

2.配置个性化 rsyslog 日志文件

3.永久保存 systemd journal 日志信息




一.Linux的目录构架

我们用一张图来引入

 

在这里请先看红色括好的部分。

/ 在开头就是根目录

/ 不在开头就是 目录分隔符,举个例子

/etc/lianxi/hh 红色的/就是根目录,其他的/都是目录分隔符

然后我们现在来把这些目录的大致作用和大家讲下,大家在这只需要做初步了解就好,不需要背下来,以后多练习就记住了。



/bin: 存放普遍命令脚本,root和普通用户都可以使用命令

/sbin:存放root用户特权命令的脚本命令

/dev:内存中的文件(内存的内容映射到硬盘当中)

/etc:存放配置文件

/home:存放普通用户的家目录

/root:root用户的家目录

/run:正在运行的文件(也是内存当中的目录)

/boot:启动相关文件

/tmp:临时目录

/usr:应用程序相关的目录

/var:变化数据的目录

这里的内容你现在只需要做初步的了解就好了,而我们下面要讲的日志服务文件就是存放在 /var 目录当中的




二.系统日志管理

我们系统日志存在在 /var/log中,而规定什么样日志级别信息存放在那个文件的条目由 /etc/rsyslog.conf 规定

我们先来看 /etc/rsyslog.conf 这个日志配置文件

我这里就截取了 /etc/rsyslog.conf 当中你必须了解的部分,你可以看到我圈了4个蓝色的括号,这个四个括号分别存放不同syslog消息。这里我们不重点讲,我们这边侧重讲下红色括号 /var/log/secure 这个日志文件 




1./var/log/secure日志文件

首先 /var/log/secure 文件 存放这安全性和身份验证时间相关的syslog(系统日志)消息

我们来打开看看 /var/log/secure文件内容

 

我们首先来看红色括号的部分 tail 命令我们在前面的时候讲解过,但这里 多出了一个你不认识 -f 选项,这个 -f选项主要做实时刷新文件内容的

我们先看右边括号的蓝色部分,我在 root用户的时候使用 exit 命令退回了登陆 root 用户的普通用户,我们回发现左边的蓝色括号,多出了一个root用户通话被关闭的提醒(一个root用户退出了)。

我们在来看 右边的绿色括号,可以发现此时我在 ycj 用户上面 使用 su - 命令登陆上了 root 用户,我们在来看回左边的绿色括号,回发现此时多了一条提示信息,我们根据提示信息得知是 ycj 用户登陆上了 root 用户




2.日志内容组成

在这里我来说下 日志的是由 rsyslog(就是我们上面一直在说的这个)消息 systemd-journald组成。

rsyslog 和 systemd-journald 的最大区别就是,rsyslog 读取的是 systemd-journald 的日志消息。

下面我们就来讲解下 systemd-journald 的命令



格式:journalctl  选项 显示  检索日志消息

选项:

- n: 指定显示最后 n 条日志

-f :实时刷新日志

-p:显示该优先级之上的日志

-- since: 开始的时间

--until: 结束的时间

我们首先先来看第一个红括号,我们使用 journalctl -p notice -n 10 -f 命令查看 systemd-journald 日志

-p notice 用来 查看notice 级别的日志 (关于日志级别一会会讲的)

在来注意看第二个红括号,我们使用 journalctl --since "2022-03-15 17:30:00" --until "2022-03-15 17:45:00" -n 5 命令来查看2022-03-15 17:30:00到2022-03-15 17:45:00的systemd journald日志消息



同时journalctl 除了配合选项使用外还可以配合字段筛选命令,我这边说几个经常用到的

—COMM :命令的名称

—PID :进程的PID

— UID: 该UID用户相关的日志消息

—SYSTEMD_UNIT: 启动该进程的systemd 单元

格式是

journalctl 筛选字段=对应关键字

  这里注意看红色括号部分,现阶段你只需要稍作了解和对照打下练习一下就可以了,不用急于求成,我们慢慢来哈。

而现在 日志的两大组成 systemd-journald 和 rsyslog 我们都已经大概学完了。那么下面我们在来和大家说三个小知识点。




三.日志优先级


1.日志的8个优先级

 

这个表中的 8个级别大家现阶段稍作了解就可以了




2.配置个性化 rsyslog 日志文件

 首先,在 /etc/rsyslog.d/ 目录下创建一个以  .conf 结尾的配置文件

 其次,在这个文件当中填入固定格式的一段内容:

  *. 日志消息级别  日志消息存储文件

配置完成后 systemctl restart rsyslog 重新加载下服务

输入自定义的 日志信息看是否配置成功,测试信息

格式为:logger -p 日志消息级别 消息内容

 

 

此图根据我上面给的操作,可以多看看,多想想,多打打,就会了




3.永久保存 systemd journal 日志信息

默认情况下 systemctl journal 都是保存在内容 /run/log/journal 当中的,一旦电脑关机重启,日志消息就全部没有了。

而如果我们想要永久保存 systemd journal 日志消息,我们只需要在 /etc/systemd/journald.conf 配置文件当中修改 storage 的参数

storage 的参数为 persistent 时,systemd journal 日志消息永久保存在 /var/log/journal 目录下

参数为 voltile,systed journal 日志消息临时保存在 /run/log/journal

参数为 auto,如果 /var/log/journal 目录存在,则保存在其中,不存在就临时保存

注意 如果 storage 前面有 # 需要你去掉,因为 # 会把它右边的内容全部注释掉

此时我们在 /var/log/journal 当中 可以看到一个长度为 十六进制字符的目录,在这个目录当中存放有两个文件时存储带有索引的结构化日志条目的 二进制文件,不可以直接打开常看,需要使用

journalctl -b n(n 代表系统第n 次启动的条目)

我们这里使用 journalctl -b 2 -n 10 查看第二次系统自启动的条目的最后10行。



好了好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,今天的学习内容并不是很多,关键多打几遍就会了,有啥不会的朋友记得论坛里面提问哈~

如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈~嘿嘿嘿~我会定期更新文章的,谢谢朋友你的支持哈~

 


推荐阅读
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了Oracle RMAN中的增量备份机制,重点解析了差异增量和累积增量备份的概念及其在不同Oracle版本中的实现。通过对比两种备份方式的特点,帮助读者选择合适的备份策略。 ... [详细]
  • 万事起于配置开发环境
    万事起于配置开发环境 ... [详细]
  • 在Linux系统中使用EncFS实现文件夹加密
    为了保护个人隐私或敏感数据不被未经授权的访问,可以通过加密技术来增强安全性。本文介绍如何在Linux系统上使用EncFS工具创建和管理加密文件夹,以确保即使在系统登录状态下,特定文件夹中的数据也保持加密状态。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文将详细介绍在Linux环境下挂载U盘的方法和步骤,帮助用户更好地理解和操作Linux系统下的外部存储设备。 ... [详细]
  • 本文深入探讨了分布式文件系统的核心概念及其在现代数据存储解决方案中的应用,特别是针对大规模数据处理的需求。文章不仅介绍了多种流行的分布式文件系统和NoSQL数据库,还提供了选择合适系统的指导原则。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
  • 时序数据是指按时间顺序排列的数据集。通过时间轴上的数据点连接,可以构建多维度报表,揭示数据的趋势、规律及异常情况。 ... [详细]
  • 本文详细探讨了 HAProxy 的基本概念及其与 LVS(Linux Virtual Server)的比较,特别是在内核空间与用户空间的工作差异。文章还深入介绍了 HAProxy 独有的数据结构——弹性二叉树,以及其在高并发场景下的表现。 ... [详细]
  • 本文介绍了如何将Linux系统中的YUM源更换为阿里云镜像源,包括网络连通性测试、原YUM源的移除、阿里云YUM源的配置以及缓存的更新等步骤。 ... [详细]
  • FTP作为一种传统的文件传输协议,广泛用于不同设备间的文件交换。然而,随着网络安全需求的提升及传输效率的要求,选择合适的FTP客户端变得尤为重要。本文将介绍如何利用WinSCP这款强大且安全的工具,实现两台电脑之间的文件高效传输。 ... [详细]
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • 本文档提供了首次周测的答案解析,涵盖特殊符号、命令作用、路径说明以及实战练习等内容。 ... [详细]
author-avatar
jgfujfuf
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有