名称

podman-events - 监控 Podman 事件

概要

podman events [选项]

podman system events [选项]

描述

监控并打印发生在 Podman 中的事件。每个事件都包含时间戳、类型、状态、名称(如果适用)和镜像(如果适用)。默认的日志记录机制是 journald。这可以在 containers.conf 中通过将 events_logger 值更改为 file 来更改。只有 filejournald 被接受。还提供了 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=时间戳

显示在给定时间戳之前创建的所有事件

sinceuntil 值可以是 RFC3339Nano 时间戳或 Go 持续时间字符串,例如 10m、5h。如果没有提供 sinceuntil 值,则仅显示新事件。

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-inspect 的 JSON 负载

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"}

另请参见

podman(1), containers.conf(5)

历史

2019 年 3 月,最初由 Brent Baude 编写 bbaude@redhat.com