Linux中的日志管理

  • 1 journal 日志管理
  • 1.1 journal 命令的用法
  • 1.2 日志的显示方式
  • 1.3 永久保存日志服务
  • 2 rsyslog
  • 2.1 日志存放路径
  • 2.2 日志的类型和级别
  • 2.3 日志的采集格式
  • 2.3.1 定义日志采集格式
  • 2.3.2 设置日志采集格式应用
  • 2.4 日志的远程同步
  • 3 timedatectl
  • 3.1 系统时间管理
  • 3.2 时间同步服务


1 journal 日志管理

实验前的准备

(1)关闭防火墙

(2)开启systemd-journald.service

(3)默认存放路径:/run/log

linux system 日志保留时间 linux日志默认保存多久_配置文件

1.1 journal 命令的用法

命令

功能

journalctl

查看系统日志

journalctl -n 4

查看最新的4条日志

journalctl --since “ 2020-11-1 20:28”

显示日期之后的日志

journalctl --nutil “2020-11-1 20:29”

显示日期之间的日志

journalctl --since “2020-11-1 20:28” --until “2020-11-1 20:29”

显示日期之间的日志

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_02

linux system 日志保留时间 linux日志默认保存多久_系统时间_03


linux system 日志保留时间 linux日志默认保存多久_重启_04


linux system 日志保留时间 linux日志默认保存多久_重启_05

linux system 日志保留时间 linux日志默认保存多久_配置文件_06

1.2 日志的显示方式

命令

功能

journalctl -o short

经典模式

journalctl -o verbose

显示日志的全部字节

journalctl -o export

适合输出和备份二进制模式

journalctl -o json

js格式输出的日志

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_07

linux system 日志保留时间 linux日志默认保存多久_系统时间_08

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_09

linux system 日志保留时间 linux日志默认保存多久_系统时间_10

  • journalctl -p :显示指定级别的日志

命令

功能

journalctl -p emerg(0)

系统的严重问题日志

journalctl -p alert(1)

系统中立即要修改的日志

journalctl -p crit(2)

严重级别可能影响软件工作

journalctl -p err(3)

程序报错

journalctl -p warning(4)

程序警告

journalctl -p notice(5)

重要信息的普通日志

journalctl -p info(6)

普通信息

journalctl -p debug(7)

程序排错信息

  • journalctl -F PRIORITY:查看系统日志的可控级别

linux system 日志保留时间 linux日志默认保存多久_系统时间_11

  • journalctl -u sshd:查看指定服务的日志

linux system 日志保留时间 linux日志默认保存多久_重启_12

  • journalctl --disk-usage :查看日志的容量
  • journalctl --vacuum-size =1G:设置日志存放大小
  • journalctl --vacuum-time =1W:设置日志存放时间为一周
  • journalctl -f:监控日志

linux system 日志保留时间 linux日志默认保存多久_系统时间_13

1.3 永久保存日志服务

系统中存放日志的默认位置:/var/log/journal 系统重启后日志默认会被清理

  • 永久保存日志的步骤

重启前查看系统中的日志文件,用作实验的对照

linux system 日志保留时间 linux日志默认保存多久_配置文件_14


(1)新建目录存放日志文件

(2)修改目录的所有组为systemd-journal

(3)修改目录的权限

linux system 日志保留时间 linux日志默认保存多久_系统时间_15


(4)重启日志服务

重启后日志默认的存放位置:/run/log/journal中的日志文件被清空,重启后日志文件保存在/var/log/journal目录中

linux system 日志保留时间 linux日志默认保存多久_重启_16

2 rsyslog

ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,rsyslog被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。

  • 服务名称:rsyslog.service
  • 配置文件:/etc/rsyslog.conf

2.1 日志存放路径

/var/log/messages

系统服务日志,常规信息,服务报错

/var/log/secure

系统认证信息日志

/var/log/maillog

系统邮件日志信息

/var/log/cron

系统定时任务信息

/var/log/boot.log

系统启动日志信息

2.2 日志的类型和级别

日志类型.日志级别

日志的存放路径

功能

* . *

/var/log/westos

将所有类型所有级别的日志存放到该文件中

* . * ;authpriv.none

/var/log/westos

除了authpriv类型的日志,将所有类型所有级别的日志存放到该文件中

  • 编辑rsyslog的配置文件rsyslog.conf:

linux system 日志保留时间 linux日志默认保存多久_系统时间_17


linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_18

  • 日志的类型

日志的类型

含义

auth

用户认证

authpriv

服务认证

cron

时间任务

kern

内核类型

mail

邮件类型

news

系统更新信息

user

用户

  • 日志的级别

日志级别

含义

debug

程序排错信息

info

系统常规运行信息

notice

重要信息的普通日志

waring

程序警告

err

程序报错

crit

可能会导致系统软件不能正常工作的日志

alert

系统重要立即更改的信息

emerg

系统的严重问题日志

none

不采集

linux system 日志保留时间 linux日志默认保存多久_重启_19

linux system 日志保留时间 linux日志默认保存多久_配置文件_20

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_21

linux system 日志保留时间 linux日志默认保存多久_系统时间_22

linux system 日志保留时间 linux日志默认保存多久_配置文件_23

2.3 日志的采集格式

2.3.1 定义日志采集格式

WESTOS——FORMAT ##格式名称
%FROMHOST-IP% ##日志来源主机IP
%timegenerated% ##日志生成时间
%syslogtag%  ##日志生成服务
%msg%   ##日志内容
\n ##换行

2.3.2 设置日志采集格式应用

  • 在/etc/log/rsyslog.conf中设置日志采集格式
  • /var/log/message中的日志以WESTOS中设置的日志格式显示

linux system 日志保留时间 linux日志默认保存多久_配置文件_24

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_25

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_26


linux system 日志保留时间 linux日志默认保存多久_配置文件_27

  • 系统中的日志默认以WESTOS中设置的日志格式显示

linux system 日志保留时间 linux日志默认保存多久_系统时间_28


linux system 日志保留时间 linux日志默认保存多久_重启_29

2.4 日志的远程同步

实验前的准备:
westos 172.25.254.44:存放日志的接受方
west 172.25.254.144:发送日志到westos主机

(1)在westos主机中设定接收所有人的日志

  • 关闭防火墙:systemctl stop firewalld
  • 编辑rsyslog的配置文件rsyslog.conf
  • 重启rsyslog服务
  • 查询端口是否打开

linux system 日志保留时间 linux日志默认保存多久_重启_30


westos主机中编辑配置文件rsyslog.conf

linux system 日志保留时间 linux日志默认保存多久_重启_31

(2)west中设定将日志发送到westos主机

westos主机中rsyslog的编辑配置文件rsyslog.conf

@ ##表示使用UDP传输日志
@@ ##表示使用TCP传输日志

将所有类型所有级别的日志通过UDP发送到172.25.254.44主机

linux system 日志保留时间 linux日志默认保存多久_配置文件_32

  • 重启rsyslog服务
  • 清空 /var/log/messages中的日志信息
  • logger 生成日志
  • 查看/var/log/messages中的日志信息

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_33

(3)测试

  • 清空 /var/log/messages中的日志信息
  • logger 生成日志
  • 在westos中查看west中生成的日志,查看/var/log/messages中的日志信息

linux system 日志保留时间 linux日志默认保存多久_系统时间_34

3 timedatectl

timedatectl是用来查询和修改袭系统时间和配置的Linux应用程序。它是systemd 系统服务管理的一部分,并且允许检查和修改系统时钟的配置

3.1 系统时间管理

  • 查看当前系统时间配置:timedatectl

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_35

  • 设定系统时间:timedatectl set-time "2020-11-01 11:11:11"

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_36

  • 显示系统的所有时区:timedatectl list-timezones

linux system 日志保留时间 linux日志默认保存多久_配置文件_37

  • 设定系统时区: timedatectl set-timezone "Africa/Freetown"

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_38

  • 设定系统时间计算方式:timedatectl set-local-rtc 0/1, 0表示使用utc时间的计算方式,1表示本地时间

linux system 日志保留时间 linux日志默认保存多久_系统时间_39

3.2 时间同步服务

(1)提供同步时间的主机:rhel 172.25.254.14

  • 编辑chronyd服务的配置文件:vim /etc/chrony.conf

linux system 日志保留时间 linux日志默认保存多久_配置文件_40

  • 重启chronyd服务:systemctl restart chronyd
  • 关闭防火墙:systemctl stop firewalld

linux system 日志保留时间 linux日志默认保存多久_配置文件_41


(2)需要同步时间的主机:westos 172.25.254.44

  • 编辑chronyd服务的配置文件: vim /etc/chrony.conf

linux system 日志保留时间 linux日志默认保存多久_linux system 日志保留时间_42

  • 重启chronyd服务:systemctl restart chronyd.service
  • 查看时间同步效果: chronyc sources -v

linux system 日志保留时间 linux日志默认保存多久_配置文件_43