名称¶
podman-events - 监控 Podman 事件
概要¶
podman events [选项]
podman system events [选项]
描述¶
监控并打印发生在 Podman 中的事件。每个事件都包含时间戳、类型、状态、名称(如果适用)和镜像(如果适用)。默认的日志记录机制是 journald。这可以在 containers.conf 中通过将 events_logger
值更改为 file
来更改。只有 file
和 journald
被接受。还提供了 none
日志记录器,但此日志记录机制会完全禁用事件;podman events
不会报告任何内容。
默认情况下,使用流模式,在事件发生时打印新事件。之前的事件可以通过 --since
和 --until
列出。
容器 事件类型报告以下状态
attach
checkpoint
cleanup
commit
connect
create
died
disconnect
exec
exec_died
exited
export
import
init
kill
mount
pause
prune
remove
rename
restart
restore
start
stop
sync
unmount
unpause
update
Pod 事件类型报告以下状态
create
kill
pause
remove
start
stop
unpause
镜像 事件类型报告以下状态
loadFromArchive,
mount
pull
pull-error
push
remove
save
tag
unmount
untag
系统 类型报告以下状态
refresh
renumber
卷 类型报告以下状态
create
prune
remove
详细的创建事件¶
在 containers.conf(5) 中设置 events_container_create_inspect_data=true
指示 Podman 创建更详细的容器创建事件,其中包含一个包含有关容器的详细信息的 JSON 负载。JSON 负载与 podman-container-inspect(1) 的负载相同。journald 中的关联字段名为 PODMAN_CONTAINER_INSPECT_DATA
。
选项¶
--filter, -f=过滤器¶
过滤显示的事件。它们必须采用“filter=value”的格式。支持以下过滤器
过滤器 |
描述 |
---|---|
container |
[名称或 ID] 容器的名称或 ID |
event |
event_status(如上所述) |
image |
[名称或 ID] 镜像名称或 ID |
label |
[key=value] 标签 |
pod |
[名称或 ID] Pod 名称或 ID |
volume |
[名称或 ID] 卷名称或 ID |
type |
Event_type(如上所述) |
在使用 ID 的情况下,ID 可以是完整形式或缩写形式。为了与 Docker 保持兼容性,“die” 事件映射到“died”。
--format¶
将输出格式化为 JSON 行或使用给定的 Go 模板。
占位符 |
描述 |
---|---|
.Attributes … |
created_at、_by、labels 等等(map[]) |
.ContainerExitCode |
退出代码(int) |
.ContainerInspectData |
容器检查的负载 |
.Error |
如果事件状态是错误(例如 pull-error),则为错误消息 |
.HealthStatus |
健康状态(字符串) |
.ID |
容器 ID(完整的 64 位 SHA) |
.Image |
正在运行的镜像的名称(字符串) |
.Name |
容器名称(字符串) |
.Network |
正在使用的网络的名称(字符串) |
.PodID |
与容器关联的 Pod 的 ID(如果有) |
.Status |
事件状态(例如,create、start、died、…) |
.Time |
事件时间戳(字符串) |
.TimeNano |
具有纳秒精度的事件时间戳(int64) |
.Type |
事件类型(例如,image、container、pod、…) |
--help¶
打印使用说明。
--no-trunc¶
不要截断输出(默认 true)。
--since=时间戳¶
显示自给定时间戳以来创建的所有事件
--stream¶
流式传输事件,并在读取最后一个已知事件后不退出(默认 true)。
--until=时间戳¶
显示在给定时间戳之前创建的所有事件
since 和 until 值可以是 RFC3339Nano 时间戳或 Go 持续时间字符串,例如 10m、5h。如果没有提供 since 或 until 值,则仅显示新事件。
JOURNALD 标识符¶
Podman 的 journald 事件后端使用以下 journald 标识符。您可以使用标识符通过 journalctl
直接过滤 Podman 事件。
标识符 |
描述 |
---|---|
SYSLOG_IDENTIFIER |
始终设置为“podman” |
PODMAN_EVENT |
如上所述的事件状态 |
PODMAN_TYPE |
如上所述的事件类型 |
PODMAN_TIME |
写入事件的时间戳 |
PODMAN_NAME |
事件对象的名称(例如,容器、镜像) |
PODMAN_ID |
事件对象的 ID(例如,容器、镜像) |
PODMAN_EXIT_CODE |
容器的退出代码 |
PODMAN_POD_ID |
容器的 Pod ID |
PODMAN_LABELS |
容器的标签 |
PODMAN_HEALTH_STATUS |
容器的健康状态 |
PODMAN_CONTAINER_INSPECT_DATA |
如上所述的 |
PODMAN_NETWORK_NAME |
网络的名称 |
示例¶
显示 Podman 事件
$ podman events
2019-03-02 10:33:42.312377447 -0600 CST container create 34503c192940 (image=docker.io/library/alpine:latest, name=friendly_allen)
2019-03-02 10:33:46.958768077 -0600 CST container init 34503c192940 (image=docker.io/library/alpine:latest, name=friendly_allen)
2019-03-02 10:33:46.973661968 -0600 CST container start 34503c192940 (image=docker.io/library/alpine:latest, name=friendly_allen)
2019-03-02 10:33:50.833761479 -0600 CST container stop 34503c192940 (image=docker.io/library/alpine:latest, name=friendly_allen)
2019-03-02 10:33:51.047104966 -0600 CST container cleanup 34503c192940 (image=docker.io/library/alpine:latest, name=friendly_allen)
仅显示 Podman 容器创建事件
$ podman events -f event=create
2019-03-02 10:36:01.375685062 -0600 CST container create 20dc581f6fbf (image=docker.io/library/alpine:latest, name=sharp_morse)
2019-03-02 10:36:08.561188337 -0600 CST container create 58e7e002344c (image=registry.k8s.io/pause:3.1, name=3e701f270d54-infra)
2019-03-02 10:36:13.146899437 -0600 CST volume create cad6dc50e087 (image=, name=cad6dc50e0879568e7d656bd004bd343d6035e7fc4024e1711506fe2fd459e6f)
2019-03-02 10:36:29.978806894 -0600 CST container create d81e30f1310f (image=docker.io/library/busybox:latest, name=musing_newton)
仅显示 Podman Pod 创建事件
$ podman events --filter event=create --filter type=pod
2019-03-02 10:44:29.601746633 -0600 CST pod create 1df5ebca7b44 (image=, name=confident_hawking)
2019-03-02 10:44:42.374637304 -0600 CST pod create ca731231718e (image=, name=webapp)
2019-03-02 10:44:47.486759133 -0600 CST pod create 71e807fc3a8e (image=, name=reverent_swanson)
仅显示在过去五分钟内创建的 Podman 事件
$ sudo podman events --since 5m
2019-03-02 10:44:29.598835409 -0600 CST container create b629d10d3831 (image=registry.k8s.io/pause:3.1, name=1df5ebca7b44-infra)
2019-03-02 10:44:29.601746633 -0600 CST pod create 1df5ebca7b44 (image=, name=confident_hawking)
2019-03-02 10:44:42.371100253 -0600 CST container create 170a0f457d00 (image=registry.k8s.io/pause:3.1, name=ca731231718e-infra)
2019-03-02 10:44:42.374637304 -0600 CST pod create ca731231718e (image=, name=webapp)
以 JSON 行格式显示 Podman 事件
$ podman events --format json
{"ID":"683b0909d556a9c02fa8cd2b61c3531a965db42158627622d1a67b391964d519","Image":"localhost/myshdemo:latest","Name":"agitated_diffie","Status":"cleanup","Time":"2019-04-27T22:47:00.849932843-04:00","Type":"container"}
{"ID":"a0f8ab051bfd43f9c5141a8a2502139707e4b38d98ac0872e57c5315381e88ad","Image":"docker.io/library/alpine:latest","Name":"friendly_tereshkova","Status":"unmount","Time":"2019-04-28T13:43:38.063017276-04:00","Type":"container"}
另请参见¶
历史¶
2019 年 3 月,最初由 Brent Baude 编写 bbaude@redhat.com