深入Linux日志管理:事半功倍的故障排除

本文详细介绍了Linux系统中的两个关键日志管理工具:journald(systemd-journald)及其journalctl命令,以及rsyslog的日志配置、采集、同步和时间管理。重点讲解了日志路径、级别控制和持久化设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.journald

1.1 日志相关信息

  1. 服务名称
systemd-journald.service
  1. 存放日志路径
/run/log

1.2 journalctl命令的用法

1.1.1 查看部分条目

-n 3 			#日志的最新3条
--since "2020-05-01 11:00:00" 	#显示11:00后的日志
--until "2020-05-01 11:05:00" 	#显示日志到11:05

在这里插入图片描述

1.1.2 日志显示方式

-o 				#设定日志的显示方式
	short		#经典模式显示日志
	verbose 	#显示日志的全部字节
	export 		#export 适合传出和备份的二进制格式
	json 		#js格式显示输出

在这里插入图片描述

1.1.3 日志包含信息级别

-p				#显示制定级别的日志
	emerg 		#0系统的严重问题日志
	alert 		#1系统中立即要更改的信息
	crit 		#2严重级别会导致系统软件不能正常工作
	err 		#3程序报错
	warning 	#4程序警告
	notice 		#5重要信息的普通日志
	info 		#6普通信息
	debug 		#7程序拍错信息

在这里插入图片描述

1.1.4 其他

-F PRIORITY 	#查看某列日志信息
-u sshd 		#指定查看服务
-f 				#监控日志
journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service

在这里插入图片描述
在这里插入图片描述

1.1.5 日志回滚

--disk-usage 	#查看日志大小
--vacuum-size=1G #设定日志存放大小
--vacuum-time=1w #日志在系统中最长存放时间

在这里插入图片描述

1.3 日志永久存放

1.3.1 服务重启后日志会被删除

/run/log/journal # 临时日志存放路径

1.3.2 日志永久记录

mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service

此后使用journalctl命令就可以看到本次重启之前的日志信息

2.rsyslog

2.1 日志相关信息

  1. 服务名称
rsyslog.service
  1. 日志配置文件
/etc/rsyslog.conf
  1. 日志存放信息
/var/log/messages #系统服务日志,常规信息,服务报错
/var/log/secure #系统认证信息日志
/var/log/maillog #系统邮件日志信息
/var/log/cron #系统定时任务信息
/var/log/boot.log #系统启动日志信息

2.2 自定义日志采集路径

  1. 日志存放路径
*.* /var/log/westos ##把系统中所有级别的日志存放到westos中
*.*;authpriv.none /var/log/westos ##把系统中所有级别的日志存放到westos中
##但是authpriv不存放到westos中
  1. 日志类型
auth #用户认证
authpriv #服务认证
cron #时间任务
kern #内核类型
mail #邮件
news #系统更新信息
user #用户
  1. 日志级别
debug #程序排错信息
info #程序常规运行信息
notice #重要信息的普通日志
waring #程序警告
err #程序报错
crit #严重级别会导致系统软件不能正常工作
alert #系统中立即要更改的信息
emerg #系统的严重问题日志
none #不采集

在这里插入图片描述
在这里插入图片描述

2.3 日志远程同步

@ 表示使用udp传输日志
@@ 表示使用tcp传输日志

需要注意的是一定要看清楚接收方和发生方是不是使用同一种方式(UDP/TCP)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.4 日志采集格式

template方式
可以使用man 5 rsyslog.conf查看

$template NF, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
WESTOS_FORMAT: 格式名称
%FROMHOST-IP%: 日志来源主机IP
%timegenerated%: 日志生成时间
%syslogtag%: 日志生成服务
%msg%: 日志内容
\n: 换行

在这里插入图片描述
在这里插入图片描述

2.5 时间管理

timedatectl set-time "2020-02-13 10:41:55" #设定系统时间
timedatectl list-timezones 		#显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai" #设定系统时区
timedatectl set-local-rtc 0|1 #设定系统时间计算方式(硬件)
#0表示使用utc时间计算方式

在这里插入图片描述

2.6 日志时间同步

2.6.1时间同步相关信息

  1. 服名称
chronyd.service
  1. 配置文件
/etc/chrony.conf

2.6.1时间同步相关信息

  1. 时间同步服务器
allow 172.25.254.0/24 #允许172.25.254.0网段主机同步时间
local stratum 10  #开启时间同步服务器功能并设定级别为10

在这里插入图片描述
在这里插入图片描述

  1. 客户机
pool 172.25.254.100 iburst # 同步该主机时间

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值