syslog-ng-ctl(1) The syslog-ng OSE control tool manual page syslog-ng-ctl(1)

syslog-ng-ctl - نمایش آمار پیام‌ها و فعال‌سازی حالت‌های پرگویی (verbose)، اشکال‌زدایی (debug) و ردگیری (trace) در syslog-ng OSE

syslog-ng-ctl [command] [options]

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

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

برنامه syslog-ng-ctl ابزاری است که می‌تواند برای موارد زیر استفاده شود:

  • فعال یا غیرفعال کردن پیام‌های گوناگون syslog-ng OSE جهت عیب‌یابی
  • نمایش آمار درباره پیام‌های پردازش‌شده
  • مدیریت کلیدهای خصوصی محافظت‌شده با گذرواژه
  • نمایش پیکربندی در حال اجرای فعلی syslog-ng OSE
  • بارگذاری مجدد پیکربندی syslog-ng OSE.

command [options]

برای نمایش پیام‌های پرگویی (verbose)، ردگیری (trace) یا اشکال‌زدایی (debug) از دستور syslog-ng-ctl <command> --set=on استفاده کنید. اگر در تلاش برای حل مشکلات پیکربندی هستید، پیام‌های verbose (و گهگاه trace) معمولاً کافی هستند. پیام‌های debug بیشتر برای یافتن خطاهای نرم‌افزاری نیاز می‌شوند. پس از حل مشکل، فراموش نکنید که این پیام‌ها را با استفاده از دستور syslog-ng-ctl <command> --set=off خاموش کنید. توجه داشته باشید که فعال‌سازی پیام‌های debug باعث فعال شدن پیام‌های verbose و trace نمی‌شود.

برای نمایش فعال یا غیرفعال بودن نوع خاصی از پیام‌ها، دستور syslog-ng-ctl <command> را بدون هیچ پارامتری اجرا کنید.

اگر برای دسترسی به syslog-ng OSE نیاز به استفاده از یک سوکت کنترلی غیراستاندارد دارید، از دستور syslog-ng-ctl <command> --set=on --control=<socket> برای تعیین سوکت مورد استفاده استفاده کنید.

•
verbose

چاپ پیام‌های پرگویی (verbose). اگر syslog-ng OSE با گزینه --stderr یا -e شروع شده باشد، پیام‌ها به stderr فرستاده خواهند شد. در غیر این صورت، syslog-ng OSE این پیام‌ها را در منبع داخلی خود ثبت می‌کند.

•
trace

چاپ پیام‌های ردگیری (trace) از چگونگی پردازش پیام‌ها. اگر syslog-ng OSE با گزینه --stderr یا -e شروع شده باشد، پیام‌ها به stderr فرستاده خواهند شد. در غیر این صورت، syslog-ng OSE این پیام‌ها را در منبع داخلی خود ثبت می‌کند.

•
debug

چاپ پیام‌های اشکال‌زدایی (debug). اگر syslog-ng OSE با گزینه --stderr یا -e شروع شده باشد، پیام‌ها به stderr فرستاده خواهند شد. در غیر این صورت، syslog-ng OSE این پیام‌ها را در منبع داخلی خود ثبت می‌کند.

syslog-ng-ctl verbose --set=on

برنامه syslog-ng OSE داده‌ها، معیارها و آمارهای گوناگون را در یک جدول درهم‌سازی (هش) ذخیره می‌کند. هر ویژگی دارای یک نام و یک مقدار است. برای نمونه:

[syslog-ng]
|
|_[destinations]-[network]-[tcp]->[stats]->{received=12;dropped=2}
|
|_[sources]-[sql]-[stats]->{received=501;dropped=0}

شما می‌توانید گره‌های این درخت را پرس‌وجو کنید و همچنین از پالایه‌ها (فیلترها) برای انتخاب اطلاعات مورد نیاز خود بهره ببرید. یک پرس‌وجو در واقع مسیری در این درخت است. شما همچنین می‌توانید از نویسه‌های عام (wildcard) ? و * استفاده کنید. برای نمونه:

  • انتخاب همه ویژگی‌ها: *
  • انتخاب تمام مقادیر dropped از هر گره stats: *.stats.dropped

گره‌ها و ویژگی‌های موجود در درخت به پیکربندی syslog-ng OSE شما (یعنی منابع، مقصدها و دیگر اشیایی که پیکربندی کرده‌اید) و همچنین به تنظیمات stats-level() شما بستگی دارند.

syslog-ng-ctl query list

از دستور syslog-ng-ctl query list برای نمایش فهرست معیارهایی که syslog-ng OSE درباره پیام‌های پردازش‌شده گردآوری می‌کند استفاده کنید.

یک نمونه خروجی:

center.received.stats.processed center.queued.stats.processed destination.delastic.stats.processed source.stcp.stats.processed source.severity.7.stats.processed source.severity.0.stats.processed source.severity.1.stats.processed source.severity.2.stats.processed source.severity.3.stats.processed source.severity.4.stats.processed source.severity.5.stats.processed source.severity.6.stats.processed source.facility.7.stats.processed source.facility.16.stats.processed source.facility.8.stats.processed source.facility.17.stats.processed source.facility.9.stats.processed source.facility.18.stats.processed source.facility.19.stats.processed source.facility.20.stats.processed source.facility.0.stats.processed source.facility.21.stats.processed source.facility.1.stats.processed source.facility.10.stats.processed source.facility.22.stats.processed source.facility.2.stats.processed source.facility.11.stats.processed source.facility.23.stats.processed source.facility.3.stats.processed source.facility.12.stats.processed source.facility.4.stats.processed source.facility.13.stats.processed source.facility.5.stats.processed source.facility.14.stats.processed source.facility.6.stats.processed source.facility.15.stats.processed source.facility.other.stats.processed global.payloadreallocs.stats.processed global.msgclones.stats.processed global.sdataupdates.stats.processed tag..source.stcp.stats.processed

دستور syslog-ng-ctl query list دارای گزینه‌های زیر است:

•
--reset

برای صفر کردن شمارنده‌های انتخاب‌شده پس از اجرای پرس‌وجو، از --reset استفاده کنید.

syslog-ng-ctl query get [options]

دستور syslog-ng-ctl query get <query> گره‌های منطبق با پرس‌وجو و مقادیر آن‌ها را فهرست می‌کند.

برای نمونه، پرس‌وجوی destination مقصدهای پیکربندی‌شده و معیارهای مرتبط با هر مقصد را فهرست می‌کند. یک نمونه خروجی:

destination.d_elastic.stats.processed=0

دستور syslog-ng-ctl query get دارای گزینه‌های زیر است:

--sum
جمع بستن نتیجه هر گره منطبق و بازگرداندن تنها یک عدد تکی. برای نمونه، دستور syslog-ng-ctl query get --sum "destination*.dropped" تعداد پیام‌های دور ریخته‌شده (dropped) توسط نمونه syslog-ng OSE را نمایش می‌دهد.

--reset
استفاده از --reset برای تنظیم شمارنده‌های انتخاب‌شده به 0 پس از اجرای پرس‌وجو.

stats [options]

از دستور stats برای نمایش آمار درباره پیام‌های پردازش‌شده استفاده کنید. برای جزئیات پیرامون آمارهای نمایش‌داده‌شده، به راهنمای مدیریت syslog-ng OSE مراجعه کنید. دستور stats دارای گزینه‌های زیر است:

--control=<socket> یا -c
مشخص کردن سوکت مورد استفاده برای دسترسی به syslog-ng OSE. تنها هنگام استفاده از یک سوکت غیراستاندارد مورد نیاز است.

--reset=<socket> یا -r
صفر کردن تمام آمارها، به جز شمارنده‌های صف (queued). (شمارنده‌های در صف، تعداد پیام‌های موجود در صف پیام گرداننده مقصد را نشان می‌دهند که در انتظار ارسال به مقصد هستند.)

--remove-orphans
حذف ایمن تمام شمارنده‌هایی که توسط هیچ‌یک از اشیای تولیدکننده آمار syslog-ng ارجاع داده نشده‌اند.

این فلگ می‌تواند برای هرس کردن دستی شمارنده‌های پویا و ایستا استفاده شود.
این ویژگی مفید است، برای نمونه هنگامی که یک مقصد فایل قالب‌بندی‌شده آمار زیادی تولید می‌کند:
>dst.file;#anon-destination0#0;/tmp/2021-08-16.log;o;processed;253592
>dst.file;#anon-destination0#0;/tmp/2021-08-17.log;o;processed;156
>dst.file;#anon-destination0#0;/tmp/2021-08-18.log;a;processed;961
یادداشت: گزینه stats(lifetime()) می‌تواند برای انجام خودکار و دوره‌ای
همین کار استفاده شود، اما در حال حاضر stats(lifetime()) تنها شمارنده‌های
پویایی را حذف می‌کند که فیلد برچسب زمانی (timestamp) برای آن‌ها تنظیم شده باشد.

syslog-ng-ctl stats

یک نمونه خروجی:

src.internal;sall#0;;a;processed;6445 src.internal;sall#0;;a;stamp;1268989330 destination;dfauth;;a;processed;404 destination;dfnewsdotnotice;;a;processed;0 destination;dfnewsdoterr;;a;processed;0 destination;dssb;;a;processed;7128 destination;dfuucp;;a;processed;0 source;sall;;a;processed;7128 destination;dfmail;;a;processed;0 destination;dfuser;;a;processed;1 destination;dfdaemon;;a;processed;1 destination;dfdebug;;a;processed;15 destination;dfmessages;;a;processed;54 destination;dpxconsole;;a;processed;671 dst.tcp;dnetwork#0;10.50.0.111:514;a;dropped;5080 dst.tcp;dnetwork#0;10.50.0.111:514;a;processed;7128 dst.tcp;dnetwork#0;10.50.0.111:514;a;queued;2048 destination;dfsyslog;;a;processed;6724 destination;dffacilitydotwarn;;a;processed;0 destination;dfnewsdotcrit;;a;processed;0 destination;dflpr;;a;processed;0 destination;duall;;a;processed;0 destination;dffacilitydotinfo;;a;processed;0 center;;received;a;processed;0 destination;dfkern;;a;processed;70 center;;queued;a;processed;0 destination;dffacilitydot_err;;a;processed;0

syslog-ng-ctl credentials [options]

دستور syslog-ng-ctl credentials status به شما امکان می‌دهد وضعیت کلیدهای خصوصی را که syslog-ng OSE در گرداننده‌های network() و syslog() استفاده می‌کند، پرس‌وجو کنید. همچنین می‌توانید با استفاده از دستور syslog-ng-ctl credentials add عبارت عبور (passphrase) کلیدهای خصوصی محافظت‌شده با گذرواژه را ارائه دهید. برای جزئیات پیرامون استفاده از کلیدهای محافظت‌شده با گذرواژه، به راهنمای مدیریت syslog-ng OSE مراجعه کنید.

syslog-ng-ctl credentials status [options]

دستور syslog-ng-ctl credentials status به شما امکان می‌دهد وضعیت کلیدهای خصوصی مورد استفاده syslog-ng OSE در گرداننده‌های network() و syslog() را پرس‌وجو کنید. این دستور فهرست کلیدهای خصوصی استفاده‌شده و وضعیت آن‌ها را بازمی‌گرداند. برای نمونه:

syslog-ng-ctl credentials status
Secret store status: /home/user/ssl_test/client-1/client-encrypted.key SUCCESS

اگر وضعیت یک کلید PENDING باشد، باید عبارت عبور آن کلید را ارائه دهید، در غیر این صورت syslog-ng OSE نمی‌تواند از آن استفاده کند. منابع و مقصدهایی که از این کلیدها استفاده می‌کنند تا زمانی که گذرواژه‌ها را ارائه ندهید کار نخواهند کرد. سایر بخش‌های پیکربندی syslog-ng OSE دست‌نخورده باقی خواهند ماند. شما باید عبارت عبور کلیدهای محافظت‌شده با گذرواژه را در هر بار راه‌اندازی مجدد syslog-ng OSE وارد کنید.

پیام ثبت رویداد (log) زیر نیز شما را از عبارت‌های عبور PENDING آگاه می‌کند:

Waiting for password; keyfile='private.key'

--control=<socket> یا -c

تعیین سوکت مورد استفاده برای دسترسی به syslog-ng OSE. تنها در صورت استفاده از یک سوکت غیراستاندارد مورد نیاز است.

syslog-ng-ctl credentials add [options]

می‌توانید با استفاده از دستور زیر، عبارت عبور را به فایل کلید خصوصی محافظت‌شده با گذرواژه اضافه کنید. syslog-ng OSE اعلانی را برای ورود عبارت عبور نمایش می‌دهد. توصیه ما استفاده از این روش است.

syslog-ng-ctl credentials add --id=<path-to-the-key>

همچنین می‌توانید عبارت عبور را در پارامتر --secret قرار دهید:

syslog-ng-ctl credentials add --id=<path-to-the-key> --secret=<passphrase-of-the-key>

یا می‌توانید عبارت عبور را به دستور syslog-ng-ctl هدایت (pipe) کنید، برای نمونه:

echo "<passphrase-of-the-key>" | syslog-ng-ctl credentials add --id=<path-to-the-key>

--control=<socket> یا -c
تعیین سوکت مورد استفاده برای دسترسی به syslog-ng OSE. تنها هنگام استفاده از یک سوکت غیراستاندارد نیاز است.

--id=<path-to-the-key> یا -i
مسیر فایل کلید خصوصی محافظت‌شده با گذرواژه. این همان مسیری است که در گزینه key-file() فایل پیکربندی syslog-ng OSE استفاده می‌کنید.

--secret=<passphrase-of-the-key> یا -s
گذرواژه یا عبارت عبور کلید خصوصی.

syslog-ng-ctl config [options]

از دستور syslog-ng-ctl config برای نمایش پیکربندی که syslog-ng OSE هم‌اکنون با آن در حال اجراست استفاده کنید. توجه داشته باشید که به طور پیش‌فرض، تنها محتوای فایل پیکربندی اصلی نمایش داده می‌شود و فایل‌های گنجانده‌شده (included) حل‌وفصل نمی‌شوند. برای حل‌وفصل فایل‌های گنجانده‌شده و نمایش کامل پیکربندی، از دستور syslog-ng-ctl config --preprocessed استفاده کنید.

syslog-ng-ctl reload [options]

از دستور syslog-ng-ctl reload برای بارگذاری مجدد فایل پیکربندی syslog-ng OSE بدون نیاز به راه‌اندازی مجدد برنامه syslog-ng OSE استفاده کنید. عملکرد syslog-ng-ctl reload مشابه سیگنال SIGHUP است.

دستور syslog-ng-ctl reload در صورت موفقیت‌آمیز بودن عملیات 0 و در غیر این صورت 1 برمی‌گرداند.

/Users/hofi/Develop/Balabit/syslog-ng/build/install/sbin/syslog-ng-ctl

یادداشت: اگر با مشکلی مواجه شدید یا نیاز به راهنمایی در مورد 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