初学linux系统代码,linux初学者-系统日志(二)(示例代码)

先前在(一)中介绍到在不同主机间日志同步的方法,在一台主机上可以看到另一台主机的日志。这里会介绍系统日志方面的一些其他内容。

1、日志的采集格式

在日志的采集中,由图可以看出,这样的排列或者显示方式会增加分析区分的难度,尤其是在进行日志同步时,所以在日志的采集中有时需要用到一些明显的采集格式。

66b546311b52ddb10fe14511d9d9bb95.png

日志采集格式是在"/etc/chrony.conf"中编辑的,如果是改变日志同步的采集格式,就需要在日志的接收方配置。编辑格式如下图所示,编辑的文本必须在所有采集存放地址信息的最前面,否则不生效。

6cbce7d6cd9a8e5434b4cf9365de9dd7.png

上图显示编辑的文本中,"WE"为格式名称,可以自行编写。"%timegenerated%"是显示日志时间。"%FROMHOST-IP%"是显示主机ip。"%syslogtag%"是日志记录目标。"%msg%"是日志内容。"\n"是换行符。排列顺序和格式内容可以根据自己意愿自行编辑。

编辑结束后,在要需要修改格式的目录名后输入";WE",保存退出后输入"systemctl restart rsyslog.service"重启服务生效。

05ed1d39612a35f1253dbd3b552c1c47.png

另外,如果需要所有的采集目录均生效,则将下图中"$ActionfileDefaultTemplate"后的部分改为"WE"。

0a982c9c74045a46297854a617847d84.png

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"重启服务。

e8e1d3910892e18b72781e7c957dcfb8.png

73b2cc3d87f08dc1135ef9312e0b628d.png

客户端的同步步骤:输入"vim /etc/chrony.conf",如图所示,删除4-6行的"server",将第3行的"server 0.rhel.pool.ntp.org iburst"改为"server 客户端ip  iburst"。保存退出后重启服务。

e75cbbcb8e1bfa3ed04333d3f2dc3e96.png

测试是否同步时在客户端输入命令"chronyc sources -v",双横线后出现下图"^*172.24.254.202..."则代表时间同步成功。

2c81ce60cbb33c49f030441c07c1f32e.png

3、时间信息

如下图所示,输入"timedatectl"或者"timedatectl status"可以查看当前的时间信息,如时间,时区,是否同步时间等。

f2a33a03a525eacdad967266e5e0cd15.png

"timedatectl set-time"命令可以设定当前时间,如图,设置时间格式为"2017-1-1 12:30:30"。

8dc47833055166d7ec7a3dad71751a9a.png

"timedatectl set-timezone"可以设定当地时区,时区可以通过"timedatectl list-timezones"查看,如下图所示,将当前时区设为"Asia/Shanghai"。

891f2aa9a1902690132bcae1f8263928.png

1af6d7b57247a0f9263fffd5eea1e7b5.png

"timedatectl set-local-rtc 0|1"可以设定是否使用utc时间,如下图。

2649a1fd275ec7b3792421ce3a9c4dd7.png

cb03c21c2886bd5c5f65acb8ea348faf.png

4、日志分析工具

4.1、journal

日志分析的工具为"journal",直接输入"journal"可以直接如图所示查看日志。

0cd15abe73aa6f0e9416fbac6427b603.png

加入参数"-n"可以显示最新的几条日志,如查看最新的5条日志需要输入命令"journal -n 5"。

8d2713b77c1a5d3238150f61ccbe695e.png

加入参数"-p err"可以显示报错日志信息。如下图。

15166f08e1ea5802d1baaf3523559b9f.png

加入参数"-f",可以监控日志。

9b4125b5d4b0a26e0124eae4f51dd2fc.png

如果需要查看一定时间之后的日志,则需要加入参数"--since"。如输入“journal --since "2017-7-26 14:50:00"”可以查看这个时间点之后的日志信息。

fb5b2b22afb9d7f1dee22f79ec550f82.png

同理,如需要查看一定时间之前的日志,参数为"--until"。如下图所示。也可以将"--since"和"--until"结合起来使用,查看一段时间之内的日志。

d5d2d495d72b89a3d0673d5bdf7da9ca.png

参数"-o verbose"可以显示日志能够使用的详细进程参数。

d5b198e76debef7f3bfe0d417b281ab7.png

4.2、journal管理

如下面的对比图可以看出,journal工具会忽略系统重启前的日志信息,所以在系统重启后,看不到之前的日志信息。

9c1a87cd70664bfd5633623192c11b0a.png

e8ea1cff68d4af8534cf9442a6582e96.png

如果需要保留系统重启前的日志信息,则需要做下图操作。

5a863fed91befd1b8f2e61bf184b4b3a.png

在做完以上操作之后,用"ls"命令可以发现出现了"system.journal"文件,用"file"命令可以看出,该文件为数据。然后在重启之后,系统就不会再自动忽略重启前的日志了。

139addeb929dcc003be34230d5ac6ace.png

值得注意的是,进行上述操作之后,系统只会保留在"system.journal"文件生成之后的日志,在做以上操作之前的日志无法保留下来。如图所示,如果删除建立的"journal"目录,会导致"journalctl"查看不到日志,重启后该目录会重新出现,但是日志不会出现。

bef9a480d987d238cbb2a0832ddedc94.png

日志管理(一)和之前的日志管理(二)简要介绍了在linux系统下日志管理的一些知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值