文章目录
九、Linux系统中日志管理
9.1 日志管理-journald
9.1.1 journald 基本介绍
- 服务名称:systemd-journald.service
- 默认日志存放路径:/run/log/
9.1.2 journal 基本命令
- journalctl
命令 | 效果 |
---|---|
journalctl | 查看全部日志信息 |
journalctl -n 3 | 查看最新三条日志信息 |
journalctl - -since"XXXX-XX-XX XX:XX"【时间】 | 显示XX时间后 的日志 |
journalctl - -until “XXXX-XX-XX XX:XX”【时间】 | 显示到XX时间的日志 |
journalctl -o short | 经典模式显示日志 |
journalctl -o verbose | 显示日志的全部字节 |
journalctl -o export | 日志显示为适合传出和备份的二进制格式 |
journalctl -p emerg/0 | 显示系统严重问题日志 |
journalctl -p alert/1 | 显示系统中需要立即更改的信息的日志 |
journalctl -p crit/2 | 显示严重级别会导致系统软件不能正常工作的日志 |
journalctl -p err/3 | 显示程序报错的日志 |
journalctl -p warning/4 | 显示程序警告的日志 |
journalctl -p notice/5 | 显示重要信息的普通日志 |
journalctl -p info/6 | 显示普通日志信息 |
journalctl -p debug/7 | 显示排错的日志信息 |
journalctl -F PRIORITY | 查看可控日志级别 |
journalctl - - disk-usage | 查看日志大小 |
journalctl - -vacumm-size=1G | 设置日志的存放大小为1G |
journalctl - -vacumm-time=1W | 设置日志在系统的最长存放时间 |
journalctl -f | 监控日志 |
journalctl _PID=xxxx _SYSTEMD_UNIT=xxx.service | 查看pid为XXX的XXX服务日志 |
- 例子1:显示程序警告的日志
[root@rhel8 Desktop]$ journalctl -p warning#
[root@rhel8 Desktop]$ journalctl -p 4
- 例子2 查看sshd服务的日志
[root@rhel8 Desktop]$ journalctl _PID=11380 _SYSTEMD_UNIT=sshd.service
9.1.3journald服务永久存放文件
- 系统默认的日志文件放在/run/log/journal/中,在重启时日志原始日志将会被清理
- 永久日志存放方法
[root@rhel8 Desktop]$ mkdir /var/log/journnal #新建存放日志目录
[root@rhel8 Desktop]$ chgrp systemd-journal /var/log/journal # 更改目录属性
[root@rhel8 Desktop]$ chmod 2775 /var/log/journal #更改文件组属性
[root@rhel8 Desktop]$ systemctl restart systemd-jounald.service # 重启服务
[root@rhel8 Desktop]$ reboot #重启系统
当我们新建完成目录后可以看到路径已经发生变化,观察最后的日志时间重启
旧的日志被保存
9.2 日志管理-rsyslog
9.2.1 rsyslog-基本介绍
- 服务名称:rsyslog.service、
- 配置文件 /etc/rsyslog.conf
- 默认日志存放路径:
路径 | 含义 |
---|---|
/var/log/messages | 系统服务日志,常规信息,服务报错 |
/var/log/secure | 系统认证信息日志 |
/var/log/maillog | 系统邮件日志信息 |
/var/log/cron | 系统定时任务信息 |
/var/log/boot.log | 系统启动日志信息 |
9.2.2 rsyslog-自定义采集路径
- 进入配置文件
[root@rhel8 Desktop]$ vim /etc/rsyslog.conf
- 配置信息表示
日志类型 . 日志级别 日志存放路径
- 日志类型
类型 | 含义 |
---|---|
auth | 用户认证 |
authpriv | 服务认证 |
cron | 时间任务 |
kern | 内核类型 |
邮件 | |
news | 系统更新信息 |
user | 用户 |
- 日志级别
级别 | 总称 | 含义 |
---|---|---|
0 | emerg | 系统严重问题日志 |
1 | alert | 系统中需要立即更改的信息的日志 |
2 | crit | 严重级别会导致系统软件不能正常工作的日志 |
3 | err | 程序报错的日志 |
4 | warning | 程序警告的日志 |
5 | notice | 重要信息的普通日志 |
6 | info | 普通日志信息 |
7 | debug | 排错的日志信息 |
- 把系统中所有级别的日志都存放在file1 中
(修改配置文件)修改完必须重启服务才可以配置成功
- 把系统中所有级别的日志都放在file1 中但是除了mail类型的日志【none】
9.2.3 rsyslog-更改日志采集格式
(1)定义格式
代码 | 效果 |
---|---|
ADD | 格式名称 |
%FROMHOST-IP% | 日志来源主机IP |
%timegenerated% | 日志生成时间 |
%syslogtag% | 日志生成服务 |
%msg% | 日志内容 |
\n | 换行 |
(2)操作
- 进入配置文件
[root@rhel8 Desktop]$ vim /etc/rsyslog.conf
加入格式并在要看的日志类型结尾处加上格式名
- 重启服务
[root@rhel8 Desktop]$ systemctl restart rsyslog.service
- 结果
9.2.4 rsyslog-远程日志同步
(1)实验环境
rhel 7 192.168.0.108
rhel 8 192.168.0.109
(2)要从rhel8中看到rhel7中的日志
- 在rhel8中设置
- 进入配置文件并修改
[root@rhel8 Desktop]$ vim /etc/rsyslog.conf
可以用UDP也可以用TCP【本文使用UDP】
ModLoad imudp #打开日志接受插件
UDPServerRun 514 #指定插件使用接口
保存后重启服务关闭防火墙
- 在rhel7 中开始配置文件
- 打开配置文件开始修改
[root@rhel7 Desktop]$ vim /etc/rsyslog.conf
加上8的IP地址
@ | 便是使用UDP传输日志 |
---|---|
@@ | 表示使用TCP传输日志 |
保存后重启服务,输入测试信息
结果
在rhel8中查看日志信息
[root@rhel8 Desktop]$ cat /var/log/message
可以查看到7的日志信息
9.3 时间&日期服务-timedatectl
代码 | 效果 |
---|---|
timedatectl set-time “xxxx-xx-xx xx:xx:xx” | 设定系统时间 |
timedatectl list-timezones | 显示系统的所有时区 |
timedatectl set-timezone “Asia/Shanghai” | 设定系统时区 |
timedatectl set-local-rtc 0/1 | 设定系统时间计算方式 【0表示使用utc时间计算】 |
- 例子
查看
修改时间
修改时区
修改系统计算方式
9.4 时间同步服务
服务名称: chronyd.service
配置文件: /etc/chrony.conf
(1)实验环境:
rhel 7 192.168.0.108
rhel 8 192.168.0.109
(2)将8的时间同步给7
- 在rhel8 中
- 打开配置文件并修改
[root@rhel8 Desktop]$ vim /etc/chrony.conf
改两处
重启服务关防火墙
[root@rhel8 Desktop]$ systemctl restart chronyd
[root@rhel8 Desktop]$ systemctl stop firewalld
- 在rhel7中
- 打开配置文件并修改
[root@rhel8 Desktop]$ vim /etc/chrony.conf
把上图改为下图
重启服务关闭防火墙,并且查看时间效果
完成以上操作时间同步完成