首页 > 其他分享 >systemd 日志查看

systemd 日志查看

时间:2023-12-11 21:35:54浏览次数:25  
标签:systemd 07 查看 -- journalctl 日志 shuge

原文链接:https://blog.csdn.net/wangzhicheng987/article/details/122325623

 

持久化systemd日志

CentOS 7 可以使用systemd-journald来做日志中心库(生成日志文件夹),systemd-journald 守护进程提供一种改进的日志管理服务,可以收集来自内核,启动过程的早期阶段,标准输出,系统日志,以及服务,守护进程启动和运行期间的错误的消息。

默认情况下,systemd 的日志保存在 /run/log/journal 中,系统重启会清除掉。
可通过新建目录,让日志自动记录到新建目录中,并永久存储。
将这些消息写到一个结构化的事件日志中,默认情况下不在重新启动之间保留。

    修改journal存储模式,配置为持久化

[root@shuge ~]# sed -i "/^#Storage/cStorage=persistent" /etc/systemd/journald.conf

 

[root@shuge ~]# cat /etc/systemd/journald.conf 
....
[Journal]
Storage=persistent
....

    先处理所需要的目录与相关权限设置 ( 可选,服务重启后会自动创建该目录 )

[root@shuge ~]# mkdir /var/log/journal
[root@shuge ~]# chown root:systemd-journal /var/log/journal
[root@shuge ~]# chmod 2775 /var/log/journal/

 

    重新启动 systemd-journald 并且观察备份的日志数据!

[root@shuge ~]#  systemctl restart systemd-journald.service

 

[root@shuge ~]# ll /var/log/journal/
total 0
drwxr-sr-x 2 root systemd-journal 117 Jan  5 16:06 2b17394d61974d95b2f8810a81a2dfcb

查看日志(journalctl)

Systemd 统一管理所有 Unit 的启动日志。可以只用journalctl一个命令,查看所有相关日志(内核日志和应用日志)。

    以flow形式查看日志,类似tail -f的效果

$ journalctl -f

[root@shuge local]#  journalctl -f
-- Logs begin at Mon 2021-01-04 19:16:30 CST. --
...
Jan 07 09:05:16 shuge.cn systemd[1]: Started Network Manager Script Dispatcher Service.
Jan 07 09:05:16 shuge.cn nm-dispatcher[1981]: req:1 'dhcp4-change' [ens32]: new request (2 scripts)
Jan 07 09:05:16 shuge.cn nm-dispatcher[1981]: req:1 'dhcp4-change' [ens32]: start running ordered scripts...

Jan 07 09:07:12 shuge.cn systemd[1]: Starting Cleanup of Temporary Directories...
Jan 07 09:07:13 shuge.cn systemd[1]: Started Cleanup of Temporary Directories.

 

查看内核日志

$ journalctl -k

[root@shuge local]#  journalctl -k
-- Logs begin at Mon 2021-01-04 19:16:30 CST, end at Fri 2022-01-07 09:07:13 CST. --
....
Jan 07 16:51:31 zaishu.cn kernel: BIOS-e820: [mem 0x000000003ff00000-0x000000003fffffff] usable
Jan 07 16:51:31 zaishu.cn kernel: BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved
Jan 07 16:51:31 zaishu.cn kernel: BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
Jan 07 16:51:31 zaishu.cn kernel: BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
Jan 07 16:51:31 zaishu.cn kernel: BIOS-e820: [mem 0x00000000fffe0000-0x00000000ffffffff] reserved
Jan 07 16:51:31 zaishu.cn kernel: NX (Execute Disable) protection: active
......

查看指定服务日志

$ journalctl -u mysql.serivce

[root@shuge local]# journalctl -u mysql.service
-- Logs begin at Mon 2021-01-04 19:16:30 CST, end at Fri 2022-01-07 09:07:13 CST. --
Jan 07 09:03:30 shuge.cn systemd[1]: Starting MySQL Server...
Jan 07 09:03:31 shuge.cn mysqld[1771]: Starting MySQL.[  OK  ]
Jan 07 09:03:31 shuge.cn systemd[1]: Started MySQL Server.

查看指定日期日志

$ journalctl --since=“2021-11-21 12:14:00” -u mysql
$ journalctl --since=“2021-11-21 12:14:00” --until=“2021-11-21 23:14:00” -u mysql

[root@shuge local]#  journalctl --since="2021-11-21 12:14:00" -u mysql
-- Logs begin at Mon 2021-01-04 19:16:30 CST, end at Fri 2022-01-07 09:07:13 CST. --
Jan 07 09:03:30 shuge.cn systemd[1]: Starting MySQL Server...
Jan 07 09:03:31 shuge.cn mysqld[1771]: Starting MySQL.[  OK  ]
Jan 07 09:03:31 shuge.cn systemd[1]: Started MySQL Server.

 

[root@shuge local]# journalctl --since="2021-11-21 12:14:00" --until="2021-11-21 23:14:00" -u mysql
-- Logs begin at Mon 2021-01-04 19:16:30 CST, end at Fri 2022-01-07 09:07:13 CST. --

 

查看指定级别日志

$ journalctl -p 3 -u mysql.service

    日志级别
    操作系统提供了从0 (emerg) 到 7 (debug) 一共7个级别的日志,7个级别的含义为:
    0: emerg
    1: alert
    2: crit
    3: err
    4: warning
    5: notice
    6: info
    7: debug
[root@shuge local]# journalctl -p 3 -u mysql.service
-- No entries --

 

查看日志占用的磁盘空间

$ journalctl --disk-usage

[root@shuge local]#  journalctl --disk-usage
Archived and active journals take up 16.0M on disk.

 

设置日志占用的空间

$ journalctl --vacuum-size=500M

[root@shuge local]# journalctl --vacuum-size=500M
Vacuuming done, freed 0B of archived journals on disk.

设置日志保存的时间

$ journalctl --vacuum-time=1month

[root@shuge local]#  journalctl --vacuum-time=1month
Deleted archived journal /var/log/journal/2b17394d61974d95b2f8810a81a2dfcb/system@03f61e2080f54516b6dc72d59c364ebd-0000000000000001-0005b81138ce4b57.journal (8.0M).
Vacuuming done, freed 8.0M of archived journals on disk.

 

检查日志文件一致性

$ journalctl --verify

[root@shuge local]# journalctl --verify
PASS: /var/log/journal/2b17394d61974d95b2f8810a81a2dfcb/system.journal    

 

 

Systemd 统一管理所有 Unit 的启动日志。可以只用journalctl一个命令,查看所有相关日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。

标签:systemd,07,查看,--,journalctl,日志,shuge
From: https://www.cnblogs.com/zjxcyr/p/17895601.html

相关文章

  • 记录 systemd、systemctl 始终无法启动我的net core程序的问题
    不通过systemd或ctl,直接到站点的目录,运行./SGT.DiggApis.Svc 是可以正常运行的。 说明netcore.runtime是正常安装了的。查看ctlstatus,又只会给出失败了但是具体原因就是不给: 现在关键是ctl启动的时候的错误原因找不到,实际上是有方法的:以上信息告知最后运行的PID是233......
  • 通过命令行启用 logcat 日志本地存储功能
    注意:本文基于Android12进行分析Qidi2023.12.06(MarkDown&Haroopad)0.背景在Android系统上进行开发时,为了分析bug,有些时候我们需要抓取开机日志。很多人知道,通过界面操作进入开发者选项就可以打开logcat日志的本地存储功能,从而很方便的抓取完整的开机日志。但......
  • postgresql查看表、字段注释
    一、查看pg表字段‘名称’、‘类型’、‘非空’、‘注释’SELECTa.attnameas字段名,format_type(a.atttypid,a.atttypmod)as类型,a.attnotnullas非空,col_description(a.attrelid,a.attnum)as注释FROMpg_classasc,pg_attributeasawherea.attrelid=c.oida......
  • ConcurrentModificationException日志关键字报警引发的思考
    本文将记录和分析日志中的ConcurrentModificationException关键字报警,还有一些我的思考,希望对大家有帮助。一、背景近期,在日常的日志关键字报警分析时,发现我负责的一个电商核心系统在某时段存在较多ConcurrentModificationException异常日志,遂进行分析和改进,下面是我的一些思考......
  • Grafana系列-Loki-基于日志实现告警
    系列文章Loki系列文章前言实际应用中除了基于Metrics告警,往往还有基于日志的告警需求,可以作为基于Metrics告警之外的一个补充.典型如基于NGINX日志的错误率告警.本文将介绍如何基于Loki实现基于日志的告警.本文我们基于以下2类实际场景进行实战演练:基于......
  • centos使用htop查看资源
    环境centos7.9介绍htop是一个用于实时查看和管理系统的进程、内存、CPU使用情况的命令行工具。它提供了一个友好的界面,可以轻松地在终端中监控你的Linux系统。使用安装yuminstallhtop-y如果没有次安装包,更新最新的源yuminstallepel-release-y启动htop3.......
  • 通过宿主机查看K8S或者是容器内的Java程序的简单方法
    通过宿主机查看K8S或者是容器内的Java程序的简单方法背景最近一个项目的环境出现了cannotcreatenativeprocess的错误提示出现这个错误提示时,dockerexec或者是kubeexec进入容器/POD内部后,无法使用jstack等的命令.然后想简单查看一下问题原因都无从下手.这次......
  • Amazon如何日志实践的?
    1深入研究日志第一次工作遇到代码报错尝试解决并没有做好,而且我不清楚是哪里做错了。一位同事建议我打开日志看看是哪里出错了。而要这样做,他说我应该“cat日志文件”。当时我真以为同事们在和我开玩笑,或者在说一个关于猫的笑话,只不过我没听懂。我在大学里使用Linux只是为了......
  • Oracle查看和终止正在执行的SQL语句
    Oracle查看和终止正在执行的SQL语句--查询当前用户正在执行的SQL语句selecta.sid,a.serial#,a.paddr,a.machine,nvl(a.sql_id,a.prev_sql_id)sql_id,b.sql_text,b.sql_fulltext,b.executions,b.first_load_time,b.last_load_time,b.last_active_time,b.disk_reads,b.direct_wr......
  • oracle日志模式
    oracle日志模式一、oracle日志模式分为(logging,forcelogging,nologging)默认情况是logging,就是会记录到redo日志中,forcelogging是强制记录日志,nologging是尽量减少日志。FORCELOGGING可以在数据库级别、表空间级别进行设定、而LOGGING与NOLOGGING可以在表级别设定。注:FORCELOGGIN......