标签: journalctl

如何按进程名称过滤 journalctl 输出?

当一个进程登录到 systemd 时,它的进程名称被记录并显示为 journalctl 输出中的标识符。

$ systemd-cat echo "test"
$ journalctl -f
-- Logs begin at Sat 2018-02-24 12:13:24 CET. --
...
Jul 25 13:52:26 mycomputer echo[25098]: test
Run Code Online (Sandbox Code Playgroud)

但是,过滤该名称似乎不起作用。

$ journalctl -f -t echo
-- Logs begin at Sat 2018-02-24 12:13:24 CET. --
$ journalctl -f -u echo
-- Logs begin at Sat 2018-02-24 12:13:24 CET. --
Run Code Online (Sandbox Code Playgroud)

当我手动指定标识符时,会显示标识符而不是进程名称并且过滤工作。

$ systemd-cat -t myapp echo "test"
$ journalctl -f
-- Logs begin at Sat 2018-02-24 12:13:24 CET. --
Jul 25 13:56:08 mycomputer …
Run Code Online (Sandbox Code Playgroud)

logging journald journalctl

6
推荐指数
1
解决办法
8644
查看次数

journalctl 日志的可靠导出

我寻找一种可靠导出 journalctl 日志的方法。

我可以使用该--since=...选项,但这有点模糊。

在我的情况下,脚本会journalctl --output=json每十分钟调用一次。

我不想错过任何一行,并且(如果可能)我想避免重复行。

问这个问题几天后,我遇到了 RELP:https : //en.wikipedia.org/wiki/Reliable_Event_Logging_Protocol

syslog journald journalctl

5
推荐指数
2
解决办法
1万
查看次数

Journalctl 和 syslog:它实际上是如何工作的?

我很难理解日志是如何在 linux 上工作的。

自从加入了systemd,看起来容易了一些,但是我还有几个概念还是不能完全理解。

给定一个带有 journalctl 的系统,我想向远程主机发送一些日志消息。为此,我安装了 rsyslog 并配置了 freeradius,以便将其日志输出到 local3,然后将 rsyslog 配置为将 local3 下的这些消息转发到远程 syslog 服务器。现在,系统日志是否在 rsyslog 和 journalctl 之间共享?这会导致任何形式的冲突吗?

除此之外:谁控制写入/var/log/messages 的内容?某个应用程序如何将其日志输出到此文件?它是由 rsyslog 管理的吗?通过系统?

如果有人能帮我理解整个 linux 日志服务,那就太好了。

linux syslog rsyslog systemd journalctl

5
推荐指数
1
解决办法
1万
查看次数

我怎样才能要求journalctl显示除一个单元之外的所有单元的记录?

journalctl -u ssh打印与 ssh 单元关联的所有记录。但是我怎样才能获得与 ssh 单元无关的所有记录呢?不起作用的事情:journalctl -u '!ssh'; journalctl '!_SYSTEMD_UNIT=ssh'; journalctl '_SYSTEMD_UNIT!=ssh'。文档并不表明这是可能的,但我仍然充满希望。;-)

logging systemd journalctl

5
推荐指数
0
解决办法
876
查看次数

在 Ubuntu 16.04 上使用 systemd 截断/丢失日志

我正在使用 Ubuntu 16.04 服务器,创建了一个基本的 nodejs 脚本并将其打包在一个简单的 systemd 服务中。

api.service 的内容/lib/systemd/system/api.service

[Unit]
Description=api
After=network.target

[Service]
WorkingDirectory=/var/node/api
ExecStart=/usr/bin/node index.js
Restart=always
RestartSec=5s
StartLimitInterval=60s
StartLimitBurst=5

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

当我用 看日志时journalctl -u api.service -n -f,似乎我的一些脚本输出行没有被记录,特别是当脚本在短时间内产生大量日志行时。

例如,如果 nodejs 脚本只是一个简单的 for 循环,输出前 3000 个整数,那么日志中似乎只记录了大约 2500 行。

index.js 的内容在/var/node/api/index.js

for (var i = 1; i <= 3000; i++) {
    console.log(i);
}
console.log("end of script");
Run Code Online (Sandbox Code Playgroud)

查看日志时journalctl -u api.service -n -f,我只得到大约 2500 行:

May 04 13:52:15 test systemd[1]: Stopping api...
May 04 13:52:15 …
Run Code Online (Sandbox Code Playgroud)

ubuntu systemd systemctl journald journalctl

2
推荐指数
1
解决办法
1397
查看次数

为什么我的 centos 6.6 盒子里没有 journalctl 以及如何安装/启用它?

我在 CentOS 上有各种环境,CentOS7+ 上的主机都带有 journalctl 命令,所以如果我需要查看系统日志,我可以这样做。

但是在另一个机器上它是 CentOS6.6,我得到了没有找到命令的错误。

谁能启发如何在没有journalctl的情况下检查CentOS6.6的登录?或者如何安装/启用 journalctl?

非常感谢。

centos journalctl

2
推荐指数
1
解决办法
4514
查看次数

标签 统计

journalctl ×6

journald ×3

systemd ×3

logging ×2

syslog ×2

centos ×1

linux ×1

rsyslog ×1

systemctl ×1

ubuntu ×1