1. 首页 > 科技 >

journalctl查看日志(journal日志清理)

linux7里 journalctl xe什么意思

linux7里 journalctl xe查看系统日志的意思,作方法如下:

journalctl查看日志(journal日志清理)journalctl查看日志(journal日志清理)


journalctl查看日志(journal日志清理)


1、首先在linux中输入不带参数的journalctl,将显示所有的信息,(从旧到新)。

2、-r参数表示反序输出,(从新到旧)。

3、跟踪日志文件,要使用 journalctl 跟踪日志文件 (读取条目), 只需在命令后加参数 "-f" 即可。journalctl -f。

4、还可以通过-n 或者 --lines=参数来指定显示的行数大小。

5、journalctl可以显示指定时间段内发生的日志,通过since和until 参数来实现。其中日期的格式是“YYYY-MM-DD HH:MM:SS”。

journalctl查看日志(journal日志清理)


查看linux日志的工具有哪些

linux日志广义上是所有的log文件,通常都是文本文件,任何文本编辑器都可以查看。

狭义的日志是指的linux 的journal 日志,linux提供了journalctl命令,进行日志的查看。

【1】命令:journalctl##直接执行,进行日志的查看

【2】参数:-n 3 ##查看最近三条记录-perr##查看错误日志-overbose##查看日志的详细参数

  --since##查看从什么时候开始的日志 --until##查看什么时候截止的日志

【3】如何使用--- d-journald ---保存系统日志信息

【4】示例: 使用-n命令来显示最近3条命令

journalctl -n 3

Centos7 终端报Message from syslogd :kernel:unregister_netdev

在使用k8s集群的过程中,有些doceker容器注册网卡之后,没有及时释放。导致频繁报出日志告警。

而此时远程终端打字都比较困难,老是被打断,那么该怎么去临时解决这个问题呢?

其实这个并不会影响什么,但是要单个去处理又很麻烦。所以,先决定停止这类告警,然后后续再考虑如何下一步处理问题。

那么如何停止这类告警呢?

这类告警信息都是由linux系统中的syslog服务提供的。

关闭 rsylog 服务之后,终端打字就不会受到影响了,如果还要看日志信息,可以使用 journalctl -f 来进行查看,如下:

打开配置文件 /etc/rsyslog.conf

注释了这句所有人发送紧急通知之后,重启启动进程服务。

注释之后,启动服务之后,屏幕上就会继续告警打断打字了,下一步就是找个时间来具体看看这个网卡的原因。

如何使用Journalctl查看并作Systemd日志

使用二进制journal的一大好处在于,它能够以UTC或者本地时间显示日志记录。在默认情况下,d会以本地时间显示结果。

有鉴于此,在我们开始使用journal之前,首先要确保时区得到正确设置。Systemd套件中还提供一款timedatectl工具,专门用于解决此类问题。

首先,利用list-timezones选项查看可用时区:

timedatectl list-timezones

结果将列出系统上可用的全部时区。而后选择与所在地相匹配的项目,并使用set-timezone选项加以设置:

sudo timedatectl set-timezone zone

为了确保我们的设备使用正确的时间,可单独使用timedatectl命令或者添加status选项。显示结果如下:

timedatectl status

Local time: Thu 2015-02-05 14:08:06 EST

Universal time: Thu 2015-02-05 19:08:06 UTC

RTC time: Thu 2015-02-05 19:08:06

Time zone: America/New_York (EST, -0500)

NTP enabled: no

NTP synchronized: no

RTC in local TZ: no

DST active: n/a

行所示应为正确时间。

d的统一日志记录系统journalctl,助力问题定位

d程序是进程ID为1的进程,负责以所需的方式初始化系统。 d由内核直接启动,信号 9(该信号通常会终止进程)对它不起作用 。d统一管理所有 Unit 的启动日志,好处是仅用journalctl一个命令,查看所有日志(内核日志和应用日志)。

d-journald.serv从内核、用户进程、标准输入和系统服务错误收到的日志记录信息,维护结构化的索引日记,并以此方式来收集和储存日志记录数据。d-journald服务默认处于启用状态。

显示特定进程 ID 生成的讯息:

# journalctl _PID=1039

显示属于特定用户 ID 的讯息:

# journalctl _UID=1000

仅显示指定服务生成的讯息:

# journalctl _SYSTEMD_UNIT=ahi-daemon.serv

如果指定了两个不同的字段,则 仅显示同时与两个表达式匹配的项 :

# journalctl _SYSTEMD_UNIT=ahi-daemon.serv _PID=1488

如果 两个匹配条件引用了相同的字段,则显示与两个表达式中任意一个匹配的所有项 :

# journalctl _SYSTEMD_UNIT=ahi-daemon.serv _SYSTEMD_UNIT=dbus.serv

您 可以使用“+”分隔符将两个表达式组合成一个逻辑“OR” 。以下示例将显示来自进程 ID 为 1480 的 Avahi 服务进程的所有讯息,以及来自 D-Bus 服务的所有讯息:

# journalctl _SYSTEMD_UNIT=ahi-daemon.serv _PID=1480 + _SYSTEMD_UNIT=dbus.serv

默认情况下,日记在 /run/log/journal/ 中储存日志数据。由于 /run/ 目录具有易失本性,因此, 在重时会丢失日志数据 。要保存日志数据,/var/log/journal/ 目录必须存在且具有正确的所有权和权限,如此,d-journald 服务便可在其中储存其数据。

以 root 身份编辑journald.conf。

# vi /etc/d/journald.conf

将包含Storage= 的行取消注释,并更改为

[...]

[Journal]

Storage=persistent

#Compress=yes

[...]

保存该文件,然后重启 d-journald:

ctl restart d-journald

如果将日记日志数据保存到位置, 这些数据最多占用/var/log/journal 所在文件系统空间的10% 。如果 /var/log/journal 位于一个 30 GB /var 的分区中,则日记最多会占用 3 GB 磁盘空间。要更改此限制,请更改(并取消注释)SystemMaxUse 选项:

SystemMaxUse=50M

举例:如何找出并修复在 apache2 启动期间 d 报告的错误。

尝试启动 apache2 服务:

# ctl start apache2

Job for apache2.serv failed. See 'ctl status apache2' and 'journalctl -xn' for details.

我们来看看该服务的状态如何:

# ctl status apache2

apache2.serv - The Apache Webserver

Loaded: loaded (/usr/lib/d//apache2.serv; disabled)

Active: failed (Result: exit-code) since Tue 2014-06-03 11:08:13 CEST; 7min ago

Process: 11026 ExecStop=/usr/in/start_apache2 -D SYSTEMD -DFOREGROUND \

-k graceful-stop (code=exited, status=1/FAILURE)

导致错误的进程 ID 为 11026。

显示与进程 ID 11026 相关的详细讯息:

# journalctl -o verbose _PID=11026

[...]

MESSAGE=AH00526: Syntax error on line 6 of /etc/apache2/default-server.conf:

[...]

MESSAGE=Invalid command 'DocumenttRoot', perhaps misspelled or defined by a module

[...]

修复 /etc/apache2/default-server.conf 中的拼写错误,启动 apache2 服务,然后列显其状态:

# ctl start apache2 && ctl status apache2

apache2.serv - The Apache Webserver

Loaded: loaded (/usr/lib/d//apache2.serv; disabled)

Active: active (running) since Tue 2014-06-03 11:26:24 CEST; 4ms ago

Process: 11026 ExecStop=/usr/in/start_apache2 -D SYSTEMD -DFOREGROUND

-k graceful-stop (code=exited, status=1/FAILURE)

Main PID: 11263 (d2-prefork)

Status: "Processing requests..."

CGroup: /.sl/apache2.serv

├─11263 /usr/in/d2-prefork -f /etc/apache2/d.conf -D [...]

├─11280 /usr/in/d2-prefork -f /etc/apache2/d.conf -D [...]

├─11281 /usr/in/d2-prefork -f /etc/apache2/d.conf -D [...]

├─11282 /usr/in/d2-prefork -f /etc/apache2/d.conf -D [...]

├─11283 /usr/in/d2-prefork -f /etc/apache2/d.conf -D [...]

└─11285 /usr/in/d2-prefork -f /etc/apache2/d.conf -D [...]

journalctl:查询d日记

CentOS7-快速查看系统日志

d拥有强大的解决与系统日志记录功能-d-journald。日志目录一般是在/var/log/journal,记录的是二进制文件,我们可以通过journalctl进行查看。

常用的作

显示所有日志:

journalctl

查看启动只有的所有日志:

journalctl -b

查看10条日志

journalctl -n 10

跟踪日志

journalctl -f

只显示冲突、告警和错误

journalctl -p err..alert

显示某个单元日志(也可以同时显示多个增加多个 -u nginx.serv -u php-fom.serv)

journalctl -u nginx.serv

根据时间查找

journalctl --since "20 min ago" #查找20分钟前的日志

journalctl --since today #查找今天的日志

journalctl --until 2019-10-23 #查找2019-10-23日期的日志

查看内核日志

journalctl -k

查找指定客户(UID)日志

journalctl _UID=1000

更详细的参数支持,支持一下参数:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息