rhcsa5(日志、维护准确时间)

分析和存储日志

许多系统都以文本文件的方式记录事件日志,而这些文件保存在/var/log目录中。

在红帽中有systemd-journald和rsyslog服务管理日志进程。systemd-journald服务是操作系统事件日志架构的核心,包括内核、引导过程早期阶段的输出、守护进程启动和运行时的标准输出及标准错误。systemd-journald默认情况下将日志保存在临时文件系统中,这意味着它们在系统重启后会丢失。

  • systemd-journald收集的内容包括内核日志、系统服务日志、登录日志等系统级别的日志。它从各个应用程序读取日志消息,并保存在自己的二进制日志文件中。
  • rsyslog可以接收来自多个来源的日志消息,其中包括systemd-journald。rsyslog可以将这些日志消息写入到指定的日志文件中,并支持根据配置进行进一步的处理,如过滤、转发、聚合等。

systemd-journald服务的信息默认存储在/run/log目录,系统重启后将被清除,

用journalctl命令可以查看systemd-journald服务运行时生成的信息

rhcsa5(日志、维护准确时间)_第1张图片

(优先级为notice或warning的消息显示为粗体文本,error或以上则显示为红色文本)

journalctl  -n  显示最后10个日志信息 (journalctl  -n  5 最后5个)

journalctl -f实时输出最后10行,ctrl + c 退出

查看不同级别的信息

journalctl -p 优先级

rhcsa5(日志、维护准确时间)_第2张图片

查找具体事件, --since  --until (时间格式为“YYYY-MM-DDhh:mm:ss”)

如果省略日期,则命令会假定日期为当天。如果省略时间,则命令假定为自00:00:00起的一整天。(yesterday、today、tomorrow也可作为参数)

rhcsa5(日志、维护准确时间)_第3张图片

journalctl --since "-1 hour"

ournalctl --since "2017-01-01 20:00:00" --until "2019-03-01 22:00:00"

 journalctl -o verbose可查看journalctl后面可以筛选的所有选项
rhcsa5(日志、维护准确时间)_第4张图片

Linux系统中的日志管理 ---systemd-journald日志(journalctl命令的用法)和 rsyslog 日志(自定义日志采集路径、更改日志采集格式和日志的远程同步)-CSDN博客

rsyslog服务会从日志中读取systemd-journald收到的syslog消息,并将处理syslog事件,记录到日志文件中,或根据自己的配置转发给其他服务。

rhcsa5(日志、维护准确时间)_第5张图片

(/var/log目录存储系统上的日志文件)

许多程序使用syslog协议将事件记录到系统。每一日志消息根据设备(消息的类型)和优先级(消息的严重性)分类。

rhcsa5(日志、维护准确时间)_第6张图片

rsyslog服务配置文件存放在/etc/rsyslog.conf

vim  /etc/rsyslog.conf

rhcsa5(日志、维护准确时间)_第7张图片

如图该文件定义了不同级别的日志存放在位置在哪里

上图所示

*.info;mail.none;authpriv.none;cron.none                /var/log/messages
任何设备的信息性事件(*.info),(mail.none;authpriv.none;cron.none)邮件的信息性事件、认证设备的信息性事件、计划任务的的信息性事件排除。除这些事件外的信息性事件都存放在 /var/log/messages文件中(因为哪些有自己存放的地方,所以排除)

mail.*                                                  -/var/log/maillog
在邮件的任何事件的存放位置中可以看到最前面有个-(代表滞后写入),相比其他事件,这个优先级较低,可以先处理记录完别的事件,再去处理邮件

c

除了已有的日志事件设置,我们也可以自定义设置

如:把系统内所有调试信息都记录在/var/log/debug

我们可以如下操作实现

vim /etc/rsyslog.conf  进入配置文件进行编辑

编辑完成后保存并退出,还要重启以下rsyslog服务才可以

可以发现会生成我们设置存放的文件(当你想查看某一级别日志信息时也可以设置存放到某一文件,方便查看)

(补充:在配置文件中可以识别一下含义

以下是一些常见的设备名称及其含义:

  • user:用户相关的日志消息,如登录、认证等。
  • kern:内核相关的日志消息,如系统启动、硬件故障等。
  • mail:与邮件系统相关的日志消息。
  • auth:与身份验证和授权系统相关的日志消息。

在/var/log目录下有两个文件需要注意一下

rhcsa5(日志、维护准确时间)_第8张图片

lastlog(记录登录日志信息)不用less命令查看(其为数据格式的文件(data)

输入y得到

rhcsa5(日志、维护准确时间)_第9张图片

其查看方式是直接输入文件名查看

wtmp文件查看方式是输入last,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。

dmesg查看开机过程开启的所有服务的日志信息

rhcsa5(日志、维护准确时间)_第10张图片

如上可以通过less命令检索 dmesg|less 得到的是没有颜色的内容(dmesg是命令)

手动发送syslog消息

 vim /etc/rsyslog.conf 编辑如下,将user设备的debug级别的日志输入到/var/log/today-debug中

logger -p user.debug "Debug Message Test"(发送一条debug级别的消息到user设备

  • -p user.debug:指定要发送的日志级别和设备。user.debug表示发送到user设备的debug级别。
  • "Debug Message Test":日志消息的内容。

rhcsa5(日志、维护准确时间)_第11张图片

(补充:

  1. 发送一条debug级别的消息到user设备:logger -p user.debug "Debug Message Test"
  2. 发送一条带有标记的消息:logger -t user "today is friday"
  3. 从文件中读取消息内容并发送:logger -f wtmp

rhcsa5(日志、维护准确时间)_第12张图片

永久存储系统日志

vim /etc/systemd/journald.conf

rhcsa5(日志、维护准确时间)_第13张图片

日志文件轮转

rhcsa5(日志、维护准确时间)_第14张图片

rhcsa5(日志、维护准确时间)_第15张图片

journalctl | grep -E 'Runtime|System journal'  (单引号里的|是or的意思,将匹配易失性(Runtime)日志存储和持久性(System)日志存储的当前大小限额

rhcsa5(日志、维护准确时间)_第16张图片

维护准确时间

rhcsa5(日志、维护准确时间)_第17张图片

如上NTP服务是active则时间同步是开启的,如果是开启的但时间是错误的话,重启一下服务就好。

但是可以发现在红帽8版本以后就没有这个ntpd服务了。

名字变为chronyd(同步时间服务器的一个功能

rhcsa5(日志、维护准确时间)_第18张图片

虚拟机校准时间需要ntp服务器,在这个教学环境中,classroom就是ntp server

可以为其他服务器指定ntp server

如图我修改时间

通过配置文件(/etc/chrony.conf)来为该机器配置时间同步服务器(classroom)

rhcsa5(日志、维护准确时间)_第19张图片

server 写明服务器的域名或ip (如下可看到其ip即为上图所写), iburst表示快速同步时间

上图一行会使chronyd服务使用classroom.example.comNTP时间源

(通过ip查找主机名)

rhcsa5(日志、维护准确时间)_第20张图片

保存退出后重启chroynd服务,后来查看即可发现为准确时间

列出时区名字

rhcsa5(日志、维护准确时间)_第21张图片

timedatectl set-timezone Africa/Brazzaville

rhcsa5(日志、维护准确时间)_第22张图片

timedatectl set-time 12:00:12
但如果NTP同步(自动调整时间)开启的话,得到关闭才可以设置

timedatectl set-ntp false(true为打开NTP同步)

rhcsa5(日志、维护准确时间)_第23张图片

tzselect命令识别正确的时区名称,一交互方式向用户提示关于系统位置的问题,然后输出正确时区的名称,的那不会对系统的时区进行任何设置

rhcsa5(日志、维护准确时间)_第24张图片

rhcsa5(日志、维护准确时间)_第25张图片

根据上面给出的最后时区建议进行设置

(补充:hwclock命令可以永久修改硬件的时间)

查看硬件时间

修改硬件时间为当前系统时间

UTC时间:世界协调时间(UTC)是世界上不同国家用来调节时钟和时间的主要时间标准。

               :也就是零时区的时间

CST时间:中央标准时间
            Central Standard Time (USA) UT-6:00(美国cst时间:零区时减6个小时)

            China Standard Time UT+8:00(中国cst:加8个小时)

如:当UTC时间为0点时,中国CST时间为8点,因为零时区和中国北京时区相差8个时区。

date是查看系统当前时间

你可能感兴趣的:(linux,红帽)