前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux系统管理员应该知道的journalctl知识

Linux系统管理员应该知道的journalctl知识

作者头像
大江小浪
发布2018-10-10 10:41:34
1.5K0
发布2018-10-10 10:41:34
举报
文章被收录于专栏:小狼的世界小狼的世界

在Systemd出现之前,Linux系统及各应用的日志都是分别管理的,Systemd开始统一管理了所有Unit的启动日志,这样带来的好处就是可以只用一个 journalctl命令,查看所有内核和应用的日志。

1. 基础用法

1.1 查看所有日志(默认显示本次启动的所有日志)

代码语言:javascript
复制
[root@devops-101 ~]# journalctl

查看本次启动的所有日志也可以使用

代码语言:javascript
复制
[root@devops-101 ~]# journalctl -b

1.2 查看内核日志

代码语言:javascript
复制
[root@devops-101 ~]# journalctl -k

1.3 查看指定时间的日志

通过--since和--until选项,可以过滤任意时间限制,显示指定条件之前、之后或之间的日志。

代码语言:javascript
复制
[root@devops-101 ~]# journalctl --since="2018-09-21 10:21:00"

查询一个时间段范围内的日志。

代码语言:javascript
复制
[root@devops-101 ~]# journalctl --since="2018-09-21 10:21:00" --until="2018-09-21 10:22:00"

1.4 根据不同的主题进行过滤筛选

根据服务筛选

代码语言:javascript
复制
[root@devops-101 ~]# journalctl -u kubelet.service
[root@devops-101 ~]# journalctl -u kubelet

根据进程ID查询 如果进程使用了systemd托管日志,则可以通过以下命令查找进程对应的日志。

代码语言:javascript
复制
[root@devops-101 ~]# journalctl _PID=1

Systemd journal 有很多可以用来过滤的字段,可以通过 man systemd.journal-fields 查看所有可以用来过滤的字段。对于用来筛选的字段,可以使用-F参数来查看所有可以用来过滤的值,例如journalctl -F _PID

按优先级 操作系统提供了从0 (emerg) 到 7 (debug) 一共7个级别的日志,可以配合-p参数分别查看对应级别的日志。

代码语言:javascript
复制
[root@devops-101 ~]# journalctl -p 5 -u kubelet

7个级别的含义为

  • 0: emerg
  • 1: alert
  • 2: crit
  • 3: err
  • 4: warning
  • 5: notice
  • 6: info
  • 7: debug

1.5 调整显示输出

默认情况,journal输出进入分页模式,用户可以在终端上调整显示的内容,如果要不需要分页,需要加上--no-pager参数。

以Json格式输出

代码语言:javascript
复制
[root@devops-101 ~]# journalctl -p 5 --no-pager -o json

通过-o参数,可以设置为json格式输出,这对于其他接收json格式的日志分析工具非常友好。

代码语言:javascript
复制
[root@devops-101 ~]# journalctl -p 5 --no-pager -o json-pretty

使用json-pretty则对于管理员查看日志非常易读。

支持的各种格式如下:

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

1.6 活动日志跟踪

journalctl也支持类似tail的功能,如通过-n参数指定显示最近的多少行,默认为10行,通过-f参数持续监控日志输出。

2. 维护

2.1 查看日志占用的磁盘空间

代码语言:javascript
复制
[root@devops-101 ~]# journalctl --disk-usage
Archived and active journals take up 8.0M on disk.

2.2 设置日志占用的空间

代码语言:javascript
复制
root@devops-101 ~]# journalctl --vacuum-size=500M
Vacuuming done, freed 0B of archived journals on disk.

2.3 设置日志保存的时间

代码语言:javascript
复制
[root@devops-101 ~]# journalctl --vacuum-time=1month
Vacuuming done, freed 0B of archived journals on disk.

3. 配置

上面的一些维护动作,也可以通过配置参数设置,配置文件位于/etc/systemd/journald.conf

  • Storage=persistent
  • Compress=yes
  • Seal=yes
  • SplitMode=uid
  • SyncIntervalSec=5m
  • RateLimitInterval=30s
  • RateLimitBurst=1000
  • SystemMaxUse=
  • SystemKeepFree=
  • SystemMaxFileSize=
  • RuntimeMaxUse=
  • RuntimeKeepFree=
  • RuntimeMaxFileSize=
  • MaxRetentionSec=
  • MaxFileSec=1month
  • ForwardToSyslog=yes
  • ForwardToKMsg=no
  • ForwardToConsole=no
  • ForwardToWall=yes
  • TTYPath=/dev/console
  • MaxLevelStore=debug
  • MaxLevelSyslog=debug
  • MaxLevelKMsg=notice
  • MaxLevelConsole=info
  • MaxLevelWall=emerg

参考资料:

  1. journal详细介绍
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-09-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 基础用法
    • 1.1 查看所有日志(默认显示本次启动的所有日志)
      • 1.2 查看内核日志
        • 1.3 查看指定时间的日志
          • 1.4 根据不同的主题进行过滤筛选
            • 1.5 调整显示输出
              • 1.6 活动日志跟踪
              • 2. 维护
                • 2.1 查看日志占用的磁盘空间
                  • 2.2 设置日志占用的空间
                    • 2.3 设置日志保存的时间
                    • 3. 配置
                    • 参考资料:
                    相关产品与服务
                    Elasticsearch Service
                    腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档