问题标签 [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 回答
1378 浏览

docker - 使用 fluentd 从 jorunald 中过滤掉容器日志

我有大约 30 个 docker 容器,它们将日志写入带有标签“container_name”的日志。我正在使用 google-fluentd 将日志发送到 Google Stackdriver。我发现很难使用 journald 中给出的标签对日志进行分类。

google-fluentd.conf 中,我尝试将日志一一标记到 Stackdriver,如下所示。

这可行,但如果服务数量增加,我将不得不一次包含一个块。如果不这样做,是否有一种简单的方法可以从标签中的日志中获取容器日志并写入 Stackdriver?

0 投票
0 回答
81 浏览

c - 如何在 C 程序中设置日志记录优先级?

目前,“Hello World”确实总是出现在期刊中。如果调试为 1,我该如何防止这种情况发生,例如只在日志中使用?

我在资源有限的系统上,无法承受太多的日志记录。

提前致谢!

另外:我要求与 Python 等效logging.Logger.setLevelhttps://docs.python.org/3/library/logging.html#logging.Logger.setLevel)。

0 投票
1 回答
173 浏览

coredump - 如何从 systemd-coredump / coredumpctl / systemd-journal 获取内存映射信息

当我使用 ABRT 报告崩溃时,它会附加一个文件maps,其中显示内存映射 - 及其权限 - 从/proc/self/maps.

尽管gnome-shell出现在coredumpctl. (这会搜索 systemd 日志中的记录,由 systemd-coredump 编写)。

我看不到任何选项来显示映射信息coredumpctl。我试过了coredumpctl gdb。令人惊讶的是,info proc mappings似乎可以工作:-) 但是这个 gdb 命令似乎并没有像告诉我每个映射的权限一样/proc/self/maps

是否有可能获得这些信息?我宁愿确认 gnome-shell 访问以触发崩溃的特定映射的权限。

0 投票
3 回答
1230 浏览

logging - 系统服务和结构化日志记录

我有一个 systemd 服务,它的类型是simple.

我希望我的服务记录键值对。

到目前为止,我的简单服务只是以自定义键值语法将其日志打印到标准输出。

我想避免我的自定义键值语法,它使用官方方式进行结构化日志记录。

有没有办法在 systemd 中使用结构化日志?

例如,我的服务将其写入标准输出:

systemd 可以将字符串读取为 json 会很棒。

0 投票
0 回答
1181 浏览

docker - 启动 docker 服务时出错。“docker.service 的依赖项作业失败。有关详细信息,请参阅 'journalctl -xe'。”

因此,在对 docker 配置进行了一些细微更改后,我尝试重新启动 docker,结果出现以下错误消息:

A dependency job for docker.service failed. See 'journalctl -xe' for details.

Kubernetes 也在运行这个 docker 守护进程的同一台机器上运行。以下是 docker 服务的日志(输出journalctl -u docker.service)。

我关注了 Github 和 SO 的一些链接,但到目前为止没有运气,任何提示都值得赞赏以下是我尝试过的事情:

  1. 删除/var/log/docker,重新加载 docker-daemon 并尝试重新启动 docker,没有用。

  2. override.conf在目录中创建一个名为的文件/etc/systemd/system/containerd.service.d并尝试重新启动 docker 服务不起作用。

0 投票
1 回答
889 浏览

docker - 如何从 docker 容器配置日志中显示的主机名?

我通过 记录我的 docker 容器的活动journald。容器提供的主机名是非描述性的。一个 Minecraft docker 容器的示例:

c34ebd053ff5几乎没有提供信息,我担心它会随着时间而改变(例如,如果它是某种散列,则使用新图像)。

有没有办法强制容器名称用于记录目的?

我尝试使用标签 /etc/docker/daemon.json,但没有帮助:

编辑:容器由管理docker-compose,每个条目都有一个有意义的container_name(因此默认情况下不在日志中使用)

0 投票
1 回答
231 浏览

logging - JVM 使用 Systemd 日志传输并直接输出到 JournalCTL 而不是 STDout

JVM 使用 Systemd 日志传输并直接输出到 JournalCTL 而不是 STDout。我正在开发 Clojure 应用程序,它将日志直接打印到标准输出中。SystemD 服务从那里挑选它并放入日志文件中。但是碰巧异常记录在多个单独的行中。如何使用具有多行日志条目的 SystemD 日志?

0 投票
1 回答
584 浏览

javascript - 从 unix 时间戳获取 ISOString(以微秒为单位)

我有一个纪元/unix 时间戳,它是在运行journalctl -o json-pretty -f命令后得到的。"__REALTIME_TIMESTAMP" : "1576681153604871"所以我从给定的日志中得到我的价值。我想将其转换为 ISOString 格式,所以我使用下面的代码

我得到如下输出

“2019-12-18T14:25:49.605Z”

我什至希望在这样的地方显示微秒部分

“2019-12-18T14:25:49.605762Z”

myDate.toISOString()如果我不将纪元转换为毫秒,则无法正常工作。

我不知道 time % 1000提取微秒部分然后附加它以获得所需的输出是否是正确的方法。

那么有没有办法以微秒格式获取输出?

0 投票
1 回答
92 浏览

systemd-journald - 如何监视 JournalD 中某些特定进程的错误/致命错误消息并启动一些回调(如果有)

如何监视 JournalD 中某些特定进程的错误/致命错误消息并启动一些回调(如果有)。假设某些服务 - 比如说 Nginx 发布带有错误的日志 - 一些脚本会调用。如何制作这样的脚本?

0 投票
1 回答
36 浏览

debian - Go syslog 包 - 消息在不同的文件中被三重复制

在 Debian 9(拉伸)系统 4.14 内核上,我有一些用 Go 编写的应用程序,它们广泛使用日志记录。我发现这些日志消息被重复了三次。

使用以下代码,所有日志消息都写入 /var/log/messages 、 /var/log/kern.log 和 /var/log/syslog

我认为这与 journald 和 syslog(或 rsyslog)的双重职责有关,但我不确定。

如果有帮助,这是一个运行 Debian 发行版的股票 Beaglebone Black。

如何阻止将这些消息写入 kern.log 和 syslog 并将它们写入消息?