问题标签 [systemd-journald]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
265 浏览

embedded-linux - Systemd-journald 磁盘磨损

我正在尝试将 journald 合并到运行基于 Yocto 的图像的平台中。该板具有 eMMC 闪存存储,可能会因过于频繁的写入而磨损,但我希望日志能够持久保存。

现在使用 syslog,它会记录到 tmpfs,然后使用 logrotate 压缩它们,并在日志超过一定大小时将它们保存到永久存储中。但是,这使得查询它们变得更加困难。

我看不到配置 journald 以记录到 tmpfs 并旋转到 eMMC 闪存的方法。日志轮换只是删除超过一定大小的日志。

任何帮助或指导将不胜感激,我很乐意提供任何其他信息。

谢谢,罗希特

0 投票
1 回答
40 浏览

docker - docker 发送内部 cerbot 日志文件到主机 journald

我正在构建一个嵌入了 nginx 和 certbot 的 docker 容器。

我希望能够在主机上使用 journald 记录 nginx 和 cerbot 的输出。

nginx 输出已经进入控制台,主机 journald 对此输出工作正常。

我的问题是我需要能够将以下文件发送到日志。我希望能够在主机上跟踪这些文件,因此需要实时发送。

这些文件是:

certbot (letsencrypt) 似乎没有提供任何替代方案,除了写入日志文件。

所以我想我正在从一些过程中寻找上面的日志文件,然后将输出发送到控制台。

鉴于 nginx 已经连接到控制台,我能想到的唯一选择是让一个主线程假脱机。线程,每个进程/文件一个,然后将上述文件的所有输出发送到“主”线程,然后将这些输出到控制台。

我希望有一个更简单的前进方式。

0 投票
1 回答
1635 浏览

docker - 使用 journald 日志记录驱动程序破坏 kubernetes pod 日志记录

看起来 journald pod 日志记录('kubectl logs' 命令)不适用于 kubernetes v1.18.x。有没有办法让它与 v1.18.x 一起工作?我已经设置了一个多节点集群,将 docker 日志驱动程序作为“journald”(使用 /etc/docker/daemon.json)并使用带有拉取方法的 systemd-journal-gatewayd 来聚合历史日志。但是,我对能够使用 'kubectl logs' 或 'kubectl logs -l 'app=label' --prefix -f' (对于集群范围的日志)来跟踪当前日志非常感兴趣。

运行“kubectl logs”会出现以下错误:

0 投票
0 回答
307 浏览

systemd - systemd 没有从 shell 脚本中捕获 echo 语句

我有一个直接调用 shell 脚本的 systemd 服务文件。我的期望是文件中的stdout和stderr会被journal+console捕获,但它只出现在syslog中。我应该在我的服务文件或脚本文件中进行哪些更改以使其按预期运行?

服务文件如下所示:

该脚本实际上调用了一个 jar,但为了简化,让我们考虑一个更简单的版本:

使用 systemd-cat 和 logger 我能够将 echo 语句定向到 systlog 和 journald,但日志仍然没有显示在控制台上。

将stdout和stderr定向到journal+console的正确方法是什么?

0 投票
0 回答
65 浏览

systemd-journald - journalctl 删除以下划线开头的字段

journalctl 有一个--output-fields标志,允许打印某些字段

我想知道是否有办法要求“除了以_开头的所有字段”?

0 投票
0 回答
34 浏览

systemd - 分析崩溃/死机系统的 systemd 日志

我最近升级了一个系统。重新启动后,我无法再次登录。所有用户都被拒绝了Login incorrect/var/log/journal带有日记功能的 systemd 正在运行,并像往常一样将错误消息写入文件。

我因此从安装了故障系统 /mnt 的根设备的可恢复 USB 记忆棒(相同的发行版)启动了一个系统,并尝试使用journalctl --root=/mnt/var/log/journal -xe. journalctl 没有找到日志文件。

问题:如何使用恢复系统读取死系统的 systemd 日志内容?

玩得开心

0 投票
1 回答
250 浏览

systemd-journald - journalctl --after-cursor 不适用于 shell 脚本

我正在尝试使用 cursor 选项在指定时间后从 journalctl 获取日志。下面是脚本文件中的代码。

这个脚本文件的输出是

正如我们在上面看到的journalctl --after-cursor 导致 "Failed to seek cursor error"

但是,如果在命令行终端中执行相同的操作,则 --after-cursor 会给出输出。

在 shell 脚本中使用 after-cursor 选项调用 journalctl 之前需要做些什么吗?

0 投票
1 回答
80 浏览

linux - Linux 日志守护程序日志和/或仅保留错误/关键事件日志

使用 systemd 日志守护程序是否可以配置持久日志 (/var/log/journal/*),以便仅将错误和关键级别事件实际存储到磁盘?

我们有非常大容量的服务器,每天仅在内核日志记录中就会产生千兆字节,但就日志而言,我们只真正关心错误/关键事件。

我已经检查了 /etc/systemd/journald.conf 的联机帮助页,但在选择持续存在的事件级别(或一般忽略哪些级别)的方式上似乎没有太多内容

https://www.freedesktop.org/software/systemd/man/journald.conf.html

0 投票
0 回答
51 浏览

go - 使用所需模块的旧版本编译 go 源代码

我试图构建一个go需要的源代码,go-systemd我在源包中看到go.mod 文件go-systemd中也提到了该版本。github.com/coreos/go-systemd/v22 v22.0.0但是当我运行go get -u源代码时。它失败并出现错误,我看到在v22.2.0.

我应该如何使用以前没有此代码的版本来避免此错误?我正在go version 1.16使用centos7

提前致谢。

0 投票
1 回答
374 浏览

service - 完全禁用将服务记录到日志

我有一项服务可以将不必要的消息记录到日志中。这可以完全关闭吗?

我试图用属于该服务的 log4j.properties 来完成它,但这对汉斯没有帮助