loggen(1) The loggen manual page loggen(1)

loggen - تولید پیام‌های syslog با نرخ مشخص

loggen [گزینه‌ها] target [port]

نکته: برنامه loggen همراه با برنامه ثبت وقایع سیستمی syslog-ng OSE توزیع می‌شود و معمولاً بخشی از بسته syslog-ng OSE است. آخرین نسخه برنامه syslog-ng OSE در صفحه رسمی syslog-ng OSE در دسترس است.

این صفحه راهنما صرفاً یک چکیده است.

برنامه loggen ابزاری برای آزمایش و تست فشار (Stress Test) کارگزار syslog و اتصال به آن است. این ابزار می‌تواند پیام‌های syslog را با نرخ مشخص و با استفاده از انواع اتصالات و پروتکل‌ها، شامل TCP، UDP و سوکت‌های دامنه یونیکس (unix domain sockets) به کارگزار ارسال کند. پیام‌ها می‌توانند به صورت خودکار تولید شوند (با تکرار مداوم رشته PADD)، یا از یک فایل یا ورودی استاندارد (standard input) خوانده شوند.

هنگامی که loggen ارسال پیام‌ها را به پایان می‌رساند، آمار زیر را نمایش می‌دهد:

  • نرخ میانگین (average rate): نرخ میانگین پیام‌های ارسال‌شده بر حسب پیام بر ثانیه.
  • تعداد (count): تعداد کل پیام‌های ارسال‌شده.
  • زمان (time): زمان صرف‌شده برای ارسال پیام‌ها بر حسب ثانیه.
  • اندازه میانگین پیام (average message size): اندازه میانگین پیام‌های ارسال‌شده بر حسب بایت.
  • پهنای باند (bandwidth): میانگین پهنای باند مصرفی برای ارسال پیام‌ها بر حسب کیلوبایت بر ثانیه.

--active-connections <تعداد-اتصالات>
تعداد اتصالاتی که
.B loggen
برای ارسال پیام‌ها به مقصد استفاده خواهد کرد. این گزینه تنها هنگام استفاده از اتصالات TCP یا TLS به مقصد قابل استفاده است. مقدار پیش‌فرض: 1 است.
ابزار
.B loggen
پیش از شروع ارسال پیام‌ها، تا برقرار شدن تمامی اتصالات منتظر می‌ماند. همچنین گزینه
--idle-connections
را ببینید.

--csv یا -C
ارسال آمار پیام‌های ارسال‌شده به خروجی استاندارد (stdout) در قالب CSV. از این خروجی می‌توان برای رسم نمودار نرخ پیام‌ها استفاده کرد.

--dgram یا -D
استفاده از سوکت دیتاگرام (UDP یا unix-dgram) برای ارسال پیام‌ها به هدف. این گزینه به گزینه
.B --inet
نیز نیاز دارد.

--dont-parse یا -d
خطوط خوانده‌شده از فایل‌های ورودی را تجزیه (parse) نکن و آن‌ها را همان‌گونه که دریافت شده‌اند ارسال کن.

--help یا -h
نمایش یک پیام راهنمای کوتاه.

--idle-connection <تعداد-اتصالات>
تعداد اتصالات بی‌کار (idle) که
.B loggen
با مقصد برقرار خواهد کرد. توجه داشته باشید که
.B loggen
هیچ پیامی روی اتصالات بی‌کار ارسال نمی‌کند، اما اتصال با استفاده از پیام‌های keep-alive باز نگه داشته می‌شود. این گزینه تنها هنگام استفاده از اتصالات TCP یا TLS به مقصد قابل استفاده است. همچنین گزینه
.B --active-connections
را ببینید. مقدار پیش‌فرض: 0 است.

--inet یا -i
استفاده از پروتکل TCP (به‌صورت پیش‌فرض) یا UDP (هنگامی که همراه با گزینه
.B --dgram
استفاده شود) برای ارسال پیام‌ها به هدف.

--interval <ثانیه> یا -I <ثانیه>
تعداد ثانیه‌هایی که
.B loggen
اجرا خواهد شد. مقدار پیش‌فرض: 10 است.

نکته: هنگامی که --interval و --number با هم استفاده شوند، loggen تا
زمانی پیام ارسال می‌کند که مدت‌زمان تعیین‌شده در --interval منقضی شود یا
تعداد پیام‌های مشخص‌شده در --number تکمیل گردد؛ هر کدام که زودتر رخ دهد.

--ipv6 یا -6
تعیین مقصد با استفاده از نشانی IPv6 آن. توجه داشته باشید که مقصد باید یک نشانی واقعی IPv6 داشته باشد.

--loop-reading یا -l
خواندن فایل مشخص‌شده در گزینه
--read-file
در یک حلقه تکرار:
.B loggen
هنگامی که به پایان فایل می‌رسد، خواندن را مجدداً از ابتدای فایل آغاز می‌کند.

--number <تعداد-پیام‌ها> یا -n <تعداد-پیام‌ها>
تعداد پیام‌هایی که باید تولید شوند.

نکته: هنگامی که --interval و --number با هم استفاده شوند، loggen تا
زمانی پیام ارسال می‌کند که مدت‌زمان تعیین‌شده در --interval منقضی شود یا
تعداد پیام‌های مشخص‌شده در --number تکمیل گردد؛ هر کدام که زودتر رخ دهد.

--no-framing یا -F
از قاب‌بندی (Framing) سبک پروتکل IETF-syslog استفاده نکن، حتی اگر گزینه
--syslog-proto
تنظیم شده باشد.

--quiet یا -Q
آمار را تنها پس از اتمام کار
.B loggen
نمایش بده. در صورت عدم تنظیم، آمار در هر ثانیه نمایش داده می‌شود.

--permanent یا -T
ادامه ارسال وقایع (لاگ‌ها) به صورت نامحدود و بدون محدودیت زمانی.

--rate <پیام/ثانیه> یا -r <پیام/ثانیه>
تعداد پیام‌های تولیدشده در هر ثانیه برای هر اتصال فعال. مقدار پیش‌فرض: 1000 است.

اگر می‌خواهید نرخ پیام‌ها را در حین اجرای loggen تغییر دهید، سیگنال
SIGUSR1 را برای دو برابر کردن نرخ پیام، یا SIGUSR2 را برای نصف کردن آن
ارسال کنید:
kill -USR1 <loggen-pid>
kill -USR2 <loggen-pid>

--read-file <نام-فایل> یا -R <نام-فایل>
پیام‌ها را از یک فایل بخوان و به هدف ارسال کن. همچنین گزینه
--skip-tokens
را ببینید.
برای خواندن پیام‌ها از ورودی استاندارد (stdio)، مقدار
.B -
را به عنوان فایل ورودی مشخص کنید. توجه داشته باشید هنگام خواندن پیام‌ها از ورودی استاندارد،
.B loggen
تنها می‌تواند از یک ریسه (thread) منفرد استفاده کند. پارامترهای
.B -R
باید در انتهای دستور قرار گیرند، مانند:
.B loggen 127.0.0.1 1061 --read-file -

--sdata <داده-ارسال> یا -p <داده-ارسال>
ارسال آرگومان گزینه
--sdata
به عنوان بخش
SDATA
از پیام‌های پروتکل IETF-syslog (با فرمت RFC-5424). این گزینه را همراه با گزینه
--syslog-proto
استفاده کنید.

برای مثال:
--sdata "[test name=\"value\"]"

--size <اندازه-پیام> یا -s <اندازه-پیام>
اندازه یک پیام syslog بر حسب بایت. مقدار پیش‌فرض: 256 است. حداقل مقدار: 127 بایت، حداکثر مقدار: 8192 بایت.

--skip-tokens <تعداد>
نادیده گرفتن تعداد مشخص‌شده‌ای از نشانه‌های (کلمات) جداشده با فاصله در ابتدای هر خط. برای نمونه، اگر پیام‌های موجود در فایل به شکل
.B foo bar message
باشند، گزینه
.B --skip-tokens 2
بخش
.B foo bar
خط را نادیده گرفته و تنها بخش
.B message
را ارسال می‌کند. این گزینه فقط در صورت استفاده به همراه پارامتر
.B --read-file
کاربرد دارد. مقدار پیش‌فرض: 0 است.

--stream یا -S
استفاده از سوکت جریانی (Stream socket شامل TCP یا unix-stream) برای ارسال پیام‌ها به هدف.

--syslog-proto یا -P
استفاده از قالب جدید پیام‌های IETF-syslog. به‌صورت پیش‌فرض،
.B loggen
از قالب سنتی پیام‌های BSD-syslog استفاده می‌کند. همچنین گزینه
.B --no-framing
را ببینید.

--unix </path/to/socket> یا -x </path/to/socket>
استفاده از یک سوکت دامنه یونیکس (UNIX domain socket) برای ارسال پیام‌ها به هدف.

--use-ssl یا -U
استفاده از یک کانال رمزگذاری‌شده با SSL برای ارسال پیام‌ها به هدف. توجه داشته باشید که بررسی گواهی هدف یا انجام احراز هویت متقابل (Mutual authentication) امکان‌پذیر نیست.

--version یا -V
نمایش شماره نسخه syslog-ng.

دستور زیر ۱۰۰ پیام در هر ثانیه به مدت ده دقیقه تولید می‌کند و آن‌ها را از طریق TCP به پورت ۲۰۱۰ میزبان محلی (localhost) ارسال می‌کند. هر پیام ۳۰۰ بایت طول دارد:

loggen --size 300 --rate 100 --interval 600 127.0.0.1 2010

دستور زیر مشابه دستور بالا است، اما از پروتکل UDP استفاده می‌کند:

loggen --inet --dgram --size 300 --rate 100 --interval 600 127.0.0.1 2010

ارسال یک پیام تکی از طریق TCP6 به نشانی ::1 در پروتکل IPv6، پورت ۱۰۶۱:

loggen --ipv6 --number 1 ::1 1061

ارسال یک پیام تکی از طریق UDP6 به نشانی ::1 در پروتکل IPv6، پورت ۱۰۶۱:

loggen --ipv6 --dgram --number 1 ::1 1061

ارسال یک پیام تکی با استفاده از سوکت دامنه یونیکس:

loggen --unix --stream --number 1 </path/to/socket>

خواندن پیام‌ها از ورودی استاندارد (stdio) و ارسال آن‌ها به میزبان محلی:

loggen 127.0.0.1 1061 --read-file -

/Users/hofi/Develop/Balabit/syslog-ng/build/install/bin/loggen

نکته: اگر با مشکلی مواجه شدید یا به راهنمایی در مورد syslog-ng OSE نیاز داشتید، به syslog-ng OSE Administration Guide[1] مراجعه کرده یا از syslog-ng OSE mailing list[2] دیدن فرمایید. برای اخبار و اطلاعیه‌های مربوط به syslog-ng OSE، به syslog-ng OSE blogs[3] مراجعه کنید.

این صفحه راهنما از روی syslog-ng OSE Administration Guide[1] تولید شده است، که توسط چندین مشارکت‌کننده نوشته شده است و مایلیم از آن‌ها صمیمانه تشکر کنیم.

[1] syslog-ng OSE Administration Guide
⟨https://syslog-ng.github.io/admin-guide/README⟩

[2] syslog-ng OSE mailing list
⟨https://lists.balabit.hu/mailman/listinfo/syslog-ng⟩

[3] syslog-ng OSE blogs
⟨https://syslog-ng.com/blog⟩

18 December 2025 4.10.2