先前在(一)中介绍到在不同主机间日志同步的方法,在一台主机上可以看到另一台主机的日志。这里会介绍系统日志方面的一些其他内容。
1、日志的采集格式
在日志的采集中,由图可以看出,这样的排列或者显示方式会增加分析区分的难度,尤其是在进行日志同步时,所以在日志的采集中有时需要用到一些明显的采集格式。
日志采集格式是在"/etc/chrony.conf"中编辑的,如果是改变日志同步的采集格式,就需要在日志的接收方配置。编辑格式如下图所示,编辑的文本必须在所有采集存放地址信息的最前面,否则不生效。
上图显示编辑的文本中,"WE"为格式名称,可以自行编写。"%timegenerated%"是显示日志时间。"%FROMHOST-IP%"是显示主机ip。"%syslogtag%"是日志记录目标。"%msg%"是日志内容。" "是换行符。排列顺序和格式内容可以根据自己意愿自行编辑。
编辑结束后,在要需要修改格式的目录名后输入";WE",保存退出后输入"systemctl restart rsyslog.service"重启服务生效。
另外,如果需要所有的采集目录均生效,则将下图中"$ActionfileDefaultTemplate"后的部分改为"WE"。
2、时间同步
在日志同步的过程中,如果两台主机的时间不一致,则会出现日志查看和分析时的麻烦甚至错乱,所以还需要对两台主机进行时间同步。在时间同步中,服务端的时间不改变,客户端去同步服务端的时间。具体同步步骤如下。
在同步之前,如果没有安装时间同步服务,则先需要输入"yum install chrony -y"安装服务。同时输入"systemctl stop firewalld"关闭防火墙。
服务端的同步步骤:输入"vim /etc/chrony.conf",如图所示,用"#"注释掉3-6行的"server",删掉22行和28行的"#",并将22行的ip地址改为"0.0.0.0/0"。保存退出后输入"systemctl restart chronyd"重启服务。
客户端的同步步骤:输入"vim /etc/chrony.conf",如图所示,删除4-6行的"server",将第3行的"server 0.rhel.pool.ntp.org iburst"改为"server 客户端ip iburst"。保存退出后重启服务。
测试是否同步时在客户端输入命令"chronyc sources -v",双横线后出现下图"^*172.24.254.202..."则代表时间同步成功。
3、时间信息
如下图所示,输入"timedatectl"或者"timedatectl status"可以查看当前的时间信息,如时间,时区,是否同步时间等。
"timedatectl set-time"命令可以设定当前时间,如图,设置时间格式为"2017-1-1 12:30:30"。
"timedatectl set-timezone"可以设定当地时区,时区可以通过"timedatectl list-timezones"查看,如下图所示,将当前时区设为"Asia/Shanghai"。
"timedatectl set-local-rtc 0|1"可以设定是否使用utc时间,如下图。
4、日志分析工具
4.1、journal
日志分析的工具为"journal",直接输入"journal"可以直接如图所示查看日志。
加入参数"-n"可以显示最新的几条日志,如查看最新的5条日志需要输入命令"journal -n 5"。
加入参数"-p err"可以显示报错日志信息。如下图。
加入参数"-f",可以监控日志。
如果需要查看一定时间之后的日志,则需要加入参数"--since"。如输入“journal --since "2017-7-26 14:50:00"”可以查看这个时间点之后的日志信息。
同理,如需要查看一定时间之前的日志,参数为"--until"。如下图所示。也可以将"--since"和"--until"结合起来使用,查看一段时间之内的日志。
参数"-o verbose"可以显示日志能够使用的详细进程参数。
4.2、journal管理
如下面的对比图可以看出,journal工具会忽略系统重启前的日志信息,所以在系统重启后,看不到之前的日志信息。
如果需要保留系统重启前的日志信息,则需要做下图操作。
在做完以上操作之后,用"ls"命令可以发现出现了"system.journal"文件,用"file"命令可以看出,该文件为数据。然后在重启之后,系统就不会再自动忽略重启前的日志了。
值得注意的是,进行上述操作之后,系统只会保留在"system.journal"文件生成之后的日志,在做以上操作之前的日志无法保留下来。如图所示,如果删除建立的"journal"目录,会导致"journalctl"查看不到日志,重启后该目录会重新出现,但是日志不会出现。
日志管理(一)和之前的日志管理(二)简要介绍了在linux系统下日志管理的一些知识。