linux初学者-系统日志(二)
2017-07-30 12:29
204 查看
先前在(一)中介绍到在不同主机间日志同步的方法,在一台主机上可以看到另一台主机的日志。这里会介绍系统日志方面的一些其他内容。
1、日志的采集格式
在日志的采集中,由图可以看出,这样的排列或者显示方式会增加分析区分的难度,尤其是在进行日志同步时,所以在日志的采集中有时需要用到一些明显的采集格式。
![](https://img-blog.csdn.net/20170730151437277?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
日志采集格式是在"/etc/chrony.conf"中编辑的,如果是改变日志同步的采集格式,就需要在日志的接收方配置。编辑格式如下图所示,编辑的文本必须在所有采集存放地址信息的最前面,否则不生效。
![](https://img-blog.csdn.net/20170730131457126?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上图显示编辑的文本中,"WE"为格式名称,可以自行编写。"%timegenerated%"是显示日志时间。"%FROMHOST-IP%"是显示主机ip。"%syslogtag%"是日志记录目标。"%msg%"是日志内容。"\n"是换行符。排列顺序和格式内容可以根据自己意愿自行编辑。
编辑结束后,在要需要修改格式的目录名后输入";WE",保存退出后输入"systemctl restart rsyslog.service"重启服务生效。
![](https://img-blog.csdn.net/20170730131622273?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
另外,如果需要所有的采集目录均生效,则将下图中"$ActionfileDefaultTemplate"后的部分改为"WE"。
![](https://img-blog.csdn.net/20170730143157975?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
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"重启服务。
![](https://img-blog.csdn.net/20170730135111312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170730135202373?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
客户端的同步步骤:输入"vim /etc/chrony.conf",如图所示,删除4-6行的"server",将第3行的"server 0.rhel.pool.ntp.org iburst"改为"server 客户端ip iburst"。保存退出后重启服务。
![](https://img-blog.csdn.net/20170730135259605?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
测试是否同步时在客户端输入命令"chronyc sources -v",双横线后出现下图"^*172.24.254.202..."则代表时间同步成功。
![](https://img-blog.csdn.net/20170730135322147?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3、时间信息
如下图
4000
所示,输入"timedatectl"或者"timedatectl status"可以查看当前的时间信息,如时间,时区,是否同步时间等。
![](https://img-blog.csdn.net/20170730135341852?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
"timedatectl set-time"命令可以设定当前时间,如图,设置时间格式为"2017-1-1 12:30:30"。
![](https://img-blog.csdn.net/20170730131227623?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
"timedatectl set-timezone"可以设定当地时区,时区可以通过"timedatectl list-timezones"查看,如下图所示,将当前时区设为"Asia/Shanghai"。
![](https://img-blog.csdn.net/20170730131301096?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170730131318675?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
"timedatectl set-local-rtc 0|1"可以设定是否使用utc时间,如下图。
![](https://img-blog.csdn.net/20170730135359696?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170730135415312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4、日志分析工具
4.1、journal
日志分析的工具为"journal",直接输入"journal"可以直接如图所示查看日志。
![](https://img-blog.csdn.net/20170730135524726?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
加入参数"-n"可以显示最新的几条日志,如查看最新的5条日志需要输入命令"journal -n 5"。
![](https://img-blog.csdn.net/20170730135551236?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
加入参数"-p err"可以显示报错日志信息。如下图。
![](https://img-blog.csdn.net/20170730135607355?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
加入参数"-f",可以监控日志。
![](https://img-blog.csdn.net/20170730135627794?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如果需要查看一定时间之后的日志,则需要加入参数"--since"。如输入“journal --since "2017-7-26 14:50:00"”可以查看这个时间点之后的日志信息。
![](https://img-blog.csdn.net/20170730142528568?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
同理,如需要查看一定时间之前的日志,参数为"--until"。如下图所示。也可以将"--since"和"--until"结合起来使用,查看一段时间之内的日志。
![](https://img-blog.csdn.net/20170730142605642?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
参数"-o verbose"可以显示日志能够使用的详细进程参数。
![](https://img-blog.csdn.net/20170730142625956?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4.2、journal管理
如下面的对比图可以看出,journal工具会忽略系统重启前的日志信息,所以在系统重启后,看不到之前的日志信息。
![](https://img-blog.csdn.net/20170730142946646?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170730143006441?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如果需要保留系统重启前的日志信息,则需要做下图操作。
![](https://img-blog.csdn.net/20170730142754314?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在做完以上操作之后,用"ls"命令可以发现出现了"system.journal"文件,用"file"命令可以看出,该文件为数据。然后在重启之后,系统就不会再自动忽略重启前的日志了。
![](https://img-blog.csdn.net/20170730142819517?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
值得注意的是,进行上述操作之后,系统只会保留在"system.journal"文件生成之后的日志,在做以上操作之前的日志无法保留下来。如图所示,如果删除建立的"journal"目录,会导致"journalctl"查看不到日志,重启后该目录会重新出现,但是日志不会出现。
![](https://img-blog.csdn.net/20170730142902881?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNzX2Fzc2luYXRvcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
日志管理(一)和之前的日志管理(二)简要介绍了在linux系统下日志管理的一些知识。
1、日志的采集格式
在日志的采集中,由图可以看出,这样的排列或者显示方式会增加分析区分的难度,尤其是在进行日志同步时,所以在日志的采集中有时需要用到一些明显的采集格式。
日志采集格式是在"/etc/chrony.conf"中编辑的,如果是改变日志同步的采集格式,就需要在日志的接收方配置。编辑格式如下图所示,编辑的文本必须在所有采集存放地址信息的最前面,否则不生效。
上图显示编辑的文本中,"WE"为格式名称,可以自行编写。"%timegenerated%"是显示日志时间。"%FROMHOST-IP%"是显示主机ip。"%syslogtag%"是日志记录目标。"%msg%"是日志内容。"\n"是换行符。排列顺序和格式内容可以根据自己意愿自行编辑。
编辑结束后,在要需要修改格式的目录名后输入";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、时间信息
如下图
4000
所示,输入"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系统下日志管理的一些知识。
相关文章推荐
- linux初学者-系统日志(一)
- linux系统日志说明
- Linux系统的LOG日志文件及入侵后日志的清除
- [置顶] 在Linux系统,无处不是文件,awk用来查日志简直神器
- Linux日志系统syslog
- linux日志系统syslog
- Linux系统日志的介绍
- Linux系统的日志
- 如何查看linux的系统log日志
- 解剖Linux系统的LOG日志文件
- 企业日志分析之linux系统history收集展示
- LINUX日志系统之日志文件的管理
- 查看linux系统的日志命令
- Linux系统用logrotate切割Tomcat日志的方法
- [如何控制Log 1]分别在Linux和Android中用C语言写系统日志
- linux系统实时打印tomcat运行日志
- Linux系统日志解析7---备忘录
- Linux系统日志
- Linux学习第三十四篇:rsync通过服务同步,Linux系统日志,screen工具
- Linux下清除系统日志方法