podman-events(1) General Commands Manual podman-events(1)

podman-events - نظارت بر رویدادهای پودمن

podman events [options]

podman system events [options]

نظارت و چاپ رویدادهایی که در پودمن رخ می‌دهند. هر رویداد شامل یک برچسب زمانی (timestamp)، یک نوع، یک وضعیت، نام (در صورت وجود) و ایمیج (در صورت وجود) است. سازوکار پیش‌فرض ثبت گزارش journald است. این مقدار را می‌توان در containers.conf با تغییر مقدار events_logger به file تغییر داد. تنها مقادیر file و journald پذیرفته می‌شوند. یک ثبت‌کننده none نیز در دسترس است، اما این سازوکار ثبت گزارش رویدادها را به‌طور کامل غیرفعال می‌کند؛ هیچ چیزی توسط podman events گزارش نمی‌شود.

به‌طور پیش‌فرض از حالت جاری (streaming) استفاده می‌شود که رویدادهای جدید را هم‌زمان با وقوع آن‌ها چاپ می‌کند. رویدادهای قبلی را می‌توان از طریق --since و --until فهرست کرد.

نوع رویداد container وضعیت‌های زیر را گزارش می‌دهد:
* 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

نوع رویداد image وضعیت‌های زیر را گزارش می‌دهد:
* loadFromArchive,
* mount
* pull
* pull-error
* push
* remove
* save
* tag
* unmount
* untag

نوع رویداد artifact وضعیت‌های زیر را گزارش می‌دهد:
* create
* pull
* push
* remove

نوع system وضعیت‌های زیر را گزارش می‌دهد:
* refresh
* renumber

نوع volume وضعیت‌های زیر را گزارش می‌دهد:
* create
* prune
* remove

نوع secret وضعیت‌های زیر را گزارش می‌دهد:
* create
* remove

نوع network وضعیت‌های زیر را گزارش می‌دهد:
* create
* connect
* disconnect
* remove

تنظیم events_container_create_inspect_data=true در containers.conf(5) به پودمن دستور می‌دهد رویدادهای ایجاد کانتینر مفصل‌تری تولید کند که شامل یک بار داده (payload) در قالب JSON با اطلاعات دقیق درباره کانتینرها است. بار داده JSON با خروجی podman-container-inspect(1) یکسان است. فیلد مرتبط در journald به نام PODMAN_CONTAINER_INSPECT_DATA نام‌گذاری شده است.

فیلتر کردن رویدادهایی که نمایش داده می‌شوند. آن‌ها باید در قالب "filter=value" باشند. فیلترهای زیر پشتیبانی می‌شوند:

فیلتر توضیحات
artifact [نام یا شناسه] نام یا شناسه دست‌سازه
container [نام یا شناسه] نام یا شناسه کانتینر
event وضعیت رویداد (event_status که در بالا شرح داده شد)
image [نام یا شناسه] نام یا شناسه ایمیج
label برچسب به صورت [کلید] یا [کلید=مقدار]
pod [نام یا شناسه] نام یا شناسه پاد
volume [نام یا شناسه] نام یا شناسه حجم
type نوع رویداد (event_type که در بالا شرح داده شد)

در مواردی که از شناسه استفاده می‌شود، شناسه می‌تواند به شکل کامل یا کوتاه‌شده باشد. رویداد "die" برای سازگاری با داکر به "died" نگاشت می‌شود.

قالب‌بندی خروجی به صورت JSON Lines یا با استفاده از قالب Go ارائه‌شده.

جای‌نگه‌دار توضیحات
.Attributes ... created_at، _by، labels و موارد دیگر (map[])
.ContainerExitCode کد خروج (int)
.ContainerInspectData داده‌های inspect کانتینر
.Error پیام خطا در صورتی که وضعیت رویداد خطا باشد (مانند pull-error)
.HealthStatus وضعیت سلامت (string)
.ID شناسه کانتینر (SHA کامل ۶۴ بیتی)
.Image نام ایمیج در حال اجرا (string)
.Name نام کانتینر (string)
.Network نام شبکه مورد استفاده (string)
.OOMKilled آیا کانتینر به دلیل کمبود حافظه (OOM) متوقف شده است (bool)
.PodID شناسه پاد مرتبط با کانتینر، در صورت وجود
.Status وضعیت رویداد (مانند create، start، died، ...)
.Time برچسب زمانی رویداد (string)
.TimeNano برچسب زمانی رویداد با دقت نانوثانیه (int64)
.Type نوع رویداد (مانند image، container، pod، ...)

چاپ راهنمای استفاده.

کوتاه نکردن خروجی (پیش‌فرض true).

نمایش تمام رویدادهای ایجادشده پس از برچسب زمانی داده‌شده.

پخش جریانی رویدادها و خارج نشدن پس از خواندن آخرین رویداد شناخته‌شده (پیش‌فرض true).

نمایش تمام رویدادهای ایجادشده تا برچسب زمانی داده‌شده.

مقادیر since و until می‌توانند برچسب‌های زمانی RFC3339Nano یا یک رشته مدت زمان Go مانند 10m یا 5h باشند. اگر هیچ مقداری برای since یا until ارائه نشود، تنها رویدادهای جدید نمایش داده می‌شوند.

بک‌اند رویدادهای journald در پودمن از شناسه‌های journald زیر استفاده می‌کند. می‌توانید از این شناسه‌ها برای فیلتر کردن مستقیم رویدادهای پودمن با استفاده از journalctl استفاده کنید.

شناسه توضیحات
SYSLOG_IDENTIFIER همیشه روی "podman" تنظیم می‌شود
PODMAN_EVENT وضعیت رویداد همان‌طور که در بالا توضیح داده شد
PODMAN_TYPE نوع رویداد همان‌طور که در بالا توضیح داده شد
PODMAN_TIME برچسب زمانی هنگام ثبت رویداد
PODMAN_NAME نام شیء رویداد (مانند container، image، artifact)
PODMAN_ID شناسه شیء رویداد (مانند container، image، artifact)
PODMAN_EXIT_CODE کد خروج کانتینر
PODMAN_POD_ID شناسه پاد کانتینر
PODMAN_LABELS برچسب‌های کانتینر
PODMAN_HEALTH_STATUS وضعیت سلامت کانتینر
PODMAN_CONTAINER_INSPECT_DATA بار داده JSON از podman-inspect همان‌طور که در بالا توضیح داده شد
PODMAN_NETWORK_NAME نام شبکه

نمایش رویدادهای پودمن:

$ 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 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 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)

تنها نمایش رویدادهای پودمن که در پنج دقیقه گذشته ایجاد شده‌اند:

$ 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 Lines:

$ 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)

مارس ۲۰۱۹، در ابتدا توسط Brent Baude به نشانی bbaude@redhat.com گردآوری شد ⟨mailto:bbaude@redhat.com⟩