LinuxLinux中的日志查询方法

文章目录

    • linux日志与日志的查询方法
    • 更多journalctl用法
    • journalctl用法案例
    • 部分日志路径说明
    • 推荐阅读

linux日志与日志的查询方法

在Linux系统中,日志文件用于记录系统的各种运行信息和错误消息。常见的日志文件包括但不限于/var/log/下的各种日志,如message、secure、maillog、cron等。

对于采用Systemd作为初始化系统的Linux,除了传统的文本日志文件外,还提供了Journal存储机制,可以通过journalctl命令进行复杂且高效的查询操作:

journalctl [OPTIONS...] [MATCHES...] 
命令 说明
journalctl -x 查看日志
journalctl -xe 跳到尾部查看日志

更多journalctl用法

Options:

options description
–system Show the system journal
–user Show the user journal for the current user
-M --machine=CONTAINER Operate on local container
-S --since=DATE Show entries not older than the specified date
-U --until=DATE Show entries not newer than the specified date
-c --cursor=CURSOR Show entries starting at the specified cursor
–after-cursor=CURSOR Show entries after the specified cursor
–show-cursor Print the cursor after all the entries
–cursor-file=FILE Show entries after cursor in FILE and update FILE
-b --boot[=ID] Show current boot or the specified boot
–list-boots Show terse information about recorded boots
-k --dmesg Show kernel message log from the current boot
-u --unit=UNIT Show logs from the specified unit
–user-unit=UNIT Show logs from the specified user unit
-t --identifier=STRING Show entries with the specified syslog identifier
-p --priority=RANGE Show entries with the specified priority
–facility=FACILITY… Show entries with the specified facilities
-g --grep=PATTERN Show entries with MESSAGE matching PATTERN
–case-sensitive[=BOOL] Force case sensitive or insenstive matching
-e --pager-end Immediately jump to the end in the pager
-f --follow Follow the journal
-n --lines[=INTEGER] Number of journal entries to show
–no-tail Show all lines, even in follow mode
-r --reverse Show the newest entries first
-o --output=STRING Change journal output mode (short, short-precise,
-x --catalog Add message explanations where available
-a --all Show all fields, including long and unprintable
-q --quiet Do not show info messages and privilege warning
-m --merge Show entries from all available journals
-D --directory=PATH Show journal files from directory

Commands:

commands description
–help Show this help text
–version Show package version
–fields List all field names currently used
–field=FIELD List all values that a specified field takes
–disk-usage Show total disk usage of all journal files
–vacuum-size=BYTES Reduce disk usage below specified size
–vacuum-files=INT Leave only the specified number of journal files
–vacuum-time=TIME Remove journal files older than specified time
–verify Verify journal file consistency
–sync Synchronize unwritten journal messages to disk
–relinquish-var Stop logging to disk, log to temporary file system
–smart-relinquish-var Similar, but NOP if log directory is on root mount
–flush Flush all journal data from /run into /var
–rotate Request immediate rotation of the journal files
–header Show journal header information
–list-catalog Show all message IDs in the catalog
–dump-catalog Show entries in the message catalog
–update-catalog Update the message catalog database
–setup-keys Generate a new FSS key pair

journalctl用法案例

journalctl -a --header

journalctl -a --header会展示系统日志中的所有记录,并且每条记录前面都会带有详细的头部信息。
在这里插入图片描述

journalctl -a

执行此命令会查看存储在系统 journal 中的完整日志历史。包括过去和现在的、与当前控制台关联的以及不关联的所有日志条目,不论它们的日志级别(优先级)如何。
在这里插入图片描述

journalctl -xe

journalctl -xe命令主要用于查看系统最新的、详尽的日志信息,且这些信息会直接输出到终端屏幕,方便用户实时监控系统的最新状态和事件。
在这里插入图片描述

id mirror
journalctl _UID=1000 -n 20

从系统日志中查找并显示由用户ID为1000的用户产生的最近20条日志条目。
在这里插入图片描述

journalctl --since "2024-01-23 12:00:00" --until "2024-01-23 14:00:00"
  • --since "2024-01-23 12:00:00":这个选项用于从特定时间点开始显示日志记录,即从2024年1月23日的中午12点开始。

  • --until "2024-01-23 14:00:00":这个选项用于限制输出的日志条目范围,仅显示直到特定时间点的日志记录,此处指到同一天下午2点为止。
    在这里插入图片描述

journalctl -u ssh.service 

或者

journalctl --unit ssh.service

查看某个服务的日志,这里举例的是ssh服务。
在这里插入图片描述

部分日志路径说明

日志路径 说明
/var/log/message 全局系统日志,包括登录,对服务启停认证等
/var/log/lastlog 不是一个文本文件,需要用lastlog命令读,保存了用户最近的登录信息
/var/log/yun.log 最近通过yum安装的程序的日志
/var/log/cron 定时任务的日志
/var/log/boot.log 启动日志
/var/log/kern 内核日志,也可以通过dmesg查看

推荐阅读

  • 分布式文件系统协议:NFS(Network File System)网络文件系统
  • 云服务器基于Centos创建个人云盘实践经验分享
  • Tcpdump 抓包分析指令使用方法
  • 进程已结束,退出代码为 -1073741819 (0xC0000005)
  • 【漏洞修复】Cisco IOS XE软件Web UI权限提升漏洞及修复方法