centos8平台使用journalctl管理systemd-journald日志
一,systemd-journald的作用
1,什么是systemd-journald?
systemd-journald 是 systemd 自带的日志系统,是一个收集并存储各类日志数据的系统服务。
它创建并维护一个带有索引的、结构化的日志数据库, 并可以收集来自各种不同渠道的日志: 1,通过 kmsg 收集内核日志
2,通过 libc 的 syslog(3) 接口收集系统日志
3,通过 本地日志接口 sd_journal_print(3) 收集结构化的系统日志
4,捕获服务单元的标准输出(STDOUT)与标准错误(STDERR)。
5,通过内核审计子系统收集审计记录 日志守护进程会以安全且不可伪造的方式自动收集每条日志的元数据。
2,journalctl 用来查询 systemd-journald 服务收集到的日志
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,journalctl所属的包与安装
1,查看所属的包
[root@centos8 ~]# whereis journalctl
journalctl: /usr/bin/journalctl /usr/share/man/man1/journalctl.1.gz [root@centos8 ~]# rpm -qf /usr/bin/journalctl
systemd-239-18.el8_1.4.x86_64
2,如果找不到journalctl,可以用yum安装
[root@blog ~]# yum install systemd
三,查看journalctl的版本和帮助
1,查看版本
[root@centos8 ~]# journalctl --version
systemd 239
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT
+GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN
+PCRE2 default-hierarchy=legacy
2,查看帮助
[root@centos8 ~]# journalctl --help
四,journalctl的使用例子:
1,查看本机本次启动之后的所有日志
[root@blog ~]# journalctl
2,只查看内核日志:
#-k --dmesg Show kernel message log from the current boot
[root@blog ~]# journalctl -k
3,查看系统本次启动的日志
#-b --boot[=ID] Show current boot or the specified boot
[root@blog ~]# journalctl -b
说明: 等同于 journalctl -b -0
查看上一次启动的日志
[root@blog ~]# journalctl -b -1
4,查看最新的10行日志:
# --lines
[root@blog ~]# journalctl -n
查看最新的指定行数的日志
[root@blog ~]# journalctl -n 20
5,实时滚动显示最新日志
#-f --follow Follow the journal
[root@blog ~]# journalctl -f
6,查看某个unit的日志
# -u --unit=UNIT Show logs from the specified unit
[root@blog ~]# journalctl -u openresty.service
说明:也可以把多个unit的日志整合起来查看:
例:把两个unit的日志一起浏览
[root@blog ~]# journalctl -u openresty.service -u mysqld.service
7,查看指定时间的日志
# --since 指定开始时间
# --since today 查看从今天开始的日志
# --since yesterday 查看从昨天开始的日志
[root@blog ~]# journalctl -u openresty.service --since today
[root@blog ~]# journalctl --since yesterday
也可以指定准确的时间
[root@blog ~]# journalctl -u openresty.service --since="2020-03-11 12:37:11"
#--until :指定结束的时间
[root@blog ~]# journalctl --since "2020-03-01" --until "2020-03-02 00:00"
#now :指定时间为现在
[root@blog ~]# journalctl --since "2020-03-01" --until now
#可以用ago表示过去的时间
[root@blog ~]# journalctl --since "1 day ago" --until "1 hour ago"
8,指定查看日志时不再分页:
# --no-pager : 不进行分页
[root@blog ~]# journalctl --no-pager
如果日志太多,可以用管道传给more或less
[root@blog ~]# journalctl --no-pager | more
[root@blog ~]# journalctl --no-pager | less
说明:less支持上下翻页,b是向上翻页
more只能向下翻页
9,查看指定级别的日志
# -p: 指定优先级及以上级别
[root@blog ~]# journalctl -p err -b
说明:日志的八个级别:
# 0: emerg
# 1: alert
# 2: crit
# 3: err
# 4: warning
# 5: notice
# 6: info
# 7: debug
10,查看指定用户的日志:
用id命令得到指定用户的id
[root@blog ~]# id webop
uid=1000(webop) gid=1000(webop) groups=1000(webop),10(wheel)
#_UID : 指定用户的uid
[root@blog ~]# journalctl _UID=1000
11,json格式输出:
#-o json : 以json格式输出
[root@blog ~]# journalctl -o json
#-o json-pretty : 以json格式多行输出,更易阅读
[root@blog ~]# journalctl -o json-pretty
12,指定日志倒序输出:最新的在上面,从新到旧
[root@blog ~]# journalctl -r
五,日志清理:
1,清理现有的日志文件
[root@blog ~]# rm -rf /var/log/journal/*
#重启systemd-journald服务
[root@blog ~]# systemctl restart systemd-journald.service
2,显示日志占据的硬盘空间
[root@blog ~]# journalctl --disk-usage
Archived and active journals take up 192.0M in the file system.
3,清理现有的日志到500M以下
[root@blog ~]# journalctl --vacuum-size=500M
4,清理现有的日志到12个月以下
[root@blog ~]# journalctl --vacuum-time=12month
六,如何测试写一条日志?
1,用logger写一条日志
[root@blog ~]# logger -p user.info "this is check logger command"
2,查看新写入的日志
[root@blog ~]# journalctl -r
-- Logs begin at Wed 2019-12-25 11:43:21 CST, end at Wed 2020-04-08 14:38:55 CST. --
Apr 08 14:38:55 blog sysop[29566]: this is check logger command
七,journalctl所查看的日志保存在哪里?
[root@blog ~]# ls /var/log/journal/
20191225112704604621358614227964
八,journalctl的配置文件在何处?
/etc/systemd/journald.conf
一般不需要改动
九,查看centos的版本
[root@blog ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
centos8平台使用journalctl管理systemd-journald日志的更多相关文章
- Linux 初始化系统 systemd - journald 日志
journalctl 中文手册 archlinux - journal systemd-journald 用于检索 systemd 的日志,是 systemd 自带的日志系统. 1. systemd- ...
- centos8平台使用loginctl管理登录用户与session
一,loginctl的用途: 控制 systemd 登录管理器 管理当前登录的用户和session 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/a ...
- centos8平台使用rpm管理软件包
一,什么是rpm rpm是redhat package manager redhat的软件包管理器 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/a ...
- centos8平台使用parted管理分区
一,parted的用途 parted是GNU发布的强大的分区工具, parted命令可以划分单个分区大于2T的GPT格式的分区,也可以划分普通的MBR分区. 因为fdisk命令对于大于2T的分区无法划 ...
- systemd的日志管理进程journald
使用Journalctl查看并操作Systemd日志 systemd拥有强大的处理与系统日志记录功能.在使用其它工具时,日志往往被分散在多套系统当中,由不同的守护进程负责处理. Journal的实现归 ...
- (十八)Linux开机启动管理---systemd使用
常用命令 使某服务自动启动 systemctl enable httpd.service 使某服务不自动启动 systemctl disable httpd.service 检查服务状态 system ...
- 【转】Linux开机启动管理---systemd使用
常用命令 使某服务自动启动 systemctl enable httpd.service 使某服务不自动启动 systemctl disable httpd.service 检查服务状态 syste ...
- 拾遗:使用 systemd-journald 管理 Docker 容器日志
在 docker.service 文件中的 ExecStart 字段中,添加(或:docker run --log-driver=journald): --log-driver=journald \ ...
- Systemd Journald占用资源过多
journald占用过多磁盘空间 方法一 检查当前journal使用磁盘量 journalctl --disk-usage 清理方法可以采用按照日期清理,或者按照允许保留的容量清理,只保存2天的日志, ...
随机推荐
- 还不懂Redis?看完这个故事就明白了!
我是Redis 你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上. 说起我的诞生,跟关系数据库MySQL还挺有渊源的. 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发 ...
- 【小程序】---- 封装Echarts公共组件,遍历图表实现多个饼图
一.问题描述: 在小程序的项目中,封装公共的饼图组件,并在需要的页面引入使用.要求一个页面中有多个饼图,动态渲染不同的数据. 二.效果实现: 1. 查看——小程序使用Echarts的方式 2. 封装饼 ...
- nmap端口扫描工具下载和安装使用
1.下载地址 https://nmap.org/download.html 2.下载之后进行安装 选择I Agree 后,建议全选,特别是zenmap,这个是图形化界面,不喜欢命令行格式的可以用zen ...
- git代码管理——克隆项目到本地仓库及上传本地项目到仓库
一.克隆项目到本地仓库 1.github网站操作 1.1 登录github 首先创建一个仓库,点击“New” 1.2 输入仓库信息 1.3 创建完成后,会多出一个仓库 2.安装git客户端 2.1 安 ...
- zabbix-自动发现并监控
创建自动发现规则 添加 ip 范围 客户端安装zabbix-agent [root@node1 ~]# docker load -i zabbix_agent.tar.gz 23f7bd114e4a: ...
- AtomicInteger原理&源码分析
转自https://www.cnblogs.com/rever/p/8215743.html 深入解析Java AtomicInteger原子类型 在进行并发编程的时候我们需要确保程序在被多个线程并发 ...
- Mac部署spark2.4.4
环境信息 操作系统:macOS Mojave 10.14.6 JDK:1.8.0_211 (安装位置:/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jd ...
- Nginx 配置 HTTPS 完整过程(阿里云申请免费版一年ssl证书)
1. nginx 的 ssl 模块安装 查看 nginx 是否安装 http_ssl_module 模块. $ /usr/local/nginx/sbin/nginx -V 如果出现 configur ...
- 浅谈Java多线程
线程与进程 什么是进程? 当一个程序进入内存中运行起来它就变为一个进程.因此,进程就是一个处于运行状态的程序.同时进程具有独立功能,进程是操作系统进行资源分配和调度的独立单位. 什么是线程? 线程是进 ...
- Java环境变量配置 新手必备
第一步:安装JDK,无脑下一步 建议修改安装路径 这里以jdk1.7为例子(之前帮机房安装软件,五六十台电脑都要用1.7); 2.安装完了之后右击此电脑,打开属性 打开系统高级设置 打开环境变量 这里 ...