上篇博文中,我们讲到了日志的定向采集与日志同步。但是当日志采集与同步过来,显示的格式中可能没有我们想要看到的日志信息,例如这条日志是哪台主机ip同步过来的,日志的记录目标等等。所以,我们接下来介绍日志采集格式的设定。
日志采集格式的设定同样需要修改配置文件 /etc/rsyslog.conf,在配置文件中按照如下格式进行修改:
1.1 规定采集格式
$template WESTOS,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
格式名称 显示日志时间 显示主机ip 日志记录目标 内容 换行
*.* /var/log/westos;WESTOS 在指定日志中采用WESTOS格式,上图已经标示
1.3 查看日志采集格式
cat /var/log/westos 规定使用采集格式的文件
cat /var/log/messages 没有使用采集格式的文件
注:规定了采集格式的文件按照规定格式采集,没有规定格式的采集文件仍按照默认采集格式采集
示例1:
示例2:在发送方发送日志,在日志接收方可以清楚的看到修改后的采集格式
1.4 修改默认采集格式
$ActionFileDefaultTemplate WESTOS 修改系统默认日志采集格式为WESTOS
在没有时间同步服务前,从发送方发送过来的日志,到达接收方后日志的时间为接收方的时间,不能清楚的知道这条日志真正是什么时间产生,所以,需要作日志的时间同步设定。
客户端和客户端的时间同步服务都为chrony
2.1 服务端的修改
打开配置文件进行修改 vim /etc/chrony.conf
22 allow 172.25.254.0/24 允许哪些客户端来同步本机时间,172.25.254网段,子网掩码24
29 local stratum 10 本机不同步任何主机的时间,本机作为时间源
vim /etc/chrony.conf
server 172.25.254.92 iburst 本机立即同步92主机的时间
注:两端配置文件修改完之后都要systemctl restart chronyd
2.3 验证时间是否同步
在客户端测试之前查看防火墙的状态,需要关闭防火墙。然后进行测试:
chronyc sources -v 查看是否同步了主机的时间
时区都要设置成同一个时区,不同的时区存在时差。时区的设置接下来会讲到。
^ 代表同步的主机是个服务器
*代表已经同步了主机时间
3.1 查看时间
timedatectl =timedatectl status
timedatectl set-time "2019-04-15 20:00:00"
timedatectl list-timezones
timedatectl set-timezone "Asia/Shanghai" 可以设置为支持时区的任意一个时区
timedatectl set-local-rtc 1 设定时间计算方式为本地时间
timedatectl set-local-rtc 0 时间使用UTC计算
可以通过/etc/adjtime 文件设置时间计算方式
注:1. RTC:bios硬件时间;2.因为服务器分布在不同时区,需要统一时间,故存在utc计算方法
4.1 日志查看工具:journalctl
journalctl 可以对内存当中的日志直接查看
journalctl -n 3 查看最近三条日志
journalctl -p err 查看错误日志
journalctl -o verbose 查看日志的详细参数 , /关键字 查找关键字的详细信息 n向下匹配,N向上匹配
journalctl --since 查看从什么时间开始的日志
journalctl --until 查看到什么时间为止的日志
默认systemd-journald 是不保存系统日志到硬盘的,那么关机之后再次开机只能看到本次开机以后的日志,也就是说上次关机之前的日志是无法查看的。当我们想把当前时间以后的所有日志保存下来,并且关机之后再次开机,仍然能够查看设定设定时间之后的日志,需要如下操作:
在硬盘中创建区域保存journal日志 (操作完成以后的日志采集到硬盘中)
mkdir /var/log/journal 建立日志文件夹
chgrp systemd-journal /var/log/journal 改变日志的所有组
chmod g+s /var/log/journal 使该文件夹下的日志所有组为文件夹所有组
ls -ld /var/log/journal 查看文件夹权限
ps aux | grep journal
killall -1 /usr/lib/systemd/systemd-journald
date(查看当前时间) 会记录当前时间以后的日志
ls /var/log/journal/ 产生一个文件夹,名称为本机的机器id
ll /var/log/journal/本机的机器id/
注:bootctl 查看machine id
可以看到在22:17之前,进行了关机操作,日志中仍然可以看到关机之前的日志
#############End############################################