CentOS7的journalctl日志查看方法

news2025/1/23 12:04:37

多台服务器间免密登录|免密拷贝

Cenos7 搭建Minio集群部署服务器(一)

Cenos7 搭建Minio集群Nginx统一访问入口|反向动态代理(二) 

Spring Boot 与Minio整合实现文件上传与下载(三) 

CentOS7的journalctl日志查看方法

MySQL8.xx一主两从复制安装与配置

 


1、概述

日志管理工具journalctl是centos7上专有的日志管理工具,该工具是从message这个文件里读取信息。

Systemd统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)

日志的配置文件是/etc/systemd/journald.conf

[root@www log]# journalctl -u mysql.service --since="2023-08-15"  | grep -i error
8月 15 16:17:30 www.yhchange.com mysqld[1754]: 2023-08-15T08:17:30.042500Z 0 [ERROR] [MY-011811] [Server] Can't start server: can't check PID filepath: No such file or directory
8月 15 16:19:02 www.yhchange.com mysqld[1814]: 2023-08-15T08:19:02.630984Z 0 [ERROR] [MY-011811] [Server] Can't start server: can't check PID filepath: No such file or directory
 


 查看某个时间段的日志

[root@www log]#

journalctl -u minio --since "2023-08-14 7:21:48" --until "2023-08-15 16:21:49"
-- Logs begin at 二 2023-08-15 16:14:21 CST, end at 二 2023-08-15 16:29:28 CST. --
8月 15 16:14:29 www.yhchange.com systemd[1]: Starting Minio...
8月 15 16:14:29 www.yhchange.com systemd[1]: Started Minio.
8月 15 16:14:30 www.yhchange.com minio[1142]: WARNING: Detected Linux kernel version older than 4.0.0 release, there are some known potential performance problems with this kernel version. MinIO recommends a minimum of 4.x.x linux kernel version
8月 15 16:14:30 www.yhchange.com minio[1142]: MinIO Object Storage Server
8月 15 16:14:30 www.yhchange.com minio[1142]: Copyright: 2015-2023 MinIO, Inc.
8月 15 16:14:30 www.yhchange.com minio[1142]: License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
8月 15 16:14:30 www.yhchange.com minio[1142]: Version: RELEASE.2023-08-09T23-30-22Z (go1.19.12 linux/amd64)
8月 15 16:14:30 www.yhchange.com minio[1142]: Status:         1 Online, 0 Offline.
8月 15 16:14:30 www.yhchange.com minio[1142]: S3-API: http://192.168.1.100:9666
8月 15 16:14:30 www.yhchange.com minio[1142]: Console: http://192.168.1.100:33806
8月 15 16:14:30 www.yhchange.com minio[1142]: Documentation: https://min.io/docs/minio/linux/index.html
8月 15 16:14:30 www.yhchange.com minio[1142]: Warning: The standard parity is set to 0. This can lead to data loss.
lines 1-13/13 (END)

2、查看所有日志

(默认情况下 ,只保存本次启动的日志)

[root@www log]# journalctl

3、查看内核日志

[root@www log]# journalctl -k

要查看journald知道的引导,请使用以下--list-boots选项:

[root@www log]# journalctl --list-boots    
 0 354e33ea430e4af497b8e050b1f5b41e 二 2023-08-15 16:14:21 CST—二 2023-08-15 16:29:28 CST

查看上一次启动的日志:   0为上次启动的pid

[root@www log]# journalctl -b -0


4、查看指定时间的日志

可以使用--since和--until选项过滤任意时间限制,这些限制分别显示给定时间之前或之后的条目。

可以使用“yesterday”、“today”、“tomorrow”或者“now”等表达。

另外,我们也可以使用“-”或者“+”设定相对值,或者使用“ago”之前的表达

#"显示2017年10月30号,18点10分30秒到当前时间之间的所有日志信息"
journalctl --since="2022-10-30 18:10:30"

#获取昨天的日志如下:
journalctl –since yesterday

#获取某一个时间段到当前时间的前一个小时的日志
journalctl --since 09:00 --until "1 hour ago" 

#获取当前时间的前20分钟的日志
journalctl --since "20 min ago"

#获取某一天到某一个时间段的日志信息
journalctl --since "2023-01-10" --until "2017-01-11 03:00" 

#获取15:15到现在的日志
journalctl --since"15:15" --until now

5、按服务过滤消息日志

#查看httpd服务的日志信息
[root@centos7 ~]# journalctl -u mysql.service 
-- Logs begin at Thu 2018-02-22 17:01:47 CST, end at Thu 2018-02-22 17:30:01 CST. --
Feb 22 17:29:27 centos7.localdomain systemd[1]: Starting The Apache HTTP Server...
Feb 22 17:29:27 centos7.localdomain httpd[1610]: AH00558: httpd: Could not reliably determine t
Feb 22 17:29:28 centos7.localdomain systemd[1]: Started The Apache HTTP Server.

#查看httpd服务当天的运行状况
[root@centos7 ~]# journalctl -u mysql.service --since today


按进程、用户或者群组ID 

#通过进程ID实现查询,需要指定_PID字段。
journalctl _PID=8088

#查看指定用户的日志
journalctl _UID=33  --since today

#查看指定用户组的日志
journalctl _GID=20  --since today

#显示尾部的最新10行日志
journalctl  -n

#显示尾部指定行数的日志
journalctl -n 20

#实时滚动显示最新日志
journalctl   -f

#查看指定服务的日志
journalctl  /usr/lib/systemd/systemd

#查看某个路径的脚本的日志
journalctl    /usr/bin/bash

#实时滚动显示某个Unit的最新日志
journalctl  -u nginx.service  -f

#合并显示多个Unit的日志
journalctl  -u nginx.service  -u php-fpm.service  --since today


6、按优先级

使用journalctl配合-p选项显示特定优先级的信息,从而过滤掉优先级较低的信息。

由最高到最低优先级:
    0: emerg
    1: alert
    2: crit
    3: err
    4: warning
    5: notice
    6: info
    7: debug

只显示错误级别或者更高的日志条目:
[root@centos7 ~]# journalctl -p err -b
-- Logs begin at Thu 2022-02-22 17:01:47 CST, end at Thu 2022-02-22 17:40:02 CST. --
Feb 22 17:09:10 centos7.localdomain kernel: sd 0:0:0:0: [sda] Assuming drive cache: write throu
Feb 22 17:09:12 centos7.localdomain kernel: piix4_smbus 0000:00:07.3: SMBus Host Controller not
Feb 22 17:09:15 centos7.localdomain rsyslogd[593]: error during parsing file /etc/rsyslog.conf,
Feb 22 17:09:47 centos7.localdomain pulseaudio[1232]: [alsa-sink-ES1371/1] alsa-sink.c: ALSA wo
Feb 22 17:09:47 centos7.localdomain pulseaudio[1232]: [alsa-sink-ES1371/1] alsa-sink.c: Most li
Feb 22 17:09:47 centos7.localdomain pulseaudio[1232]: [alsa-sink-ES1371/1] alsa-sink.c: We were
Feb 22 17:09:48 centos7.localdomain spice-vdagent[1274]: Cannot access vdagent virtio channel /
lines 1-8/8 (END)

7、输出格式

#journal能够以多种格式进行显示,只须添加-o选项加格式说明即可。
#将journal条目输出为JSON格式:
[root@CENTOS57 proc]# journalctl -b -u mysql -o json
{ "__CURSOR" : "s=54b7b8c9391c4489a9a206c9123e723b;i=7db;b=b2d84e8bf26a462e9639384e1c0be5cf;m=eddf635;t=5b3a0187d82cb;x=90ce86876890254e", "__REALTIME_TIMESTAMP" : "160
{ "__CURSOR" : "s=54b7b8c9391c4489a9a206c9123e723b;i=7f2;b=b2d84e8bf26a462e9639384e1c0be5cf;m=ee4987b;t=5b3a018842511;x=a984025285f8f913", "__REALTIME_TIMESTAMP" : "160
{ "__CURSOR" : "s=54b7b8c9391c4489a9a206c9123e723b;i=7f3;b=b2d84e8bf26a462e9639384e1c0be5cf;m=ee5a191;t=5b3a018852e27;x=c0c8530ea7133468", "__REALTIME_TIMESTAMP" : "160


#使用json-pretty格式以更好地处理数据结构

{
        "__CURSOR" : "s=b7cf8ab5d6f34c478d81ac7a3dc48777;i=803;b=354e33ea430e4af497b8e050b1f5b41e;m=96b326;t=602f1c4a45c1d;x=54f58a57fe011c5f",
        "__REALTIME_TIMESTAMP" : "1692087269743645",
        "__MONOTONIC_TIMESTAMP" : "9876262",
        "_BOOT_ID" : "354e33ea430e4af497b8e050b1f5b41e",
        "PRIORITY" : "6",
        "_UID" : "0",
        "_GID" : "0",
        "_MACHINE_ID" : "9b27343e24254d7fb4c5d0554ff20cb8",
        "_HOSTNAME" : "www.yhchange.com",
        "SYSLOG_FACILITY" : "3",
        "SYSLOG_IDENTIFIER" : "systemd",
        "_TRANSPORT" : "journal",
        "_PID" : "1",
        "_COMM" : "systemd",
        "_EXE" : "/usr/lib/systemd/systemd",
        "_CAP_EFFECTIVE" : "1fffffffff",
        "_SYSTEMD_CGROUP" : "/",
        "CODE_FILE" : "src/core/unit.c",
        "CODE_LINE" : "1439",
        "CODE_FUNCTION" : "unit_status_log_starting_stopping_reloading",
        "MESSAGE_ID" : "7d4958e842da4a758f6c1cdc7b36dcc5",
        "_CMDLINE" : "/usr/lib/systemd/systemd --switched-root --system --deserialize 22",
        "UNIT" : "minio.service",
        "MESSAGE" : "Starting Minio...",
        "_SOURCE_REALTIME_TIMESTAMP" : "1692087269743136"
}
{
        "__CURSOR" : "s=b7cf8ab5d6f34c478d81ac7a3dc48777;i=809;b=354e33ea430e4af497b8e050b1f5b41e;m=96d8db;t=602f1c4a481d2;x=e6cda0d816d8992b",
        "__REALTIME_TIMESTAMP" : "1692087269753298",
        "__MONOTONIC_TIMESTAMP" : "9885915",
        "_BOOT_ID" : "354e33ea430e4af497b8e050b1f5b41e",
        "PRIORITY" : "6",
        "_UID" : "0",
        "_GID" : "0",
        "_MACHINE_ID" : "9b27343e24254d7fb4c5d0554ff20cb8",
        "_HOSTNAME" : "www.yhchange.com",
        "SYSLOG_FACILITY" : "3",
        "SYSLOG_IDENTIFIER" : "systemd",
        "_TRANSPORT" : "journal",
        "CODE_FILE" : "src/core/job.c",
        "CODE_LINE" : "774",
        "CODE_FUNCTION" : "job_log_status_message",
        "MESSAGE_ID" : "39f53479d3a045ac8e11786248231fbf",
        "RESULT" : "done",
        "_PID" : "1",
        "_COMM" : "systemd",
        "_EXE" : "/usr/lib/systemd/systemd",
        "_CAP_EFFECTIVE" : "1fffffffff",
        "_SYSTEMD_CGROUP" : "/",
        "_CMDLINE" : "/usr/lib/systemd/systemd --switched-root --system --deserialize 22",
        "UNIT" : "minio.service",
        "MESSAGE" : "Started Minio.",
        "_SOURCE_REALTIME_TIMESTAMP" : "1692087269752411"
}


以下为可用于显示的各类格式:
    cat: 只显示信息字段本身。
    export: 适合传输或备份的二进制格式。
    json: 标准JSON,每行一个条目。
    json-pretty: JSON格式,适合人类阅读习惯。
    json-sse: JSON格式,经过打包以兼容server-sent事件。
    short: 默认syslog类输出格式。
    short-iso: 默认格式,强调显示ISO 8601挂钟时间戳。
    short-monotonic: 默认格式,提供普通时间戳。
    short-precise: 默认格式,提供微秒级精度。
    verbose: 显示该条目的全部可用journal字段,包括通常被内部隐藏的字段。

#查看当前日志占用磁盘的空间的总大小
[root@centos7 ~]# journalctl --disk-usage 
Archived and active journals take up 8.0M on disk.

#指定日志文件最大空间
journalctl --vacuum-size=1G

#指定日志文件保存多久
journalctl --vacuum-time=1years #1年journalctl --vacuum-time=2d     #2天journalctl --vacuum-size=500M   #500M


8、启用日志消息的持久存储

要启用日志限制持久性配置,你可以修改journald的配置文件

/etc/systemd/journald.conf

将该Storage=选项设置为“persistent”以启用持久记录。

Storge选项为:

volatile,则日记日志数据将仅存储在内存中,即/run/log/journal中。
persistent,则数据将最好存储在磁盘上,即在/var/log/journal的下方。
auto,类似于“ persistent”,但是如果需要的话不会创建目录/var/log/journal,因此它的存在控制着日志数据的去向。

[root@www log]#  vim  /etc/systemd/journald.conf
 
[Journal]
Storage=persistent

默认journalctl的日志都是保存到内存中。要保存到文件,只需创建/var/log/journal目录,重启journald服务即可。 

在CentOS 7上,您必须启用日志消息的持久存储:

[root@www log]# mkdir /var/log/journal
[root@www log]# systemd-tmpfiles --create --prefix /var/log/journal
[root@www log]#  systemctl restart systemd-journald

否则,启动之间将不会保留日志日志消息。

journalctl相关配置
以下条目可用于限定journal体积的膨胀速度:
    SystemMaxUse=: 指定journal所能使用的最高持久存储容量。
    SystemKeepFree=: 指定journal在添加新条目时需要保留的剩余空间。
    SystemMaxFileSize=: 控制单一journal文件大小,符合要求方可被转为持久存储。
    RuntimeMaxUse=: 指定易失性存储中的最大可用磁盘容量(/run文件系统之内)。
    RuntimeKeepFree=: 指定向易失性存储内写入数据时为其它应用保留的空间量(/run文件系统之内)。
    RuntimeMaxFileSize=: 指定单一journal文件可占用的最大易失性存储容量(/run文件系统之内)。
    通过设置上述值,大家可以控制journald对服务器空间的消耗及保留方式。

9、常见日志文件

# tail /var/log/messages        //系统主日志文件
# tail -20 /var/log/messages
# tail -f /var/log/messages         //动态查看日志文件的尾部
# tailf /var/log/secure          //认证、安全
# tail /var/log/maillog          //跟邮件postfix相关
# tail /var/log/cron            //crond、at进程产生的日志
# tail /var/log/dmesg            //和系统启动相关
# tail /var/log/audit/audit.log      //系统审计日志
# tail /var/log/yum.log          //yum
# tail /var/log/mysqld.log      //MySQL
# tail /var/log/xferlog             //和访问FTP服务器相关
# tail  /var/log/wtmp                   //当前登录的用户(命令:w)
# tail  /var/log/btmp               //最近登录的用户(命令last    )
# tail  /var/log/lastlog                //所有用户的登录情况(命令lastlog )

#清理日志文件
cat /dev/null > /var/log/boot.log
cat /dev/null > /var/log/btmp
cat /dev/null > /var/log/cron
cat /dev/null > /var/log/dmesg
cat /dev/null > /var/log/firewalld
cat /dev/null > /var/log/grubby
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/mail.info
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/spooler
cat /dev/null > /var/log/syslog
cat /dev/null > /var/log/tallylog
cat /dev/null > /var/log/wpa_supplicant.log
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/yum.log

如何在CentOS 7下显示以前启动时的日志消息

如何在CentOS 7下显示以前启动时的日志消息?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/883301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

下单接口调优实战,性能提高10倍

目录 概述 用到的工具和环境 工具 环境 找瓶颈 总结 概述 最近公司的下单接口有些慢&#xff0c;老板担心无法支撑双11&#xff0c;想让我优化一把&#xff0c;但是前提是不允许大改&#xff0c;因为下单接口太复杂了&#xff0c;如果改动太大&#xff0c;怕有风险。另外…

【Django】Task1安装python环境及运行项目

【Django】Task1安装python环境及运行项目 写在最前 8月份Datawhale组队学习&#xff0c;在这个群除我佬的时代&#xff0c;写一下blog记录学习过程。 参考资源&#xff1a; 学习项目github&#xff1a;https://github.com/Joe-2002/sweettalk-django4.2 队长博客&#xff1a…

使用K8s的一些经验和体会

Java应用程序的奇怪案例 ​在微服务和容器化方面&#xff0c;工程师倾向于避免使用 Java&#xff0c;这主要是由于 Java 臭名昭著的内存管理。但是&#xff0c;现在情况发生了改变&#xff0c;过去几年来 Java 的容器兼容性得到了改善。毕竟&#xff0c;大量的系统&#xff08…

RocketMQ部署 Linux方式和Docker方式

一、Linux部署 准备一台Linux机器&#xff0c;部署单master rocketmq节点 系统ip角色模式CENTOS10.4.7.126Nameserver,brokerMaster 1. 配置JDK rocketmq运行需要依赖jdk&#xff0c;安装步骤略。 2. 下载和配置 从官网下载安装包 https://rocketmq.apache.org/zh/downlo…

三.net core 自动化发布到docker (创建一个dotnet工程发布)

创建Jenkins-create a job 输入名称&#xff08;建议不要带“”这类的字符&#xff09;&#xff0c;选择自由风格的类型&#xff08;红框标注的&#xff09;&#xff0c;点击确定 用于测试,下面选项基本没有选择-配置代码地址 选择执行shell #!/bin/bash # 获取短版本号 GITHA…

会一点stm32,只后是做嵌入式Linux还是转JAVA?

选择嵌入式Linux还是转向JAVA&#xff0c;取决于你的兴趣、职业规划和就业市场的需求。以下是一些考虑因素&#xff1a;兴趣和擅长&#xff1a;首先&#xff0c;你应该考虑自己对嵌入式Linux和JAVA的兴趣和擅长程度。如果你对嵌入式系统、硬件交互和底层编程更感兴趣&#xff0…

echart 3d立体颜色渐变柱状图

如果可以实现记得点赞分享&#xff0c;谢谢老铁&#xff5e; 1.需求描述 根据业务需求将不同的法律法规&#xff0c;展示不同的3d立体渐变柱状图。 2.先看下效果图 3. 确定三面的颜色&#xff0c;这里我是自定义的颜色 // 右面生成颜色const rightColorArr ref(["#79D…

【图像融合】融合算法综述(持续更新)

按时间顺序&#xff0c;综述近5年的融合算法。重点分析了最近两年的work&#xff0c;欢迎留言探讨 文章目录 前言1.SSR-Laplacian Image Fusion&#xff08;2017&#xff09;2、FusionGAN&#xff08;2019&#xff09;3、MBNet&#xff08;2020&#xff09;4、DIDFuse&#xff…

【闪击Linux系列P10】操作系统管理的算珠——进程の详解

​ 前言 大家好吖&#xff0c;欢迎来到 YY 滴 Linux系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过Linux的老铁&#xff0c;从操作系统层面向大家介绍进程&#xff1a; 主要内容含&#xff1a; 欢迎订阅 YY滴Linux专栏&#xff01;更多干货持续更新&#xff0…

AIGC绘画:基于Stable Diffusion进行AI绘图

文章目录 AIGC深度学习模型绘画系统stable diffusion简介stable diffusion应用现状在线网站云端部署本地部署Stable Diffusion AIGC深度学习模型绘画系统 stable diffusion简介 Stable Diffusion是2022年发布的深度学习文本到图像生成模型&#xff0c;它主要用于根据文本的描述…

MySQL — 索引

文章目录 索引索引结构 — B树与B树B树B树 聚簇索引与非聚簇索引聚簇索引非聚簇索引优缺点 覆盖索引与回表联合索引索引覆盖最左前缀匹配 索引 索引是对数据库表中一列或多列的值进行排序的一种结构。MySQL索引的建立对于MySQL的高效运行是很重要的&#xff0c;索引可以大大提…

图像去雨-雨线清除-图像处理-(计算机作业附代码)

背景 多年来&#xff0c;图像去雨已经被广泛研究&#xff0c;使用传统方法和基于学习的方法。然而&#xff0c;传统方法如高斯混合模型和字典学习方法耗时&#xff0c;并且无法很好地处理受到严重雨滴影响的图像块。 算法 通过考虑雨滴条状特性和角度分布&#xff0c;这个问…

2023+HuggingGPT: Solving AI Tasks with ChatGPT and itsFriends in Hugging Face

摘要&#xff1a; 语言是llm(例如ChatGPT)连接众多AI模型(例如hugs Face)的接口&#xff0c;用于解决复杂的AI任务。在这个概念中&#xff0c;llms作为一个控制器&#xff0c;管理和组织专家模型的合作。LLM首先根据用户请求规划任务列表&#xff0c;然后为每个任务分配专家模…

3D- vista:预训练的3D视觉和文本对齐Transformer

论文&#xff1a;https://arxiv.org/abs/2308.04352 代码: GitHub - 3d-vista/3D-VisTA: Official implementation of ICCV 2023 paper "3D-VisTA: Pre-trained Transformer for 3D Vision and Text Alignment" 摘要 三维视觉语言基础(3D- vl)是一个新兴领域&…

JDBC封装与设计模式

什么是 DAO &#xff1f; Data Access Object(数据存取对象) 位于业务逻辑和持久化数据之间实现对持久化数据的访问 DAO起着转换器的作用&#xff0c;将数据在实体类和数据库记录之间进行转换。 ----------------------------------------------------- DAO模式的组成部分 …

【动画】p60动画蓝图、播放蒙太奇、打包

p60动画蓝图、播放蒙太奇、打包 p60动画蓝图、播放蒙太奇、打包添加动画动画蓝图使模型使用动画蓝图奔跑跳舞蒙太奇 移动打断蒙太奇打包退出游戏 p60动画蓝图、播放蒙太奇、打包 添加动画 右键内容浏览器-》动画-》混合空间1D-》选择新的角色的骨骼 如下图在资产详情修改参数…

【TypeScript】基础类型

安装 Node.js 环境 https://nodejs.org/en 终端中可以查到版本号即安装成功。 然后&#xff0c;终端执行npm i typescript -g安装 TypeScript 。 查到版本号即安装成功。 字符串类型 let str:string "Hello"; console.log(str);终端中先执行tsc --init&#xf…

机器学习:特征工程之特征预处理

目录 特征预处理 1、简述 2、内容 3、归一化 3.1、鲁棒性 3.2、存在的问题 4、标准化 ⭐所属专栏&#xff1a;人工智能 文中提到的代码如有需要可以私信我发给你&#x1f60a; 特征预处理 1、简述 什么是特征预处理&#xff1a;scikit-learn的解释&#xff1a; provide…

预训练GNN:GPT-GNN Generative Pre-Training of Graph Neural Networks

一.文章概述 本文提出了一种自监督属性图生成任务来预训练GNN&#xff0c;使得其能捕图的结构和语义属性。作者将图的生成分为两个部分&#xff1a;属性生成和边生成&#xff0c;即给定观测到的边&#xff0c;生成节点属性&#xff1b;给定观测到的边和生成的节点属性&#xf…

【第三阶段】kotlin中使用带let的安全调用

let常常和&#xff1f;.配合使用&#xff0c;如果前面的对象为null,let不执行&#xff0c;能够执行到let里面 对象一定不为null 1.不为null fun main() {var name:String?"kotlin" //name是一个可空类型&#xff0c;发出广播&#xff0c;调用的地方必须补救措施var…