SYSTEMD-JOURNAL-UPLOAD.SERVICE(8) systemd-journal-upload.service SYSTEMD-JOURNAL-UPLOAD.SERVICE(8)

systemd-journal-upload.service, systemd-journal-upload - ارسال پیام‌های ژورنال از طریق شبکه

systemd-journal-upload.service

/usr/lib/systemd/systemd-journal-upload [OPTIONS...] [-u/--url=URL] [SOURCES...]

systemd-journal-upload ورودی‌های ژورنال را به نشانی وب (URL) مشخص‌شده با --url= ارسال می‌کند. این برنامه مانند journalctl(1) ورودی‌های ژورنال را از یک یا چند فایل ژورنال می‌خواند. مگر اینکه توسط یکی از گزینه‌های مشخص‌شده در زیر محدود شده باشد، تمام ورودی‌های ژورنال که برای کاربری که برنامه با دسترسی او اجرا می‌شود در دسترس هستند، ارسال خواهند شد و سپس برنامه منتظر می‌ماند و ورودی‌های جدید را به محض در‌دسترس قرار گرفتن ارسال می‌کند.

systemd-journal-upload محتوای خام فایل ژورنال را منتقل می‌کند و از HTTP به عنوان پروتکل انتقال استفاده می‌کند.

systemd-journal-upload.service یک سرویس سیستمی است که از systemd-journal-upload برای ارسال ورودی‌های ژورنال به یک سرور استفاده می‌کند. این سرویس از پیکربندی موجود در journal-upload.conf(5) استفاده می‌کند. دست‌کم باید گزینهٔ URL= مشخص شده باشد.

-u, --url=[https://]URL[:PORT], --url=[http://]URL[:PORT]

ارسال به نشانی مشخص‌شده. URL می‌تواند فقط نام میزبان یا هر دو پروتکل و نام میزبان را مشخص کند. https پیش‌فرض است. شمارهٔ پورت می‌تواند پس از دو نقطه (":") مشخص شود، در غیر این صورت به‌طور پیش‌فرض از 19532 استفاده خواهد شد.

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

--system, --user

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

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

-m, --merge

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

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

--namespace=NAMESPACE

یک رشتهٔ شناسهٔ فضای‌نام (namespace) ژورنال را به عنوان آرگومان می‌گیرد. ورودی‌ها را از فضای‌نام ژورنال مشخص‌شدهٔ NAMESPACE به جای فضای‌نام پیش‌فرض ارسال می‌کند. این گزینه معنایی مشابه با گزینهٔ --namespace= در journalctl(1) دارد.

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

-D, --directory=DIR

یک مسیر دایرکتوری را به عنوان آرگومان می‌گیرد. ورودی‌ها را به جای مسیرهای پیش‌فرض ژورنال سیستمی و زمان اجرا، از دایرکتوری ژورنال مشخص‌شدهٔ DIR ارسال می‌کند. این گزینه معنایی مشابه با گزینهٔ --directory= در journalctl(1) دارد.

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

--file=GLOB

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

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

--cursor=

ورودی‌ها را از موقعیتی در ژورنال که توسط مکان‌نمای (cursor) ارسال‌شده مشخص شده است ارسال می‌کند. این گزینه معنایی مشابه با گزینهٔ --cursor= در journalctl(1) دارد.

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

--after-cursor=

ورودی‌ها را از موقعیتی در ژورنال که بعد از موقعیت مشخص‌شده توسط این مکان‌نما (cursor) قرار دارد، ارسال می‌کند. این گزینه معنایی مشابه با گزینهٔ --after-cursor= در journalctl(1) دارد.

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

--save-state[=PATH]

ورودی‌ها را از موقعیتی در ژورنال که بعد از موقعیت مشخص‌شده توسط مکان‌نمای ذخیره‌شده در فایل در PATH (به‌طور پیش‌فرض /var/lib/systemd/journal-upload/state) است، ارسال می‌کند. پس از ارسال موفق یک ورودی، این فایل را با مکان‌نمای آن ورودی به‌روزرسانی می‌کند.

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

--follow[=BOOL]

اگر روی yes تنظیم شود، آنگاه systemd-journal-upload منتظر ورودی جدید می‌ماند.

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

--key=

مسیر یک فایل کلید SSL در قالب PEM، یا - را می‌گیرد. اگر - تنظیم شود، بررسی احراز هویت گواهی کلاینت غیرفعال خواهد شد. مقدار پیش‌فرض /etc/ssl/private/journal-upload.pem است.

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

--cert=

مسیر یک فایل گواهی SSL در قالب PEM، یا - را می‌گیرد. اگر - تنظیم شود، بررسی احراز هویت گواهی کلاینت غیرفعال خواهد شد. مقدار پیش‌فرض /etc/ssl/certs/journal-upload.pem است.

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

--trust=

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

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

-h, --help

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

--version

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

در صورت موفقیت، 0 بازگردانده می‌شود؛ در غیر این صورت، یک کد خطای غیر صفر بازگردانده می‌شود.

مثال 1. راه‌اندازی گواهی‌ها برای احراز هویت

گواهی‌های امضاشده توسط یک مرجع معتبر (CA) برای تأیید اینکه سروری که پیام‌ها به آن ارسال می‌شوند معتبر است و برعکس، کلاینت قابل اعتماد است، استفاده می‌شوند.

مجموعه مناسبی از گواهی‌ها را می‌توان با openssl تولید کرد. توجه داشته باشید که به دلایل امنیتی، حداقل طول کلید 2048 بیت توصیه می‌شود:

openssl req -newkey rsa:2048 -days 3650 -x509 -nodes \
      -out ca.pem -keyout ca.key -subj '/CN=Certificate authority/'
cat >ca.conf <<EOF
[ ca ]
default_ca = this
[ this ]
new_certs_dir = .
certificate = ca.pem
database = ./index
private_key = ca.key
serial = ./serial
default_days = 3650
default_md = default
policy = policy_anything
[ policy_anything ]
countryName             = optional
stateOrProvinceName     = optional
localityName            = optional
organizationName        = optional
organizationalUnitName  = optional
commonName              = supplied
emailAddress            = optional
EOF
touch index
echo 0001 >serial
SERVER=server
CLIENT=client
openssl req -newkey rsa:2048 -nodes -out $SERVER.csr -keyout $SERVER.key -subj "/CN=$SERVER/"
openssl ca -batch -config ca.conf -notext -in $SERVER.csr -out $SERVER.pem
openssl req -newkey rsa:2048 -nodes -out $CLIENT.csr -keyout $CLIENT.key -subj "/CN=$CLIENT/"
openssl ca -batch -config ca.conf -notext -in $CLIENT.csr -out $CLIENT.pem

فایل‌های تولیدشدهٔ ca.pem، server.pem و server.key باید روی سرور نصب شوند، و فایل‌های ca.pem، client.pem و client.key روی کلاینت نصب شوند. مکان این فایل‌ها را می‌توان به ترتیب با استفاده از TrustedCertificateFile=، ServerCertificateFile= و ServerKeyFile= در /etc/systemd/journal-remote.conf و /etc/systemd/journal-upload.conf مشخص کرد. مکان‌های پیش‌فرض را می‌توان با استفاده از systemd-journal-remote --help و systemd-journal-upload --help استعلام کرد.

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

systemd 261.2