systemd-journald日志持久化的操作方法

简介:

一、背景

每当遇到诸如网卡、数据库、Apache及其他一些应用无法正常启动时,系统会提示我们使用journalctl -ex命令进行查看,往往能迅速找到相关日志,分析日志后问题一般能够迅速被解决。虽然经常使用,但是也没有过多深究。

在CentOS7.X中,systemd统一管理着所有unit的启动日志,systemd-journald就是一个被systemd管理的进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。该日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速,我们可以只用journalctl一条命令就能查看所有日志(内核日志和 应用日志)。

[root@ChatDevOps ~]# systemctl list-units|grep journal*
  systemd-journal-flush.service                                                       loaded active exited    Flush Journal to Persistent Storage
  systemd-journald.service                                                            loaded active running   Journal Service
  systemd-journald.socket                                                             loaded active running   Journal Socket

对于journal的配置,我们可以参见配置文件:/etc/systemd/journald.conf,可以根据实际情况进行自定义,默认情况下并不会持久化保存日志,只会保留一个月的日志。如果需要永久保留改日志文件呢?

二、操作步骤

1.创建相关的目录来存放journal日志,修改权限,重启systemd-journal服务。

[root@ChatDevOps ~]# mkdir /var/log/journal
[root@ChatDevOps ~]# chgrp systemd-journal /var/log/journal
[root@ChatDevOps ~]# chmod g+s /var/log/journal
[root@ChatDevOps ~]# systemctl restart systemd-journald

2.重启数次观察日志记录结果。

[root@ChatDevOps ~]# journalctl --list-boots
-2 3b8ad5992dc84becbee8e7d2c1a053cd 二 2018-06-12 10:54:34 CST—二 2018-06-12 11:03:57 CST
-1 13935fc1d8d9499baf4bbc453daf1e56 二 2018-06-12 11:04:05 CST—二 2018-06-12 20:08:03 CST
 0 eed68f873742408ca746a2272961f73d 二 2018-06-12 20:08:21 CST—二 2018-06-12 20:09:43 CST

从上面我们可以清晰地看到本日内的三次引导记录。

3.观察最近一次引导过程。

[root@ChatDevOps ~]# journalctl -b 0

4.之前/run/log/journal目录已经不存在,取而代之的是/var/log/journal目录。

三、总结

1.journalctl是一个非常好用的日志查看命令。

2.关于journal的使用可以参见下文:https://blog.csdn.net/zstack_org/article/details/72356864

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
存储 JSON 监控
可以通过配置Filebeat来将Higress日志持久化到磁盘
【2月更文挑战第10天】可以通过配置Filebeat来将Higress日志持久化到磁盘
27 4
|
3月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
1月前
|
Linux 应用服务中间件 nginx
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
47 0
|
4月前
|
消息中间件 存储 Kafka
阿里 P7 三面凉凉,kafka Borker 日志持久化没答上来
阿里 P7 三面凉凉,kafka Borker 日志持久化没答上来
|
4月前
|
Kubernetes 容器
在Kubernetes(k8s)中部署Higress时,查看Wasm插件日志的方法如下
在Kubernetes(k8s)中部署Higress时,查看Wasm插件日志的方法如下
69 1
|
6月前
|
Linux Perl
Linux 系统快速分析日志定位故障原因的 10 个方法
在 Linux 系统中,日志是一种非常重要的资源。系统管理员可以通过日志记录的内容来检测系统的运行状况,分析问题,做出相应的调整和优化。由于日志文件数量庞大,内容复杂,因此需要使用一些工具和技术帮助管理员进行快速分析和查找。 本文将介绍 Linux 系统中快速分析日志、定位故障的 10 个方法。
977 1
|
4月前
|
Kubernetes Shell Linux
linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本
linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本
59 0
|
3月前
|
Linux
百度搜索:蓝易云【Linux清空日志的五种方法】
这些是在Linux中清空日志文件的五种常用方法。根据您的具体需求和环境,可以选择适合您的方法进行日志清空操作。请注意,清空日志文件可能会导致丢失日志数据,因此在清空之前请确保已备份重要的日志信息。
32 0
|
4月前
|
Linux
linux下实现日志切割的两种方法 logrotate
linux下实现日志切割的两种方法 logrotate
129 0
|
4月前
|
设计模式 Java 数据库连接
设计模式与面向对象编程:举例说明在Java中应用工厂模式的场景,并编写一个简单的工厂模式实现。编写一个Java装饰器,用于添加日志记录功能到现有方法上。
设计模式与面向对象编程:举例说明在Java中应用工厂模式的场景,并编写一个简单的工厂模式实现。编写一个Java装饰器,用于添加日志记录功能到现有方法上。
23 0

热门文章

最新文章