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

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. python网络编程——实现简单聊天

    通过socket建立简单的聊天工具 server.py import socket import threading import time s = socket.socket(socket.AF_I ...

  2. 深入理解JVM(一)虚拟机内存

    一 .前言 JVM是什么,我想诸位肯定都清楚. 好吧,我还是简答说一下JVM即Java虚拟机(够简单吧 233333). 虽然说,所有抛开操作系统,讲虚拟机的内容,都是耍流氓.但是,贫僧不修善果,就爱 ...

  3. 使用nodejs-koa2-mysql-sequelize-jwt 实现项目api接口

    nodejs-koa2-mysql-sequelize-jwt 技术栈:nodejs, koa2, mysql, sequelize, jwt 项目数据层和操作层分明 使用koa2框架中间件,参数处理 ...

  4. Spring cloud stream【入门介绍】

    案例代码:https://github.com/q279583842q/springcloud-e-book   在实际开发过程中,服务与服务之间通信经常会使用到消息中间件,而以往使用了哪个中间件比如 ...

  5. tkinter + cefpython 仿美团桌面程序

    使用js开发桌面程序目前是一个趋势,Electron是其中一个佼佼者,网上也不乏很多文章.今天主要是来讲一下cefpython. 用python的朋友,特别使用过tkinter开发过界面的,一定会觉得 ...

  6. ZooKeeper学习之路(一)—— ZooKeeper简介及核心概念

    一.Zookeeper简介 Zookeeper是一个开源的分布式协调服务,目前由Apache进行维护.Zookeeper可以用于实现分布式系统中常见的发布/订阅.负载均衡.命令服务.分布式协调/通知. ...

  7. 获取Spring中的Bean

    1.Utils工具类 package com.xxx.common.helper; import org.springframework.beans.BeansException; import or ...

  8. 【设计模式】结构型01代理模式(Proxy Pattern)

    代理模式(Proxy Pattern) 定义:顾名思义,增加中间层,为其他对象提供一种代理以控制对这个对象的访问.核心在于代理二字. 1.和适配器模式的区别:适配器模式主要改变所考虑对象的接口,而代理 ...

  9. java写出PDF

    1\包 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</ar ...

  10. Go - Slice 切片

    概述 切片是一种动态数组,比数组操作灵活,长度不是固定的,可以进行追加和删除. len() 和 cap() 返回结果可相同和不同. 声明切片 //demo_7.go package main impo ...