linux 企业级日志管理及优化方式
实验环境
要求:需要2台可以通信的主机,如果自己没法ping通,请参考虚拟机的网络配置先进行设置。
以我的电脑为例:
- xixi: 172.25.254.33
- workstation: 172.25.254.22
journald
-
服务名称:systemd-journald.service
给我们的日志采集提供了一个程序-- journalctl,只是用来采集日志的,而不是用来产生日志的
-
默认日志存放路径: /run/log
在这个joutnal中,有我们的系统ID,可由bootctl进行查看,与Machine ID 一致
注意:每次重启之后,都会清空日志
一. journalctl命令的用法
日志分析命令: journalctl
命令 | 作用 |
---|---|
-n 3 | 日志的最新3条 |
–since “2020-04-28 17:20” | 显示17:20后的日志 |
–until “2020-04-28 17:25” | 显示日志到17:25 |
-o | 设定日志的显示方式 |
-p | 显示指定级别的日志 |
-F PRIORITY | 查看可控日志级别 |
-u | 指定查看服务 |
–disk-usage | 查看日志大小 |
–vacuum-size=1G | 设定日志存放大小 |
–vacumm-time=1W | 日志在系统中最长存放时间 |
-f | 监控日志 |
-o与-p的用法会在下面详细介绍
练习:
-
-n 3 日志的最新3条
-
since+until
-
-F PRIORITY查看可控日志级别
-
查看指定服务
-
查看详细信息
systemctl status ssh 后重启sshd,此时PID会从5574变成6522
想要查看5574的详细日志,使用journalctl _PID=5574 _SYSTEMD_UNIT=sshd.service
将条件添加在journalctl后
-
临时设置日志存放大小,与永久设置
--vacuum-size=1G ##设定日志存放大小
--vacumm-time=1W ##日志在系统中最长存放时间
以上两种都是临时设定,想要永久设定则需要修改配置文件
永久设置:vim /etc/systemd/journalctl.conf
如下
#SystemMaxUse= 日志的最大容量
#SystemMaxFileSize= 单个文件的最大容量
#RuntimeMaxUse= 能在内存的最大容量
#RuntimeMaxFileSize= 能在内存的单个文件的最大容量
-o 设定日志的显示方式
-o后可跟参数 | 作用 |
---|---|
short | 经典模式显示日志 |
verbose | 显示日志的全部字节 |