RHEL8之系统日志管理
实验环境 win10 VMware 15.1 虚拟机: rhel7:192.168.16.102 rhel8 :192.168.16.1001 系统日志了解系统日志对运维工作是很重要的,这些日志可用于系统审核和问题的故障排除,日志是由系统中各个程序产生的,而在rhel8中日志的采集是由journald和rsyslog来管理,journald是rhel8中新增的管理系统日志的服务,rsyslog..
实验环境 win10 VMware 15.1 虚拟机: rhel7:192.168.16.102 rhel8 :192.168.16.100
1 系统日志
了解系统日志对运维工作是很重要的,这些日志可用于系统审核和问题的故障排除,日志是由系统中各个程序产生的,而在rhel8中日志的采集是由journald和rsyslog来管理,journald是rhel8中新增的管理系统日志的服务,rsyslog是rhel7包括之前的版本中系统日志的管理服务,进程和操作系统内核需要能够为发生的事件记录日志,一般这些日志永久存储 /var/log 目录中
2 journald
默认情况下journal记录的系统日志存放在/run/log/journald/下
journalctl
(1) 直接输入journalctl查看日志
journalctl
(2)
journalctl -n 3 #查看最新的3条日志
(3)
journalctl --since "2020-02-14 14:00" #查看2020年2月14 14:00之后系统日志
journalctl --until "2020-02-14 11:48" #查看2020年2月14 11:48之前系统日志
显示14:00之后的日志
显示11:48之前的日志
显示14:00到14:30之间的日志
(4)
journalctl -o
# short 经典模式显示日志
# verbose 显示日志的全部字节
# export 适合传出和备份的二进制格式
# json js格式显示输出
可以看到加不加-o short 和上面输出一样 说明默认short输出
-o verbose 详细显示
-o export 按二进制显示 适合传输和备份
-o json 按js格式输出
(5) -p 按级别显示日志
序号 | 命令 | 含义 |
---|---|---|
0 | emerg | 系统的严重问题日志 |
1 | alert | 系统中立即要更改的信息 |
2 | crit | 严重级别会导致系统软件不能正常工作 |
3 | err | 程序报错 |
4 | warning | 程序警告 |
5 | notice | 重要信息的普通日志 |
6 | info | 普通信息 |
7 | debug | 程序拍错信息 |
warning级别日志
notice级别日志
info级别日志
debug级别日志
(6) -F PRIORITY 查看可控日志级别
(7) -u sshd指定查看服务
(8)- -disk-usage查看日志存放空间大小
(9)- - vacuum-size=1G 设定日志存放大小
(10)- - vacuum-time=1W 日志在系统中最长存放时间
(11)journalctl -f 监控日志
(12)
journal配置
journald服务的配置文件在/etc/systemd/journald.conf
中文手册
通过 man 5 journald.conf 来查看配置选项
系统中的默认日志在:/run/log/journal中,默认方式在系统重启后日志会被清理
可以看到重启后10:14的日志消失了,要永久保存日志
1 新建/var/log/journal目录
2 将目录所有组改为systemd-journal
3重启journald
此时重启系统查看日志
之前的日志还在!
3 rsyslog
rsyslog.service 与journald不同的是 rsyslog将日志存放在分类好的目录中
目录 | 存放文件 |
---|---|
/var/log/messages | 系统服务日志,常规信息,服务报错 |
/var/log/secure | 系统认证信息日志 |
/var/log/maillog | 系统邮件日志信息 |
/var/log/cron | 系统定时任务信息 |
/var/log/boot.log | 系统启动日志信息 |
实验1 :更改配置文件自定义日志存放路径
常用日志类型有:
auth | 用户认证 |
---|---|
authpriv | 服务认证 |
cron | 时间认证 |
kern | 内核类型 |
邮件 | |
news | 系统更新信息 |
uesr | 用户 |
日志级别有
序号 | 命令 | 含义 |
---|---|---|
0 | emerg | 系统的严重问题日志 |
1 | alert | 系统中立即要更改的信息 |
2 | crit | 严重级别会导致系统软件不能正常工作 |
3 | err | 程序报错 |
4 | warning | 程序警告 |
5 | notice | 重要信息的普通日志 |
6 | info | 普通信息 |
7 | debug | 程序拍错信息 |
在 RULES下添加
此时/var/log/haha 也保存了 日志
实验二 更改日志保存格式
在之前的日志中没有 IP ,那么怎么加上IP这一项呢?
- 1 编辑 /etc/rsyslog.conf
- 2 添加模板 $template WESTOS, “%FROMHOST-IP% %timegenerated% %FROMHOST% %syslogtag% %msg%\n”
- 3使用模板
- 4清空/var/log/haha 重启rsyslog服务
实验三 日志的远程同步
实验环境 接收日志主机 rhel8-vm1 发送主机 rhel8-vm2 rhel7-vm1
在多系统维护中 常使用远程同步日志的方法 在一台主机上管理日志
要做到日志同步
- 1 打开配置文件 vim /etc/rsyslog.conf
15 $ModLoad imudp
16 $UDPServerRun 514
- 2 在发送端/etc/rsyslog.conf下把原来的目录换为 @192.168.16.100
@@192.168.16.100 是使用TCP协议 TCP相交UDP慢 所以我们使用UDP
-3 在接收端重启rsyslog服务 并关闭防火墙 清空/var/log/haha
-4在发送端重启rsyslog服务
-5 在接收端查看日志
时间同步
在同步日志中 分析日志最重要的就是时间同步
timedatectl 设定系统时间
之前装系统时设定了NTP服务器 现在停掉
(1) 使用timedatectl -set -time “设定时间”
(2) 使用timedatectl -listtimezones查看可用时区
(3) 使用timedate set-timezone "America/New_York"更改时区
(4)timedatectl set-local-rtc 0/1 设定系统时间计算方式,0表示使用utc时间计算方式,1是本地时间
UTC设置时间方式会更改系统硬件时间,双系统会导致时间错误
NTP服务的设定
在运维中 一个个改时间是不现实的 应该用一个主机将时间分享出去 其它主机通过同步获得准确时间
这个服务称为 NTP(Network Time Protocol)
- 实验环境
rhel8-vm1 提供时间 rhel8-vm2 rhel7-vm2 同步时间 - 1 在rhel8-vm1中编辑配置文件 vim /etc/chrony.conf
(2) 重启服务
(3)配置需要同步的主机
当前两台时间不正确的主机
提供时间主机
主机2
主机3
截图操作有时间误差
更多推荐
所有评论(0)