Linux系统的日志管理及时间管理

实验环境

两台可以通信的主机
主机A:192.168.1.19
主机B:192.168.1.29

1. journald

1.1 journalctl概述

  • 服务名称:为systemd-journald.service
  • 服务提供一种改进的日志管理服务,可以收集来自内核、启动过程、标准输出、系统日志及守护进程启动和运行期间错误的消息,它将这些消息写入到一个结构化事件日志。
  • 默认存放日志路径:/run/log ; 系统重启后会清空日志

1.2 查看系统日志

查看系统日志的命令为 journalctl
journalctl命令的用法:

参数 作用
journalctl 日志分析命令
journalctl -n 5 查看最近生成的5条日
journalctl --since 查看从某个时间生成的日志
journalctl --util 查看日志到某个时间
journalctl -o verbose 查看日志能够使用的条件参数
jounalctl -o short 经典模式显示日志
journalctl -o export 适合传出和备份的二进制格式
journalctl -o json js格式显示输出
journalctl -p 显示指定级别日志
journalctl -p emerg 系统的严重问题日志
journalctl -p alert 系统中立即要更改的日志
journalctl -p crit 严重级别会导致系统软件不能正常工作
journalctl -p err 程序报错
journalctl -p warning 程序警告
journalctl -p notice 重要信息的普通日志
journalctl -p info 普通信息
journalctl -p debug 程序排错信息
journalctl -F PRIORITY 查看可控日志级别
journalctl -u 服务名称 查看指定服务
journalctl --disk -usage 查看日志大小
journalctl --vacuum -size=1G 设定日志存放大小
journalctl -f 监控日志

journalctl的指定参数信息查看日志

  • _UID= //进程uid
  • _PID= //进程id
  • _GID= //进程gid
  • _HOSTNAME= //进程所在主机
  • _SYSTEMD_UNIT= //服务名称
  • _COMM= //命令名称

示例:
示例①:查看sshd服务的日志
在这里插入图片描述
示例②:查看从“2020-02-14 05:10”开始,系统生成的日志
在这里插入图片描述
示例③:查看进程号为3431的系统日志
在这里插入图片描述
示例④:查看程序出错的日志
在这里插入图片描述

1.3 用journald服务永久存放日志

1.建立日志存放目录: /var/log/journal
在这里插入图片描述
2.修改journal目录的所有组为systemd-journal;修改权限为2774
在这里插入图片描述
3.重启systemd-journal服务
在这里插入图片描述

2. rsyslog

2.1 rsyslog概述

  • rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。

  • 服务名称:rsyslog.service

  • 配置文件:/etc/rsyslog.conf

  • 日志的存放:永久存放日志

    日志文件 解释
    /var/log/messages 系统服务日志,常规信息,大多数日志信息
    /var/log/secure 安全和身份认证相关日志文件
    /var/log/maillog 与邮件服务器相关的日志文件
    /var/log/corn 与定时任务相关的日志文件
    /var/log/boot.log 系统启动日志信息
  • 以读取文件内容的方式直接查看系统日志:cat /var/log/messages

2.2 自定义日志采集路径和采集格式

2.2.1 配置文件的相关内容

通过修改配置文件,来设定日志的采集路径或是采集格式,修改后要重启rsyslog服务生效。
在这里插入图片描述
在这里插入图片描述

日志类型 解释
auth 用户认证
authpriv 服务认证
cron 时间任务
kern 内核类型
mail 邮件
news 系统更新信息
user 用户
日志级别 解释
emerg 系统的严重问题日志
alert 系统中立即要更改的日志
crit 严重级别会导致系统软件不能正常工作
err 程序报错
arning 程序警告
notice 重要信息的普通日志
info 普通信息
debug 程序排错信息
none 什么都不记录

2.2.2 自定义日志采集路径

方法:在配置文件的45行以后添加采集路径的规则
在这里插入图片描述
第一个【星号】所在的字段表示日志类型,第二个【星号】所在字段表示日志级别,用【.】隔开,后面为采集路径
示例①:将系统的所有日志存放在/var/log/linux文件中
在这里插入图片描述
示例②:把系统中所有日志存放到linux文件中,除了mail
在这里插入图片描述

2.2.3 自定义日志采集格式

格式 名称
%FROMHOST-IP% 日志来源主机
%timegenerated% 日志生成时间
%syslogtag% 日志生成服务
%msg% 日志内容
\n 换行

1.在配置文件中编写一个名为WESTOS的模板,采集格式为“日志来源主机IP,生成时间,服务,内容”
在这里插入图片描述
2.对指定文件用编写的模板采集日志,如:让linux文件以WESTOS格式采集日志
在这里插入图片描述
3. 重启rsyslog服务,查看linux日志文件,格式生效
在这里插入图片描述在这里插入图片描述
4.若是想要所有文件都采用WESTOS格式,可将默认模板名改为WESTOS
在这里插入图片描述

2.3 日志的远程同步

实验目的:
主机A 192.168.1.19:发送日志到主机B
主机B 192.168.1.29:日志接收端
1.在主机A中修改配置文件,设定发送日志到主机B,重启服务
在这里插入图片描述
在这里插入图片描述
@:udp传输
@@:tcp传输
在这里插入图片描述
2.在主机B修改配置文件,设定接收所有人的日志
在这里插入图片描述
3.查看到主机B的514端口已打开,关闭火墙;此时,日志同步设定已完成
在这里插入图片描述

4.为了观察实验效果,两台主机分别清空日志文件,在主机A上执行logger linux 测试命令,在主机B上可以查看到同步的日志
在这里插入图片描述
在这里插入图片描述

3. 时间管理

timedatectl命令用来管理系统的时间
在这里插入图片描述

命令 作用
timedatectl set-time +【具体的时间】 设定系统时间
timedatectl list-timezones 显示所有时区
timedatectl set-timezone+【时区】 设定系统时区
timedatectl set-local-rtc 0/1 设定系统时间计算方式;0表示硬件采用utc计算时间方式,1表示让硬件采用本地时间

示例:
1.设定系统时间
在这里插入图片描述
2.设定系统时区
在这里插入图片描述

4. 时间同步服务

  • 服务名称: chronyd.service
  • 配置文件: /etc/chrony.conf

实验目的:

主机A:192.168.1.19 作为时间源
主机B:192.168.1.29 同步主机A的时间

实验过程:

1.在主机A中修改配置文件,允许192.168.1.0网段的主机同步时间,并开启时间服务,设定级别为10
在这里插入图片描述
在这里插入图片描述
2.在主机A中重启chrony服务,关闭火墙
在这里插入图片描述
3.在主机B中修改配置文件,同步主机A的时间,重启chronyd服务
在这里插入图片描述

4.在主机B查看时间,已变为主机A的时间
在这里插入图片描述
在这里插入图片描述

5.主机B使用chronyc sources -v 命令查看同步效果
在这里插入图片描述

发布了11 篇原创文章 · 获赞 20 · 访问量 7882

猜你喜欢

转载自blog.csdn.net/qq_42006358/article/details/104301659