操作系统日志管理
Posted "sudo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统日志管理相关的知识,希望对你有一定的参考价值。
文章目录
系统日志文件
常见的日志文件
文件路径 | 包含内容 |
---|---|
/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 | 内核产生的信息 |
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
以上是关于操作系统日志管理的主要内容,如果未能解决你的问题,请参考以下文章
日志管理之 Docker logs - 每天5分钟玩转 Docker 容器技术(87)
Linux 内核SMP 对称多处理器结构 ( SMP 对称多处理器结构概念 | SMP 对称多处理器结构的优势与缺陷 | Linux 内核兼容多处理器要求 )