SYSTEMD-JOURNAL-GATEWAYD.SERVICE(8) systemd-journal-gatewayd.service SYSTEMD-JOURNAL-GATEWAYD.SERVICE(8)

systemd-journal-gatewayd.service, systemd-journal-gatewayd.socket, systemd-journal-gatewayd - سرور HTTP برای رویدادهای ژورنال

systemd-journal-gatewayd.service

systemd-journal-gatewayd.socket

/usr/lib/systemd/systemd-journal-gatewayd [OPTIONS...]

systemd-journal-gatewayd رویدادهای ژورنال را روی شبکه ارائه می‌دهد. کلاینت‌ها باید با استفاده از HTTP متصل شوند. سرور به‌طور پیش‌فرض روی پورت 19531 گوش می‌دهد. اگر --cert= مشخص شده باشد، سرور انتظار اتصالات HTTPS را دارد.

این برنامه توسط systemd(1) راه‌اندازی می‌شود و انتظار دارد یک سوکت منفرد دریافت کند. برای شروع سرویس از systemctl start systemd-journal-gatewayd.socket و برای راه‌اندازی خودکار آن در زمان بوت از systemctl enable systemd-journal-gatewayd.socket استفاده کنید.

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

--cert=

مسیر یک فایل یا سوکت جریانی (stream socket) از نوع AF_UNIX را برای خواندن گواهی سرور مشخص می‌کند. گواهی باید در قالب PEM باشد. این گزینه systemd-journal-gatewayd را به حالت HTTPS تغییر می‌دهد و باید همراه با --key= استفاده شود.

اضافه‌شده در نسخهٔ 198.

--key=

مسیر یک فایل یا سوکت جریانی AF_UNIX را برای خواندن کلید خصوصی سرور متناظر با گواهی مشخص‌شده با --cert= تعیین می‌کند. کلید باید در قالب PEM باشد.

اضافه‌شده در نسخهٔ 198.

--trust=

مسیر یک فایل یا سوکت جریانی AF_UNIX را برای خواندن گواهی مرجع صدور گواهی (CA) تعیین می‌کند. گواهی باید در قالب PEM باشد.

اضافه‌شده در نسخهٔ 236.

--system, --user

ورودی‌های ارائه‌شده را به ورودی‌های سرویس‌های سیستمی و هسته، یا به ورودی‌های سرویس‌های کاربر فعلی محدود می‌کند. این گزینه‌ها معنایی مشابه با گزینه‌های --system و --user در journalctl(1) دارند. اگر هیچ‌کدام مشخص نشوند، تمام ورودی‌های دردسترس ارائه می‌شوند.

اضافه‌شده در نسخهٔ 249.

-m, --merge

ورودی‌ها را به صورت درهم‌آمیخته (interleaved) از تمام ژورنال‌های دردسترس، شامل سایر ماشین‌ها، ارائه می‌دهد. این گزینه معنایی مشابه با گزینهٔ --merge در journalctl(1) دارد.

اضافه‌شده در نسخهٔ 249.

-D DIR, --directory=DIR

یک مسیر دایرکتوری را به عنوان آرگومان می‌گیرد. در صورت تعیین، systemd-journal-gatewayd به جای مسیرهای پیش‌فرض ژورنال سیستمی و زمان اجرا، دایرکتوری ژورنال مشخص‌شدهٔ DIR را ارائه خواهد داد.

اضافه‌شده در نسخهٔ 232.

--file=GLOB

یک الگوی فایل (file glob) را به عنوان آرگومان می‌گیرد. ورودی‌ها را از فایل‌های ژورنال مشخص‌شده منطبق با GLOB به جای مسیرهای پیش‌فرض ژورنال سیستمی و زمان اجرا ارائه می‌دهد. این گزینه می‌تواند چندین بار مشخص شود که در این صورت فایل‌ها به شکل مناسبی درهم‌آمیخته خواهند شد. این گزینه معنایی مشابه با گزینهٔ --file= در journalctl(1) دارد.

اضافه‌شده در نسخهٔ 249.

-h, --help

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

--version

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

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

/boots

یک پاسخ json-seq (مطابق RFC 7464) شامل اشیاء JSON بازمی‌گرداند که هرکدام شامل شمارهٔ بوت، شناسهٔ آن و برچسب‌های زمانی اولین و آخرین پیام است. بوت‌ها به ترتیبی بازگردانده می‌شوند که آخرین بوت در ابتدا قرار می‌گیرد و از همان ساختار (schema) دستور journalctl --list-boots --output json استفاده می‌کنند.

اضافه‌شده در نسخهٔ 258.

/browse

مرور تعاملی (Interactive browsing).

اضافه‌شده در نسخهٔ 197.

/entries[?option1&option2=value...]

دریافت رویدادها در قالب‌های گوناگون.

بخش Accept: از سرآیند HTTP قالب را تعیین می‌کند. مقادیر پشتیبانی‌شده در زیر شرح داده شده‌اند.

بخش Range: از سرآیند HTTP محدودهٔ رویدادهای بازگردانده‌شده را تعیین می‌کند. مقادیر پشتیبانی‌شده در زیر شرح داده شده‌اند.

می‌توان از پارامترهای GET برای تغییر رویدادهای بازگردانده‌شده استفاده کرد. پارامترهای پشتیبانی‌شده در زیر شرح داده شده‌اند.

اضافه‌شده در نسخهٔ 197.

/machine

یک ساختار JSON در توصیف ماشین بازمی‌گرداند.

مثال:

{ "machine_id" : "8cf7ed9d451ea194b77a9f118f3dc446",
  "boot_id" : "3d3c9efaf556496a9b04259ee35df7f7",
  "hostname" : "fedora",
  "os_pretty_name" : "Fedora 19 (Rawhide)",
  "virtualization" : "kvm",
  ...}

اضافه‌شده در نسخهٔ 197.

/fields/FIELD_NAME

فهرستی از مقادیر این فیلد موجود در لاگ‌ها را بازمی‌گرداند.

اضافه‌شده در نسخهٔ 197.

Accept: format

قالب‌های شناخته‌شده:

text/plain

حالت پیش‌فرض. خروجی متنی ساده شبیه به syslog، یک خط برای هر ورودی ژورنال (مانند journalctl --output short).

اضافه‌شده در نسخهٔ 197.

application/json

ورودی‌ها به عنوان ساختارهای دادهٔ JSON، یک مورد در هر خط قالب‌بندی می‌شوند (مانند journalctl --output json). برای اطلاعات بیشتر قالب JSON ژورنال (Journal JSON Format)[1] را ببینید.

اضافه‌شده در نسخهٔ 197.

text/event-stream

ورودی‌ها به عنوان ساختارهای دادهٔ JSON، بسته‌بندی‌شده در قالبی مناسب برای رویدادهای ارسالی از سرور (Server-Sent Events)[2] قالب‌بندی می‌شوند (مانند journalctl --output json-sse).

اضافه‌شده در نسخهٔ 229.

application/vnd.fdo.journal

ورودی‌ها در یک جریان باینری (اما عمدتاً متنی) که برای پشتیبان‌گیری و انتقال روی شبکه مناسب است سریال‌سازی می‌شوند (مانند journalctl --output export). برای اطلاعات بیشتر قالب صدور ژورنال (Journal Export Format)[3] را ببینید.

اضافه‌شده در نسخهٔ 197.

Range: entries=[cursor][[:num_skip]:[num_entries]]

Range: realtime=[since]:[until][[:num_skip]:num_entries]

که در آن cursor یک رشتهٔ مکان‌نما (cursor) است و به‌طور پیش‌فرض به اولین ورودی اشاره دارد، since و until برچسب‌های زمانی هستند (ثانیه‌ها از مبدا زمانی 1970-01-01 00:00:00 UTC)، num_skip یک عدد صحیح است، num_entries یک عدد صحیح بدون علامت است.

محدوده (Range) به‌طور پیش‌فرض شامل تمام رویدادهای موجود است.

اگر num_skip منفی باشد و هیچ cursor مشخص نشده باشد، آخرین ورودی نقطهٔ مرجع خواهد بود.

پارامترهای زیر می‌توانند به عنوان بخشی از نشانی وب (URL) استفاده شوند:

follow

منتظر رویدادهای جدید می‌ماند (مانند journalctl --follow؛ تعداد رویدادهای بازگردانده‌شده نامحدود است، مگر اینکه num_entries در سرآیند Range مشخص شده باشد).

اضافه‌شده در نسخهٔ 197.

discrete

بررسی می‌کند که آیا مکان‌نمای (cursor) مشخص‌شده به ورودی‌ای در ژورنال ارجاع دارد یا خیر. فقط همین ورودی را بازمی‌گرداند.

اضافه‌شده در نسخهٔ 197.

boot

رویدادها را به بوت جاری سیستم محدود می‌کند (مانند journalctl -b).

اضافه‌شده در نسخهٔ 197.

KEY=match

تطبیق فیلدهای ژورنال. systemd.journal-fields(7) را ببینید.

اضافه‌شده در نسخهٔ 197.

دریافت رویدادهای این بوت از ژورنال محلی در قالب صدور ژورنال (Journal Export Format)[3]:

curl --silent -H'Accept: application/vnd.fdo.journal' \
       'http://localhost:19531/entries?boot'

شنود رویدادهای تخلیه حافظه (core dump):

curl 'http://localhost:19531/entries?follow&MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1'

systemd(1), journalctl(1), systemd.journal-fields(7), systemd-journald.service(8), systemd-journal-remote.service(8), systemd-journal-upload.service(8)

1.
قالب JSON ژورنال (Journal JSON Format)
2.
رویدادهای ارسالی از سرور (Server-Sent Events)
3.
قالب صدور ژورنال (Journal Export Format)
systemd 261.2