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

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、时间信息

如下图所示,输入"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初学者-系统日志(二)的更多相关文章

  1. linux初学者-系统日志(一)

    linux初学者-系统日志(一) 系统日志可以记录系统的运行状态,如果运行故障,会说明错误的位置.所以对系统日志的了解和学习是非常有必要的. 1.系统日志的默认分类 系统日志会默认记录在以下地址中,不 ...

  2. Linux初学者必知的5个学习网站

    分享几个Linux初学者一定要知道的5个学习网站 工具/原料 有一颗学习Linux的心 电脑 方法/步骤 1 推荐一:鸟哥的Linux私房菜(http://vbird.dic.ksu.edu.tw/) ...

  3. ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘

    本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...

  4. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  5. 针对于linux初学者的学习(摘自网络端)

    一. 选择适合自己的Linux发行版谈到linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的,linux正在变得越来越流行, 面对这么多的Linux 发行版,打算从其他 ...

  6. Linux设备管理(二)_从cdev_add说起

    我在Linux字符设备驱动框架一文中已经简单的介绍了字符设备驱动的基本的编程框架,这里我们来探讨一下Linux内核(以4.8.5内核为例)是怎么管理字符设备的,即当我们获得了设备号,分配了cdev结构 ...

  7. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  8. C语言细节——献给初学者(二)

    C语言细节——献给初学者(二) 主题  循环运用+选择判断 C语言循环有for和while/do...while: 选择判断有:if...else和switch...case 在循环中需要注意搭配br ...

  9. 整理Linux查看系统日志的一些经常使用命令

    整理Linux查看系统日志的一些经常使用命令 last -a 把从何处登入系统的主机名称或ip地址,显示在最后一行. -d 指定记录文件.指定记录文件.将IP地址转换成主机名称. -f <记录文 ...

随机推荐

  1. Spring中如何获取request的方法汇总及其线程安全性分析

    前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性.下面话不多说了,来一起看看详细的介绍吧. 概述 在使用Spring MVC开发Web系统 ...

  2. 30443数据查询语言DQL

    5.4 SQL的数据查询功能 数据查询是数据库最常用的功能.在关系数据库中,查询操作是由SELECT语句来完成.其语法格式如下: SELECT column_expression FROM table ...

  3. 查看linux系统时间和时区

    参考地址:http://lidao.blog.51cto.com/ 一.使用date命令查看系统时间 [root@benbang ~]# date -R Tue, 01 Aug 2017 15:43: ...

  4. Electron构建一个文件浏览器应用(一)

    在window.mac.linux系统中,他们都有一个共同之处就是以文件夹的形式来组织文件的.并且都有各自的组织方式,以及都有如何查询和显示哪些文件给用户的方法.那么从现在开始我们来学习下如何使用El ...

  5. 在 Angular 2 Component 中使用第三方 JS 库

    本文所有内容以 Angular 2 Quick Start 项目为基础,使用 TypeScript 语言. 如上图,最近遇到一个需求,需要在一个刚启动的 Angular 2 项目中使用 snap.sv ...

  6. 交叉编译多平台 FFmpeg 库并提取视频帧

    原文地址: 交叉编译多平台 FFmpeg 库并提取视频帧 交叉编译多平台 FFmpeg 库并提取视频帧 本文档适用于 x86 平台编译 armeabi.armeabi-v7a.arm64-v8a.x8 ...

  7. HDU 2298:Toxophily(推公式)

    http://acm.hdu.edu.cn/showproblem.php?pid=2298 题意:给出一个x,y,v,问从(0,0)以v为初速度射箭,能否射到(x,y)这个点,如果能,输出最小的射出 ...

  8. ZOJ 3963:Heap Partition(贪心+set+并查集)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3963 题意:给出一个n个数的序列,可以在其中找一个子序列建堆,并且堆中的父 ...

  9. TCP中的粘包问题,以及用TCP和UDP实现多次聊天

    TCP协议 在连接内多和客户端说几句 #server端 import socket sk = socket.socket() sk.bind(('127.0.0.1',9001)) sk.listen ...

  10. C# “从元数据”

    所谓元数据.其实是指由微软所封装的类..这些类你可以查看.但是无法修改. 元数据是一种二进制信息,用以对存储在公共语言运行库可移植可执行文件 (PE) 文件或存储在内存中的程序进行描述.将您的代码编译 ...