跳至主要內容

系统日志

Sankgao约 694 字大约 2 分钟ComputerLinux

Linux 系统日志级别

rsyslog 服务程序中,日志根据重要程度被分为了九个等级,这样我们不必被海啸般的输出内容淹没,可以直接看最重要的内容。

日志等级说明介绍
emerg系统出现严重故障,内核崩溃等情况
alert应立即修复的故障,数据库损坏等情况
crit危险较高的故障,硬盘损坏导致程序运行失败的情况
err一般危险的故障,某个服务启动或运行失败的情况
warning警告信息,某个服务参数或功能错误的情况
notice一般无危险的故障,只是需要处理的情况
info通用性消息,给用户提升一些有用信息
debug调试程序所产生的信息
none没有优先级,不做日志记录

Linux 常见的日志文件保存路径

从理论上讲,日志文件分为三种类型:

  • 系统日志:主要记录系统的运行情况和内核信息
  • 用户日志:主要记录用户的访问信息,包含用户名、终端名称、时间、来源和执行过的操作等信息
  • 程序日志:主要记录着服务运行过程中各种事件的信息,每个服务程序自己有独立的日志文件,但是格式相差的比较大,一般稍微大一些的服务都会保存一份与其同名的日志文件
文件路径作用
/var/log/boot.log系统开机自检事件及引导过程等信息
/var/log/lastlog用户登录成功时间、终端名称及 IP 地址等信息
/var/log/btmp记录登录失败的时间、终端名称及 IP 地址等信息
/var/log/messages系统及各个服务的运行和报错信息
/var/log/secure系统安全相关的信息
/var/log/wtmp系统启动与关机等相关信息

journalctl

journalctl 用于检索个管理系统日志信息,可以根据事件、类型、服务名等信息进行信息检索,大大的提高了日常排错的效率。语法格式:journalctl [参数]

参数作用
-k内核日志
-b启动日志
-u指定服务
-n指定条数
-p指定日志等级类型
-f实时刷新(追踪日志)
--since指定时间
--disk-usage占用空间

example:

journalctl --since today  # 仅查询今日的日志信息
journalctl --since "-1 hour"  # 仅查询最近一小时的日志信息
journalctl --since "8:00" --until "10:00"  # 仅查询从上午 8 点整到 10 点整的日志信息
journalctl --since "2022-08-01" --until "2022-09-01"  # 仅查询从 2022 年 8 月 1 日到 2022 年 9 月 1 日的日志信息