【操作系统】日志管理

系统日志文件

常见的日志文件

文件路径 包含内容
/var/log/auth.log 授权方面
/var/log/boot.log 开机启动时,系统内核监测与启动硬件并启动内核支持的过程
/var/log/syslog 记录几乎所有的错误信息
/var/log/Xorg 记录 X Windows启动时产生的日志信息

rsyslog 服务描述

rsyslogd:一个系统自带的进行日志管理的程序。它定义了日志的格式、日志信息的分类,例如:关于什么方面的内容被放在 /var/log 的哪个文本中。

rsyslog.service:记录日志文件的服务。加入systemd控制。
rsyslog配置文件:什么服务保存到什么位置 /etc/rsyslog.conf

rpm -qc rsyslog

rsyslog日志类别

rsyslog服务种类 内容
kern 内核产生的信息
mail
daemon 主要是系统的服务所产生的信息
auth 主要是与 认证/授权有关的机制,如login ssh sudo等需要输入密码的操作
authpriv 与auth类似,记录较多 账号的私人信息
lpr 与打印机有关的信息
corn 与计划任务有关的信息
ftp 与FTP通讯协议有关的信息输出

日志信息等级

信息等级 关键字 内容
7 debug 用来除错时产生的信息
6 info 一些基本的信息说明
5 notice 正常信息,比info等级高,需要被注意到
4 warning 警示信息,可能出现了某些问题,但不至于影响到某个服务
3 err 一些重大的错误信息,比如导致某些服务无法启动的信息说明
2 crit 比err还要严重
1 alert 很有问题的等级,可能会导致系统的崩溃
0 emerg 疼痛等级,系统已经到了几乎要宕机的状态。通常硬件出了问题导致核心无法运转才会出现这个等级的信息

rsyslog符号解释

符号 解释
. 表示比后面还要严重的等级,例如:mail.info
.= 表示索要记录的等级就是后面接的等级
.! 表示除了后面接的等级信息以外的其他都要被记录
* 表示所有级别或所有服务

*.notice /var/log/kylinlog表示:讲所有服务产生的高于notice等级的信息全部输出到 /var/log/kyinlog 中。

日志文件轮询

logrotate:也称日志轮询

产生原因:日志数量大,磁盘有限,只保留最新、最近的日志文件。

1 - logrotate 基于 cron 来运行,其脚本是 /etc/cron.daily/logrotate 
2 - 日志轮询是系统自动完成的
3 - 实际运行时,logrotate会调用配置文件 /etc/logrotate.conf

logrotate

1 - 主配置文件:/etc/logrotate.conf
		切割周期
		最多保留几次轮询结果
		创建新文件,轮询之后的用户、组、权限
		轮询后的文件后缀以日期格式显示
		引用辅助文件(夹)
2 - 辅助文件(其实是个文件夹):/etc/logrotate.d/

systemd-journald

日志管理工具

1 - 由systemd守护进程提供的一种改进的日志管理服务;
2 - 仅限于本次开机启动的日志文件,记录在内存中;
3 - 记录:内核

systemd-journald.service

systemctl start/stop/restart/status systemd-journald.service

保存在 /run/log/journal

journalctl 查看

#journalctl:查看所有的内核、应用日志
-r	#反向输出日志信息
-f	#实时监测日志内容
--since	--until	#查看某个时间段的日志  2020-08-09 00:00:00
-p	#后面接等级号,如 -p 3
-u	#后面接服务名称
-k	#查看内核日志
_PID=pid	#只查看此pid有关信息
--disk-usage	#磁盘占用空间

#设置
journal --vacuum-size=500M #日志占用空间
journal --vacuum-time=1 month	#日志保存时间

syslog日志分析

syslog常见服务

1 - systemd:
	Linux内核发起的第一个程序,PID=1;
	系统启动时内核一旦完成硬件的检测和驱动,就会执行/usr/lib/systemd/systemd ;
	systemd 这个程序会依次唤醒其他的程序;
	
2 - CRON
	计划任务
	可以根据配置文件 /etc/crontab 设置好的时间来完成计划的任务
	执行完计划任务,会记录在syslog中
	
3 - rtkit-daemon
	RealtimeKit是将用户进程/线程的调度策略 更改为 SCHED_RR时间片轮转,实现CPU的实时调度模式;
	被用作一种安全机制,允许正常的用户进程使用实时调度,合理分配CPU资源
	
4 - dbus-daemon
	一个后台服务,作为D-bus的消息中转枢纽,相当于 路由器,负责消息的转发

5 - systemd-resolved
	网络名字解析服务
	相当于 DNS
	
6 - anacron
	用于处理非24小时运行的 Linux系统所执行的 crontab ;
	以及 因为某些原因 导致的超过时间而没有执行的任务

7 - udisked
	磁盘管理器的守护进程

8 - sendmail
	邮件服务器

dmesg报错查看

一般记录硬件信息

dmesg - 字段含义

-T	#时间戳以人类易读的方式输出;
-x	#显示 日志等级
-s	#设置缓冲区大小
-c	#显示信息后,清除dmesg的内容
设备名称 含义
i915 显卡驱动
bluetooth 蓝牙
iwlwifi 无线网卡
smpboot 对称多处理器
nouveau NVIDIA 3D显卡驱动
input 输入设备
SCSI 小型计算机系统接口
r8169 有线网卡驱动
pnp 即插即用设备
NFS 网络文件系统
GVFS GNOME桌面系统的虚拟文件系统
D-bus 数据总线
IPC$ 空连接
perf Linux自带性能分析工具
dmesg -T | grep input

Guess you like

Origin blog.csdn.net/Sanayeah/article/details/126961797