文章目录

  • 1. 日志查询
    • 1.1 输出所有日志
    • 1.2 按服务查询
    • 1.3 按级别查询
    • 1.4 按时间查询
    • 1.5 其他
  • 2. 清理和限制
    • 2.1 查看占据磁盘空间
    • 2.2 清理日志
    • 2.3 限制大小
      • - 文件示例
      • - 说明

1. 日志查询

1.1 输出所有日志

journalctl

日志如滔滔江水连绵不绝~~找不到目标也就并没有什么意义,所以要加一下条件,如下。

1.2 按服务查询

  • 方法一
[root@pre-iot journal]# journalctl _SYSTEMD_UNIT=docker.service
-- Logs begin at Thu 2021-02-18 20:17:12 CST, end at Fri 2021-02-19 14:25:03 CST. --
Feb 18 20:17:12 pre-iot dockerd-current[1658]: [2021-02-18 20:17:12:2188.109 cache.device.go:94 [DEBUG] [cache] GetDevice: A0BB3ED304FA]
Feb 18 20:17:12 pre-iot dockerd-current[1658]: [2021-02-18 20:17:12:2188.109 cache.cmdrecord.go:122 [DEBUG] [cache] GetActiveCmdRecordsFromSn sn A
Feb 18 20:17:12 pre-iot dockerd-current[1658]: [2021-02-18 20:17:12:2188.110 mqttmessagehandler.go:60 [DEBUG] [mqttMessageHandler] active commands
Feb 18 20:17:12 pre-iot dockerd-current[1658]: [2021-02-18 20:17:12:2188.112 mqttproducer.go:60 [DEBUG] [MqttProducer] ProduceMqttMessage]
  • 方法二
journalctl -u docker.service

1.3 按级别查询

  • 方法一
[root@pre-iot ~]# journalctl _SYSTEMD_UNIT=docker.service PRIORITY=6
-- Logs begin at Thu 2021-02-18 20:17:12 CST, end at Fri 2021-02-19 14:31:15 CST. --
Feb 18 20:17:12 pre-iot dockerd-current[1658]: [2021-02-18 20:17:12:2188.109 cache.device.go:94 [DEBUG] [cache] GetDevice: A0BB3ED304FA]
Feb 18 20:17:12 pre-iot dockerd-current[1658]: [2021-02-18 20:17:12:2188.109 cache.cmdrecord.go:122 [DEBUG] [cache] GetActiveCmdRecordsFromSn sn A
Feb 18 20:17:12 pre-iot dockerd-current[1658]: [2021-02-18 20:17:12:2188.110 mqttmessagehandler.go:60 [DEBUG] [mqttMessageHandler] active commands
Feb 18 20:17:12 pre-iot dockerd-current[1658]: [2021-02-18 20:17:12:2188.112 mqttproducer.go:60 [DEBUG] [MqttProducer] ProduceMqttMessage]

关于级别说明:
0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug
一个字段有哪些值我们可以通过下边命令查看

查看字段值

[root@pre-iot ~]# journalctl -F PRIORITY
7
3
5
6
  • 方法二
journalctl -p err

或写成

journalctl -p 3

1.4 按时间查询

  • 查看2月19号15:10之后的日志
# journalctl --since "2021-02-19 15:10:00"

如果时间未填写,默认 00:00:00

  • 查看2月19号15:10到15:15的日志
# journalctl --since "2021-02-19 15:10:00" --until   "2021-02-19 15:15:00"
  • 获取昨天日志
 journalctl --since yesterday

说明:
1)此时不会带入今天日志
2)其它值如:today

  • 10点到2小时之后的日志
journalctl --since 10:00 --until "2 hour ago"

1.5 其他

  • 查看实时日志
journalctl -f
  • 查看最后n行
journalctl -n 200
  • 不分页显示
journalctl --no-pager
  • 适合阅读模式
[root@pre-iot ~]# journalctl -p 3 -o json-pretty
{"__CURSOR" : "s=00000000000000000000000000000000;i=4723d36;b=fa4d204b7c914952aa122f81601779d0;m=7f08844e1a8;t=5bb9b577d9228;x=66fc20d38ca0"__REALTIME_TIMESTAMP" : "1613650745725480","__MONOTONIC_TIMESTAMP" : "8729659761064","_BOOT_ID" : "fa4d204b7c914952aa122f81601779d0","_TRANSPORT" : "journal","_PID" : "1658","_UID" : "0","_GID" : "0","_COMM" : "dockerd-current","_EXE" : "/usr/bin/dockerd-current","_CMDLINE" : "/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --e"_CAP_EFFECTIVE" : "1fffffffff","_SYSTEMD_CGROUP" : "/system.slice/docker.service","_SYSTEMD_UNIT" : "docker.service","_SYSTEMD_SLICE" : "system.slice","_MACHINE_ID" : "20190711105006363114529432776998","_HOSTNAME" : "pre-iot","CONTAINER_TAG" : "c9199286e1eb","CONTAINER_ID" : "c9199286e1eb","CONTAINER_ID_FULL" : "c9199286e1ebec7ab987c55c91bf241aa01dbf5f97c8e43519781bbbdaa97855","CONTAINER_NAME" : "iot-remoteops","MESSAGE" : "[2021-02-18 20:19:05:2188.724 cache.upgradetask.go:131 [ERROR] [cache] <nil>]","PRIORITY" : "3","_SOURCE_REALTIME_TIMESTAMP" : "1613650745725005"
}
  • 查看内核日志
journalctl -k

2. 清理和限制

2.1 查看占据磁盘空间

[root@pre-iot ~]# journalctl --disk-usage
Archived and active journals take up 1008.0M on disk.

2.2 清理日志

  • 按大小清理

说明:保留最新的1G日志

journalctl --vacuum-size=1G
  • 按时间清理

说明:清除一年之前的日志

journalctl --vacuum-time=1years

2.3 限制大小

- 文件示例

配置文件:/etc/systemd/journald.conf

SystemMaxUse=2G
SystemKeepFree=4G
SystemMaxFileSize=100M
RuntimeMaxUse=2G
RuntimeKeepFree=4G
RuntimeMaxFileSize=100M

- 说明

整体说明
1) 以 “System” 开头的选项用于限制磁盘使用量
也就是 /var/log/journal 的使用量。仅在 /var/log/journal 目录确实存在且可写时才有意义。
2) 以 “Runtime” 开头的选项用于限制内存使用量, 也就是 /run/log/journal 的使用量。
3)journalctl 与 systemd-journald 工具会忽略日志目录中 所有后缀名不等于 “.journal” 或 “.journal~” 的文件, 其他文件 永远不会被清理。

  • SystemMaxUse=
    作用:持久存储占用磁盘大小限制
    默认:默认值是10%空间与4G空间两者中的较小者;

  • RuntimeMaxUse=
    作用:占用内存大小限制(/run文件系统之内)
    默认:默认值是10%空间与4G空间两者中的较小者

  • SystemKeepFree=
    作用:添加新条目时需要保留的磁盘剩余空间
    默认:默认值是15%空间与4G空间两者中的较大者

  • RuntimeKeepFree=
    作用:内存保留的剩余空间
    默认:默认值是15%空间与4G空间两者中的较大者

  • SystemMaxFileSize=
    作用:限制单个日志文件的最大体积(到达此限制后日志文件将会自动滚动)
    默认: SystemMaxUse 值的1/8

  • RuntimeMaxFileSize=

作用:限制单个日志文件占用的内存大小(/run文件系统之内)
默认: RuntimeMaxUse= 值的1/8

  • 重启生效
systemctl restart systemd-journald

05-linux日志管理-04-journalctl 命令(查询、日志清理、大小限制)相关推荐

  1. linux下journalctl日志在哪,使用linux的journalctl命令查看日志

    服务器 本篇文章和大家了解一下使用linux的journalctl命令查看日志.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. Systemd统一管理所有 Unit 的启动日志.带来 ...

  2. mysql 慢查询日志的作用_MySQL慢查询日志的作用和开启

    前言 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.lon ...

  3. MySQL日志(一)—— 慢查询日志slow log

    一.慢查询日志(slow log) 慢查询日志,就是查询超过一定的时间没有返回结果的时候,MySQL会将执行的SQL记录到日志中,这个日志,就称为慢查询日志.通过分析慢查询日志,可以快速找出执行慢的S ...

  4. linux journalctl 命令 查询systemd init 系统日志

    journalctl 用来查询 systemd-journald 服务收集到的日志.systemd-journald 服务是 systemd init 系统提供的收集系统日志的服务. 命令格式为: j ...

  5. L48.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- last、lastb和lastlog

    7.17 last:显示用户登录列表 7.17.1 命令详解 ​ [命令星级] ★★★★★ ​ [功能说明] ​ last命令能够从日志文件/var/log/wtmp读取信息并显示用户最近的登录列表. ...

  6. Linux 有关管理进程的命令小结

    1.kill NAME kill - terminate a process (终止进程) SYNOPSIS kill [-signal] pid 说明: kill 给指定进程发送指定信号. 如果没有 ...

  7. linux pmap命令,Linux进程管理之pmap命令解析【每日一个知识点第130期-Linux】

    使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...

  8. 如何使用新一代轻量级分布式日志管理神器 Graylog 来收集日志

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了.是多个环境的日志统一收集 ...

  9. mysql日志管理_关于MySQL的日志管理(binlog)

    关于MySQL的日志管理(binlog) 一.查看binlog的启用状态 最常用的mysql版本是5.7,默认不开启binlog,可以在登录mysql之后,利用以下命令查看当前的binlog启用状态: ...

  10. 如何在日志中查找mysql日志临时密码_通过查询日志定位持有锁的SQL语句

    MYSQL 版本: mysql> select version(); +------------+ | version()  | +------------+ | 5.6.27-log | +- ...

最新文章

  1. 研究生第一篇科研论文常犯问题总结
  2. windowslive writer 发布问题
  3. 使用adb命令控制Android
  4. [转载] 百科全说——王晓斋:解析中西医应对肝肾问题(10-10-12)
  5. Technical news July-11
  6. python连接各种数据库数据_Python连接各种数据库
  7. 天津计算机的专科学校,天津市电子计算机职业中等专业学校
  8. 10个css动画,10个精妙的CSS和Javascript动画Logo的示例(上)
  9. springboot整合curator实现分布式锁
  10. ddwrt 扩张linux分区,『2010.8.9』DDWRT脱机下载+架设网站修正加强版tar.gz模式发布(修复下载地址)...
  11. MVC3 EntityFramework 插入Mysql数据库 乱码问题
  12. 万网域名查询是否注册接口
  13. UWB技术的工作原理
  14. Win10卸载office出现安装包语言不受系统支持
  15. 计算机考研调剂心酸,考研,这一路走来、辛酸苦辣~百感交集~(转)
  16. 关于Mongodb的全面总结,学习mongodb的人,可以从这里开始
  17. 《实战网络营销 网络推广经典案例战术解》扫描版[PDF]
  18. Web作业表单的制作
  19. 用3DSMAX制作文字的聚合分散
  20. 通信基础概念(三)相关与正交

热门文章

  1. PostgreSql pg_dump用法
  2. 《c语言修炼内功之第二种境界(看代码就是内存)之关键字系列二》
  3. 一文带你读懂深度学习中的张量(tensor)是什么,它的运算是怎样的,如何理解张量,张量的维度,浅显易懂
  4. 3.机器学习—数据科学包3.2pandas基础
  5. 解决GPU driver is too old
  6. 乐高无线服务器必须有房主,乐高联手腾讯出游戏,国内首创儿童保护专属服务器...
  7. Java FX8_第一篇_编写第一个Java FX Application
  8. matplotlib隐藏刻度线、标签和边线
  9. Shamir门限秘密共享
  10. 使用PHP来删除文件中 指定文字内容