SYSTEMD-JOURNAL-REMOTE.SERVICE(8) systemd-journal-remote.service SYSTEMD-JOURNAL-REMOTE.SERVICE(8)

systemd-journal-remote.service, systemd-journal-remote.socket, systemd-journal-remote - دریافت پیام‌های ژورنال از طریق شبکه

systemd-journal-remote.service

systemd-journal-remote.socket

/usr/lib/systemd/systemd-journal-remote [OPTIONS...] [-o/--output=DIR|FILE] [SOURCES...]

دستور systemd-journal-remote ابزاری برای دریافت رویدادهای سریال‌سازی‌شدهٔ ژورنال و ذخیرهٔ آن‌ها در پرونده‌های ژورنال است. جریان‌های ورودی در قالب صدور ژورنال (Journal Export Format)[1]، یعنی مشابه خروجی journalctl --output=export هستند. برای انتقال از طریق شبکه، این جریان سریال‌سازی‌شده معمولاً بر روی یک اتصال HTTPS منتقل می‌شود.

سرویس systemd-journal-remote.service یک سرویس سیستمی است که از systemd-journal-remote برای گوش دادن به اتصالات استفاده می‌کند. واحد systemd-journal-remote.socket نشانی شبکه‌ای را که systemd-journal-remote.service روی آن گوش می‌دهد پیکربندی می‌کند. به‌طور پیش‌فرض، این پورت 19532 است. این‌که چه اتصالاتی پذیرفته شوند و داده‌های دریافتی چگونه ذخیره گردند، می‌تواند از طریق پروندهٔ پیکربندی journal-remote.conf(5) پیکربندی شود.

منابع می‌توانند «فعال» (active) باشند (که در آن systemd-journal-remote داده‌ها را درخواست کرده و دریافت می‌کند)، یا «غیرفعال» (passive) باشند (که در آن systemd-journal-remote منتظر یک اتصال می‌ماند و سپس رویدادهای ارسالی از طرف مقابل را دریافت می‌کند).

systemd-journal-remote می‌تواند بیش از یک جریان رویداد را هم‌زمان بخواند. آن‌ها در پروندهٔ خروجی به‌صورت درهم‌آمیخته (interleaved) ذخیره خواهند شد. در مورد اتصالات «فعال»، هر «منبع» یک جریان است، و در مورد اتصالات «غیرفعال»، هر اتصال می‌تواند به یک جریان جداگانه تبدیل شود. سوکت‌ها را می‌توان در حالت "accept" (یعنی تنها یک اتصال)، یا حالت "listen" (یعنی چندین اتصال که هرکدام به یک جریان منجر می‌شوند) پیکربندی کرد.

هنگامی که هیچ اتصال دیگری وجود نداشته باشد، و امکان ایجاد اتصال جدیدی هم نباشد (هیچ سوکت شنودکننده‌ای وجود نداشته باشد)، آن‌گاه systemd-journal-remote خارج خواهد شد.

منابع فعال را می‌توان به روش‌های زیر مشخص کرد:

[SOURCES]

هنگامی که - به عنوان یک آرگومان موضعی داده شود، رویدادها از ورودی استاندارد خوانده خواهند شد. سایر آرگومان‌های موضعی به عنوان نام پرونده‌ها برای باز کردن و خواندن از آن‌ها در نظر گرفته می‌شوند.

افزوده‌شده در نسخه 239.

--url=ADDRESS

با گزینهٔ --url=ADDRESS، رویدادها با استفاده از HTTP از ADDRESS واکشی خواهند شد. این نشانی اینترنتی (URL) باید به ریشهٔ یک نمونهٔ راه دور systemd-journal-gatewayd(8) اشاره کند، مانند http://some.host:19531 یا https://some.host:19531.

افزوده‌شده در نسخه 239.

--getter='PROG [OPTIONS]'

برنامه‌ای که برای واکشی داده‌ها فراخوانی می‌شود. جریان رویدادهای ژورنال باید در خروجی استاندارد تولید شود.

مثال‌ها:

--getter='curl "-HAccept: application/vnd.fdo.journal" https://some.host:19531'
--getter='wget --header="Accept: application/vnd.fdo.journal" -O- https://some.host:19531'

افزوده‌شده در نسخه 239.

منابع غیرفعال را می‌توان به روش‌های زیر مشخص کرد:

--listen-raw=ADDRESS

ADDRESS باید نشانی مناسبی برای ListenStream= باشد (مقایسه کنید با systemd.socket(5)). systemd-journal-remote روی این سوکت برای دریافت اتصالات گوش فرا خواهد داد. انتظار می‌رود هر اتصال یک جریان از رویدادهای ژورنال باشد.

افزوده‌شده در نسخه 239.

--listen-http=ADDRESS, --listen-https=ADDRESS

ADDRESS باید یا یک عدد صحیح منفی باشد، که در این صورت به عنوان شماره توصیف‌کننده پرونده (منفی‌شده) تفسیر می‌شود، یا نشانی مناسبی برای ListenStream= باشد (مقایسه کنید با systemd.socket(5)). در حالت نخست، سرور به‌طور پیش‌فرض روی پورت 19532 گوش می‌دهد، و توصیف‌کننده پرونده منطبق باید از طریق $LISTEN_FDS/$LISTEN_PID به ارث برسد. در حالت دوم، یک سرور HTTP یا HTTPS روی این پورت ایجاد خواهد شد، به ترتیب برای --listen-http= و --listen-https=. در حال حاضر، تنها درخواست‌های POST به /upload با "Content-Type: application/vnd.fdo.journal" پشتیبانی می‌شوند.

افزوده‌شده در نسخه 239.

$LISTEN_FDS

systemd-journal-remote از پروتکل $LISTEN_FDS/$LISTEN_PID پشتیبانی می‌کند. سوکت‌های بازی که از طریق فعال‌سازی سوکت به ارث رسیده‌اند، مانند آن‌هایی عمل می‌کنند که با --listen-raw= توضیح داده شده در بالا باز شده‌اند، مگر اینکه به عنوان آرگومان در --listen-http=-n یا --listen-https=-n در بالا مشخص شده باشند. در حالت دوم، یک سرور HTTP یا HTTPS با استفاده از این توصیف‌کننده ایجاد خواهد شد و اتصالات باید از طریق پروتکل HTTP برقرار شوند.

افزوده‌شده در نسخه 239.

--key=

مسیر یک پرونده کلید خصوصی SSL در قالب PEM را می‌گیرد. پیش‌فرض /etc/ssl/private/journal-remote.pem است. این گزینه می‌تواند با --listen-https= استفاده شود. اگر مسیر به یک سوکت جریانی AF_UNIX در سامانه پرونده اشاره کند، اتصالی به آن برقرار شده و کلید از آن خوانده می‌شود.

افزوده‌شده در نسخه 239.

--cert=

مسیر یک پرونده گواهی SSL در قالب PEM را می‌گیرد. پیش‌فرض /etc/ssl/certs/journal-remote.pem است. این گزینه می‌تواند با --listen-https= استفاده شود. اگر مسیر به یک سوکت جریانی AF_UNIX در سامانه پرونده اشاره کند، اتصالی به آن برقرار شده و گواهی از آن خوانده می‌شود.

افزوده‌شده در نسخه 239.

--trust=

مسیر یک پرونده گواهی مرجع صدور گواهی (CA) اس‌اس‌ال در قالب PEM، یا all را می‌گیرد. اگر روی all تنظیم شود، اعتبارسنجی گواهی غیرفعال خواهد شد. پیش‌فرض /etc/ssl/ca/trusted.pem است. این گزینه می‌تواند با --listen-https= استفاده شود. اگر مسیر به یک سوکت جریانی AF_UNIX در سامانه پرونده اشاره کند، اتصالی به آن برقرار شده و گواهی از آن خوانده می‌شود.

افزوده‌شده در نسخه 239.

--gnutls-log=

فهرستی از دسته‌بندی‌های گزارش‌گیری (logging) ابزار gnutls را که با کاما از هم جدا شده‌اند، می‌گیرد. این گزینه می‌تواند با --listen-http= یا --listen-https= استفاده شود.

افزوده‌شده در نسخه 239.

محل قرارگیری ژورنال خروجی را می‌توان با -o یا --output= مشخص کرد.

-o FILE, --output=FILE

در این پرونده ژورنال می‌نویسد. نام پرونده باید با .journal پایان یابد. در صورتی که پرونده وجود نداشته باشد، ایجاد خواهد شد. در صورت نیاز (پر شدن پرونده ژورنال، یا آسیب دیدن آن)، پرونده طبق قواعد عادی journald تغییر نام داده شده و پروندهٔ ژورنال جدیدی به جای آن ایجاد خواهد شد.

افزوده‌شده در نسخه 239.

-o DIR, --output=DIR

پرونده‌های ژورنال را در زیر دایرکتوری DIR ایجاد خواهد کرد. این دایرکتوری باید وجود داشته باشد. در صورت نیاز (بزرگ‌تر شدن اندازه پرونده‌های ژورنال از حد مجاز، یا آسیب دیدن آن‌ها)، پرونده‌های ژورنال طبق قواعد عادی journald بازچرخانی (rotate) خواهند شد. نام پرونده‌های زیر DIR با استفاده از قواعدی که در ادامه شرح داده شده تولید می‌شود.

افزوده‌شده در نسخه 239.

اگر از --output= استفاده نشود، دایرکتوری خروجی /var/log/journal/remote/ استفاده خواهد شد. در صورتی که پرونده خروجی مشخص نشده باشد، پرونده‌های ژورنال در زیر دایرکتوری انتخاب‌شده ایجاد می‌شوند. نام پرونده‌ها به صورت remote-hostname.journal خواهد بود، که در آن بخش hostname نام میزبان گریزیافتهٔ (escaped) نقطه پایانی مبدأ اتصال، یا نشانی عددی در صورت عدم امکان تعیین نام میزبان است.

در صورتی که منابع «فعال» از طریق آرگومان‌های موضعی یا گزینهٔ --getter= مشخص شده باشند، نام پرونده خروجی باید همواره به‌صورت صریح تعیین شود.

گزینه‌های زیر پشتیبانی می‌شوند:

--split-mode

یکی از مقادیر none یا host. برای اولی، تنها از یک پرونده ژورنال خروجی استفاده می‌شود. برای دومی، یک پرونده خروجی جداگانه بر اساس نام میزبان نقطه پایانی دیگر اتصال به کار گرفته می‌شود.

در صورتی که منابع «فعال» از طریق آرگومان‌های موضعی یا گزینهٔ --getter= داده شوند، نام پرونده خروجی همیشه باید به‌طور صریح مشخص شود و تنها مقدار none مجاز است.

افزوده‌شده در نسخه 239.

--compress [BOOL]

اگر روی "yes" تنظیم شود، داده‌ها در ژورنال با استفاده از XZ فشرده می‌شوند. مقدار پیش‌فرض "yes" است.

افزوده‌شده در نسخه 239.

--seal [BOOL]

اگر روی "yes" تنظیم شود، داده‌ها در ژورنال به‌طور دوره‌ای با استفاده از Forward Secure Sealing مهروموم (امضا) می‌شوند. مقدار پیش‌فرض "no" است.

افزوده‌شده در نسخه 239.

--max-use=, --keep-free=, --max-file-size=, --max-files=

این گزینه‌ها تنظیمات متناظر را در پرونده پیکربندی بازنویسی (override) می‌کنند (ببینید journal-remote.conf(5)). برای توضیحات این گزینه‌ها آن صفحه را ببینید.

افزوده‌شده در نسخه 261.

-h, --help

یک متن راهنمای کوتاه را چاپ کرده و خارج می‌شود.

--version

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

کپی کردن رویدادهای ژورنال محلی به یک دایرکتوری ژورنال دیگر:

journalctl -o export | systemd-journal-remote -o /tmp/dir/foo.journal -

واکشی تمام رویدادهای موجود از یک نمونهٔ راه دور systemd-journal-gatewayd(8) و ذخیرهٔ آن‌ها در /var/log/journal/remote/remote-some.host.journal:

systemd-journal-remote --url http://some.host:19531

واکشی رویدادهای راه‌اندازی (boot) فعلی و انتظار برای رویدادهای جدید از یک نمونهٔ راه دور systemd-journal-gatewayd(8) و ذخیرهٔ آن‌ها در /var/log/journal/remote/remote-some.host.journal:

systemd-journal-remote --url http://some.host:19531/entries?boot&follow

journal-remote.conf(5), journalctl(1), systemd-journal-gatewayd.service(8), systemd-journal-upload.service(8), systemd-journald.service(8)

1.
قالب صدور ژورنال (Journal Export Format)
systemd 261.2