CentOS7-快速查看系统日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7-快速查看系统日志相关的知识,希望对你有一定的参考价值。

参考技术A systemd拥有强大的解决与系统日志记录功能-systemd-journald。日志目录一般是在/var/log/journal,记录的是二进制文件,我们可以通过journalctl进行查看。
常用的操作
显示所有日志:

journalctl

查看启动只有的所有日志:

journalctl -b

查看最后10条日志

journalctl -n 10

跟踪日志

journalctl -f

只显示冲突、告警和错误

journalctl -p err..alert

显示某个单元日志(也可以同时显示多个增加多个 -u nginx.service -u php-fom.service)

journalctl -u nginx.service

根据时间查找

journalctl --since "20 min ago" #查找20分钟前的日志

journalctl --since today #查找今天的日志

journalctl --until 2019-10-23 #查找2019-10-23日期的日志
查看内核日志

journalctl -k

查找指定客户(UID)日志

journalctl _UID=1000

更详细的参数支持,支持一下参数:

CentOS快速查看系统日志(干货,建议收藏)

关注上方“Linux 研习社”回复“速查表”

免费领取Linux命令速查表一份!


今天给大家讲解一下CentOS怎么快速查看系统日志,干货哦,新手赶紧收藏。



Systemd是Linux系统工具,它统一管理所有Unit的启动日志,是一个收集并存储各类日志数据的系统服务。它创建并维护一个带有索引的、结构化的日志数据库, 并可以收集来自各种不同渠道的日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。journalctl功能强大,用法非常多。本文将介绍journalctl的相关使用方法。

journalctl所属的包
whereis journalctl



常用操作 



常用的操作有哪些呢?
  • 显示所有日志:journalctl

  • 查看系统本次启动的日志:journalctl -b

  • 查看最后10条日志:journalctl -n 10

  • 实时跟踪滚动日志:journalctl -f

  • 只显示冲突、告警和错误:journalctl -p err..alert

  • 显示某个单元日志(也可以同时显示多个增加多个 -u nginx.service -u php-fom.service):journalctl -u nginx.service

  • 查看内核日志:journalctl -k





根据时间查找



按照引导环境查看日志条目当然非常重要,但我们往往还需要使用与系统引导无关的时间窗作为浏览基准。这种情况在长期运行的服务器当中较为常见。

大家可以利用–since–until选项设定时间段,二者分别负责说明给定时间之前与之后的记录。

时间值可以多种格式输出。对于绝对时间值,大家可以使用以下格式:

YYYY-MM-DD HH:MM:SS

例如,我们可以通过以下命令查看全部2020年7月20日下午1:15之后的条目:

journalctl --since "2020-07-20 13:15:00"

如果以上格式中的某些组成部分未进行填写,系统会直接进行默认填充。例如,如果日期部分未填写,则会直接显示当前日期。如果时间部分未填写,则缺省使用“00:00:00”(午夜)。第二字段亦可留空,默认值为“00”:

journalctl --since "2020-07-19" --until "2020-07-20 13:00"

另外,journal还能够理解部分相对值及命名简写。例如,大家可以使用“yesterday”、“today”、“tomorrow”或者“now”等表达。另外,我们也可以使用“-”或者“+”设定相对值,或者使用“ago”之前的表达。

  • 获取昨天数据的命令如下:
journalctl –since yesterday

类似的还有如下命令:

  • journalctl --since "20 min ago" #查找20分钟前的日志

  • journalctl --since today #查找今天的日志

  • journalctl --until 2020-07-20 #查找2020-07-20日期的日志





根据单元查找



我们可以使用-u选项,来实现按单元过滤。

例如,要查看系统上全部来自Nginx单元的日志,可使用以下命令:

journalctl -u nginx.service

一般来讲,我们可能需要同时按单元与时间进行信息过滤。例如,检查今天某项服务的运行状态:

journalctl -u nginx.service -u php-fpm.service --since today

当然我们还可以按进程和按用户来查找:

  • 查找指定用户(UID)日志:journalctl _UID=1000
  • 查看指定进程的日志:journalctl   _PID=1
重启systemd-journald服务

systemctl restart systemd-journald.service

显示日志占据的硬盘空间

journalctl --disk-usage

清理现有的日志到200M以下

journalctl --vacuum-size=200M

end



往期推荐





号外号外:Linux 交流群已成立


无论你是科班出生、还是培训班出生、亦或是刚入门的小白,从你入行这一刻起,就得保持终生学习的心态。船神创建了一个「Linux 交流群」,希望更好的与大家一起学习交流,我们自己的职业生涯掌握在自己手中。



一定要备注:城市+昵称+技术方向,根据格式备注,可更快被通过且邀请进群哟


以上是关于CentOS7-快速查看系统日志的主要内容,如果未能解决你的问题,请参考以下文章

centos7的系统日志怎么查看

如何查看centos 重启日志

centos7日志

CentOS快速查看系统日志(干货,建议收藏)

Centos7.5搭建ELK-6.5.0日志分析平台

Linux系统日志怎么查看