You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: add fields such as CONTAINER_NAME to journald log entries sent to by containers
In the current implementation, containers running by `nerdctl` dose not
export entries containing fields such as `CONTAINER_NAME`, `IMAGE_NAME`
, and etc to the journald log like containers running by `docker cli`.
At this time, the journald log entry describes below when sending to the
journald log using nerdctl.
```
> nerdctl run -d --name nginx-nerdctl --log-driver=journald nginx
bb7df47d27fd73426cec286ed88c5abf1443e74df637e2440d2dbca7229a84dc
> nerdctl ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb7df47d27fd docker.io/library/nginx:latest "/docker-entrypoint.…" 3 seconds ago Up nginx-nerdctl
> sudo journalctl SYSLOG_IDENTIFIER=bb7df47d27fd -a -n 1 -o json-pretty
{
"__CURSOR" : "???",
"__REALTIME_TIMESTAMP" : "1730899940827182",
"__MONOTONIC_TIMESTAMP" : "10815937979908",
"_BOOT_ID" : "???",
"_UID" : "0",
"_GID" : "0",
"_CAP_EFFECTIVE" : "1ffffffffff",
"_MACHINE_ID" : "???",
"_HOSTNAME" : "???.us-west-2.amazon.com",
"_TRANSPORT" : "journal",
"_SYSTEMD_SLICE" : "system.slice",
"PRIORITY" : "3",
"_SYSTEMD_CGROUP" : "/system.slice/containerd.service",
"_SYSTEMD_UNIT" : "containerd.service",
"_COMM" : "nerdctl",
"_EXE" : "/usr/local/bin/nerdctl",
"_CMDLINE" : "/usr/local/bin/nerdctl _NERDCTL_INTERNAL_LOGGING /var/lib/nerdctl/1935db59",
"SYSLOG_IDENTIFIER" : "bb7df47d27fd",
"_PID" : "8118",
"MESSAGE" : "2024/11/06 13:32:20 [notice] 1#1: start worker process 44",
"_SOURCE_REALTIME_TIMESTAMP" : "1730899940825905"
}
```
On the other hand, the output fields are listed below when we use the
journald logging driver with docker cli.
- https://docs.docker.com/engine/logging/drivers/journald/
As you can see, some entries are not output by nerdctl and are
incompatible with the docker cli.
This feature request is reported in the following:
- #3486
Therefore, in this pull request, we will add the fields to be output in
the journald log.
After applying this fix, the journald log will output the following
fields.
```
{
"__CURSOR": "???",
"__REALTIME_TIMESTAMP": "1731385591671422",
"__MONOTONIC_TIMESTAMP": "11301588824148",
"_BOOT_ID": "???",
"_MACHINE_ID": "???",
"_HOSTNAME": "???.us-west-2.amazon.com",
"PRIORITY": "3",
"_TRANSPORT": "journal",
"_UID": "0",
"_GID": "0",
"_COMM": "nerdctl",
"_EXE": "/usr/local/bin/nerdctl",
"_CMDLINE": "/usr/local/bin/nerdctl _NERDCTL_INTERNAL_LOGGING /var/lib/nerdctl/1935db59",
"_CAP_EFFECTIVE": "1ffffffffff",
"_SYSTEMD_CGROUP": "/system.slice/containerd.service",
"_SYSTEMD_UNIT": "containerd.service",
"_SYSTEMD_SLICE": "system.slice",
"CONTAINER_NAME": "nginx-nerdctl",
"IMAGE_NAME": "nginx",
"CONTAINER_ID_FULL": "fe22eccbd704ba799785999079ac465ed067d5914e9e3f1020e769921d5a83c5",
"SYSLOG_IDENTIFIER": "fe22eccbd704",
"CONTAINER_TAG": "fe22eccbd704",
"CONTAINER_ID": "fe22eccbd704",
"_PID": "31643",
"MESSAGE": "2024/11/12 04:26:31 [notice] 1#1: start worker process 44",
"_SOURCE_REALTIME_TIMESTAMP": "1731385591669765"
}
```
Signed-off-by: Hayato Kiwata <[email protected]>
0 commit comments