日志管理及优化

一、journald

企业中,对日志进行管理是非常重要的,一般系统出现的问题都体现在日志中。日志是由程序本身产生的,journald是RHEL7以后出现的日志采集工具,它将程序产生的日志放在磁盘中可供查看
服务名称:systemd-journald.service
日志默认的存放路径:/run/log
日志的查看工具:journalctl
示例1:用journalctl查看日志
在这里插入图片描述在这里插入图片描述示例2:用journalctl查看日志最新三行
在这里插入图片描述示例3:重启sshd服务后用journalctl查看日志最新三行
在这里插入图片描述示例4:指定日志起始查看时间journalctl --since,例如系统当前时间为19:48,可以查看从19:47开始系统中产生的日志
在这里插入图片描述示例4:指定日志终止查看时间journalctl --until,例如系统当前时间为19:52,查看从19:47开始到19:48结束系统中产生的日志
在这里插入图片描述示例5:用经典模式显示日志journalctl -o short,经典模式即为默认模式,与用journalctl查看日志时显示的结果相同
在这里插入图片描述
在这里插入图片描述示例6:显示日志的全部字节,全部信息journalctl -o verbose
在这里插入图片描述在这里插入图片描述示例7:显示适合传出和备份的二进制格式journalctl -o export
在这里插入图片描述在这里插入图片描述示例8:显示js格式journalctl -o json
在这里插入图片描述在这里插入图片描述示例9:显示指定级别的日志journalctl -p 参数
日志的级别可以分为8类,按照从高到低的顺序列在下表中

0 emerg 内核崩溃
1 alert 需要立即修改
2 crit 严重级别,阻止整个系统不能正常工作的信息
3 err 错误级别,阻止某个功能或某个模块不能正常工作
4 warning 警告级别
5 notice 重要信息的普通日志
6 info 一般信息
7 debug 程序排错信息

例如:显示警告级别的信息journalctl -p warning
在这里插入图片描述
在这里插入图片描述示例10:查看可控日志级别journalctl -F PRIORITY,显示2-7可以查看
在这里插入图片描述
示例11:journalctl -p 数字,查看指定级别的日志
在这里插入图片描述示例12:journalctl -u,查看指定服务日志
例如:查看sshd服务的日志
在这里插入图片描述示例13:journalctl --disk-usage,查看日志大小
在这里插入图片描述
设置日志的存放大小journalctl --vacuum-size=1G设置为1G,这个命令可以在设置内存占满后将最早的日志清空,完成日志的回滚设置,防止系统磁盘被填满
设置日志在系统中的最长存放时间journalctl --vacuum-time=1W
示例14:journalctl -f,对日志进行监控
在一个shell中建立监控命令
在这里插入图片描述
在这里插入图片描述在另一个shell中重启sshd服务
在这里插入图片描述
在这里插入图片描述示例14:journalctl -u sshd查看指定服务sshd的日志时会显示很多的sshd服务日志,当想要查看当前或者某一个指定sshd服务的日志时可以在journalctl -o verbose中查找指定日志的id进行查看
在这里插入图片描述在这里插入图片描述在这里插入图片描述示例15:可以通过指定ip指定服务的方式查看指定日志
在这里插入图片描述示例16:在journald中默认日志的存放位置为/run/log,所以用工具journalctl查看日志时,只记录从当前系统开启后的日志
在这里插入图片描述在这里插入图片描述示例17:当需要永久保存日志时,需要更改系统日志的存放路径
建立目录/var/log/journal,并且更改目录的所有组以及目录权限,重启服务
在这里插入图片描述查看服务目前的状态
在这里插入图片描述重启系统后用journalctl查看之前的日志是否被保存下来,结果显示,重启系统后,之前的日志保存下来了
在这里插入图片描述

二、rsyslog

服务名称:rsyslog.service
配置文件:/etc/rsyslog.conf
日志存放路径是分类保存的,常见的路径以及存放日志类型如下表

/var/log/messages 记录大多数系统的日志信息
/var/log/secure 安全和身份认证的消息
/var/log/maillog 与邮件服务相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/boot.log 与系统启动有关的日志信息

rsyslog和journal方式不同,这种日志采集方式不提供日志采集工具,而是直接通过更改配置文件来设置采集方式
实验一、自定义日志采集路径
在这里插入图片描述将系统中所有类型,所有级别的日志都存放在/var/log/wang中
在这里插入图片描述将系统中所有级别所有类型的文件除了authpriv类型都存放在/var/log/dan中
在这里插入图片描述将/var/log/messages中的内容清空,更改配置文件后重启服务,查看/var/log/wang中是否保存了系统日志
在这里插入图片描述
在rsyslog中,常见的日志类型分为

auth pam产生的日志
authpriv ssh,ftp等登录信息产生的日志
cron 时间任务相关
kern 内核
mail 邮件
news 新闻组
user 用户程序产生的相关信息

常见的日志级别和journald中很类似

debug 调试信息,日志信息
info 一般信息的日志,做常用
notice 重要的普通信息
warning 警告级别
err 错误级别,阻止某个功能或模块不能正常工作
crit 严重级别,阻止整个系统不能正常工作
alert 需要立即修改
emerg 内核崩溃等
none 什么都不记录

实验二、更改日志的采集格式
仍然需要在配置文件中更改常见的格式定义有

%timegenerated% 显示日志时间
%FROMHOST-IP% 显示主机ip
%syslogtag% 日志记录目标
%msg% 日志内容
\n 换行

更改配置文件内容如下
定义日志格式WANG为30行所示
在这里插入图片描述在日志存存放路径/var/log/messages后加上;WANG表示存放在此处的日志信息按照WANG的格式采集
在这里插入图片描述默认情况下日志格式如下
在这里插入图片描述更改后日志格式如下
在这里插入图片描述

三、远程同步日志

在企业管理过程中,需要查看不同主机上产生的日志,单独每个主机的查看非常不方便,所以需要将多台远程主机的日志同步到一台主机上再进行查看
此次实验需要两台能够通信的主机。我们将rhel7设置为日志接收端,将rhel8设置为日志发送端

接收端:这个功能的实现首先需要关闭接收端的防火墙,然后在配置文件中进行相应的操作
在日志接收端
在这里插入图片描述打开日志同步接受插件并且指定插件使用的接口为514
在这里插入图片描述重启服务并查看插件接口是否打开
在这里插入图片描述
发送端:同样需要更改配置文件
在这里插入图片描述在接收端和发送端都清空/var/log/messages文件
在这里插入图片描述在这里插入图片描述在发送端:用日志测试工具logger产生测试日志
在这里插入图片描述在接收端查看日志是否同步
在这里插入图片描述

四、timedatectl

在这里插入图片描述示例1:更改当地时间timedatectl set-time 时间
在这里插入图片描述示例2:列出系统中所有的时区
在这里插入图片描述
在这里插入图片描述示例3:更改系统的时区
在这里插入图片描述示例3:设置系统时间的计算方式
设定系统计算方式为UTC方式
在这里插入图片描述在这里插入图片描述设定系统时间计算方式为普通方式
在这里插入图片描述在这里插入图片描述

五、时间同步服务

服务名称:chronyd.service
配置文件:/etc/chrony.conf
在实现这个功能时,我们也需要两台能够通信的主机,令rhel7作为时间源,rhel8去同步7的时间
在rhel7中关闭火墙,在配置文件中做如下更改:开启时间同步服务器功能并设定级别为10
在这里插入图片描述在rhel8中更改配置文件如下
在这里插入图片描述在这里插入图片描述结果显示时间已经同步到rhel7中
在这里插入图片描述

发布了28 篇原创文章 · 获赞 0 · 访问量 774

猜你喜欢

转载自blog.csdn.net/weixin_43834060/article/details/104292831