系统日志管理
1、设置日志的显示格式
(1)、日志的格式
| 标识 | 含义 |
|---|---|
| %timegenerated% | 显示日志的时间 |
| %FROMHOST-IP% | 显示主机IP |
| %syslogtag% | 日志记录目标 |
| %msg% | 日志内容 |
| /n | 换行 |
(2)、设置日志的格式
执行 vim /etc/rsyslog.conf
修改下面这些功能
$template HANHAN,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
将HANHAN类型加载在"authpriv.* /var/log/secure"之后,则这种r日志的显示类型就变成了我们设置的HANHAN类型。
重新启动rsyslog服务 systemctl restart rsyslog.service
测试:使用查看命令 cat /var/log/secure 查看生成日志的格式
##修改系统默认的日志格式##
执行 vim /etc/rsyslog.conf
修改 ActionFileDefaultTemplate HANHAN ##将系统默认的日志采集格式改为设定的HANHAN格式##
重新启动rsyslog服务 systemctl restart rsyslog.service
测试:使用查看命令 cat /var/log/messages 查看生成日志的格式
查看生成的日志信息
2、系统的时间服务
(1)、时间标识的含义
| 标识 | 含义 |
|---|---|
| Local time | 本地时间 |
| Universal time | UTC时间也即格林尼治时间 |
| Timezone | 时区 |
| NTP synchronized | 网络时间同步 |
(2)、timedatectl命令
timedatectl status ##显示当前时间信息##
timedatectl status = timedatectl命令,都是显示系统当前时间信息
timedatectl set-time ##设定当前时间##
timedatectl set-timezone ##设定当前时区##
timedatectl set-local-rtc 0|1 ##设定是否使用utc时间##
timedatectl list-timezone ##查看支持的所有时区##
timedatectl set-ntp true|false ##设定ntp时间同步##
注意:如果ntp时间同步为true时,无法修改时间设定
(3)、设置两台主机的时间同步
1)、服务端:
执行 vim /etc/chrony.conf
开启下面功能
allow 172.25.254.0/24 ##允许这些网段的主机来同步当前主机的时间##
local stratum 10 ##当前主机不同步任何主机的时间,当前主机作为时间源##
systemctl restart chronyd.service ##重启chrony服务##
systemctl stop firewalld ##关闭防火墙##
2)、客户端:
执行 vim /etc/chrony.conf
开启下面功能
server 172.25.254.220 iburst
##当前主机立刻同步IP为 172.25.254.1220的主机的时间##
systemctl restart chronyd.service ##重启chrony服务##
测试:
在客户端:执行 chronyc sources -v
或者分别在客户端和服务端使用timedatectl来查看两台主机时间是否相同
(4)、直接查看日志的命令 journalctl (只能查看内存中的日志)
journalctl -n ##查看最新的10条日志##
journalctl -n 3 ##查看最新的3条日志##
journalctl -p err ##查看错误日志##
journalctl -o verbose ##查看日志的详细参数##
journalctl --since 22:30 ##查看从22:30到当前的日志##
journalctl --until 22:30 ##查看截至22:30的日志##
注意:rsyslog命令是将日志采集到硬盘中会保存,而journalctl命令是直接从内存查看日志,如果使用reboot命令重启后,再使用journalctl命令,将查不到之前的日志
(5)、如何使用systemd-journald保存系统日志
执行
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald
ls /var/log/journal;bootctl ##查看/var/log/journal 下的信息与主板信息一致##
date ##查看当前时间##
reboot ##重启虚拟机##
journal ##查看当前日志,是否有date之前的日志信息##