.TH pdbtool 1 "18 December 2025" 4.10.2 "راهنمای pdbtool" .SH "نام (NAME)" pdbtool \- برنامه‌ای برای آزمایش و تبدیل قواعد پایگاه‌داده الگوی {{ site.product.short_name }} .SH "خلاصه دستور (SYNOPSIS)" .PP pdbtool [command] [options] .SH "توضیحات (DESCRIPTION)" .PP این صفحه راهنما صرفاً یک چکیده است. .PP برنامه syslog\-ng OSE می‌تواند محتوای پیام‌های لاگ را با یک پایگاه‌داده از الگوهای از پیش تعریف‌شده پیام (که patterndb نیز نامیده می‌شود) تطبیق دهد. با مقایسه پیام‌ها با الگوهای شناخته‌شده، syslog\-ng OSE قادر است نوع دقیق پیام‌ها را شناسایی کرده، به آن‌ها برچسب بزند و آن‌ها را در دسته‌های پیام مرتب کند. دسته‌های پیام را می‌توان برای رده‌بندی نوع رویداد شرح‌داده‌شده در پیام لاگ به کار برد. عملکرد پایگاه‌داده الگو مشابه پروژه logcheck است، اما رویکرد syslog\-ng OSE سریع‌تر است، مقیاس‌پذیری بهتری دارد و نگهداری آن در مقایسه با عبارات منظم (regular expressions) در logcheck بسیار آسان‌تر است. .PP برنامه pdbtool ابزاری است که می‌تواند برای موارد زیر استفاده شود: .RS .IP \(bu 2 \fB\fCآزمایش پیام‌ها\fR، یا \fB\fCقواعد خاص\fR .IP \(bu 2 تبدیل یک پایگاه‌داده الگوی قدیمی‌تر به جدیدترین قالب پایگاه‌داده .IP \(bu 2 \fB\fCادغام پایگاه‌های داده الگو\fR در یک فایل واحد .IP \(bu 2 \fB\fCایجاد خودکار پایگاه‌های داده الگو\fR از حجم زیادی از پیام‌های لاگ .IP \(bu 2 \fB\fCتخلیه (dump) درخت RADIX\fR ساخته‌شده از پایگاه‌داده الگو (یا بخشی از آن) جهت بررسی نحوه عملکرد تطبیق الگو. .RE .SH "دستور DICTIONARY (THE DICTIONARY COMMAND)" .PP dictionary [options] .PP تمام جفت‌های نام\-مقدار را که می‌توانند توسط قواعد پایگاه‌داده الگو تنظیم شوند، فهرست می‌کند. .PP \fB\fC\-\-dump\-tag\fR یا \fB\fC\-T\fR .PP .RS .nf فهرست کردن برچسب‌ها به جای نام‌های جفت‌های نام\-مقدار. .fi .RE .PP \fB\fC\-\-pdb \fR یا \fB\fC\-p \fR .PP .RS .nf نام فایل پایگاه‌داده الگوی مورد استفاده. .fi .RE .PP \fB\fC\-\-program \fR یا \fB\fC\-P \fR .PP .RS .nf تنها جفت‌های نام\-مقداری را فهرست می‌کند که می‌توانند برای پیام‌های برنامه مشخص‌شده ${PROGRAM} تنظیم شوند. .fi .RE .SH "دستور DUMP (THE DUMP COMMAND)" .PP dump [options] .PP درخت RADIX ساخته‌شده از الگوها را نمایش می‌دهد. این خروجی نشان می‌دهد که الگوها چگونه در syslog\-ng OSE نمایش داده می‌شوند و همچنین می‌تواند به ردیابی مشکلات تطبیق الگو کمک کند. ابزار dump می‌تواند درختی را که برای تطبیق بخش‌های \fB\fCPROGRAM\fR یا \fB\fCMSG\fR استفاده شده است، تخلیه کند. .PP \fB\fC\-\-debug\fR یا \fB\fC\-d\fR .PP .RS .nf فعال‌سازی پیام‌های اشکال‌زدایی/تشخیصی روی stderr. .fi .RE .PP \fB\fC\-\-pdb\fR یا \fB\fC\-p\fR .PP .RS .nf نام فایل پایگاه‌داده الگوی مورد استفاده. .fi .RE .PP \fB\fC\-\-program\fR یا \fB\fC\-P\fR .PP .RS .nf درخت RADIX ساخته‌شده از الگوهای متعلق به برنامه ${PROGRAM} را نمایش می‌دهد. .fi .RE .PP \fB\fC\-\-program\-tree\fR یا \fB\fC\-T\fR .PP .RS .nf درخت ${PROGRAM} را نمایش می‌دهد. .fi .RE .PP \fB\fC\-\-verbose\fR یا \fB\fC\-v\fR .PP .RS .nf فعال‌سازی پیام‌های پرگو (verbose) روی stderr. .fi .RE .SS "مثال (EXAMPLE):" .PP .RS .nf pdbtool dump \-p patterndb.xml \-P 'sshd' .fi .RE .PP .RS .nf \&'p' 'assword for' @QSTRING:@ 'from' @QSTRING:@ 'port ' @NUMBER:@ rule_id='fc49054e\-75fd\-11dd\-9bba\-001e6806451b' ' ssh' rule_id='fc55cf86\-75fd\-11dd\-9bba\-001e6806451b' '2' rule_id='fc4b7982\-75fd\-11dd\-9bba\-001e6806451b' 'ublickey for' @QSTRING:@ 'from' @QSTRING:@ 'port ' @NUMBER:@ rule_id='fc4d377c\-75fd\-11dd\-9bba\-001e6806451b' ' ssh' rule_id='fc5441ac\-75fd\-11dd\-9bba\-001e6806451b' '2' rule_id='fc44a9fe\-75fd\-11dd\-9bba\-001e6806451b' .fi .RE.SH "دستور MATCH (THE MATCH COMMAND)" .PP match [گزینه‌ها] .PP از دستور match برای آزمایش قوانین در یک پایگاه‌داده الگو استفاده کنید. این دستور تلاش می‌کند پیام مشخص‌شده را با الگوهای پایگاه‌داده تطبیق دهد، تجزیه‌کننده‌های الگو را ارزیابی کند، و همچنین نمایش دهد که کدام بخش از پیام با موفقیت تجزیه شده است. این دستور با کد بازگشتی 0 (موفقیت) یا 1 (عدم تطابق) به پایان می‌رسد و اطلاعات زیر را نمایش می‌دهد: .RS .IP \(bu 2 کلاس اختصاص‌یافته به پیام (یعنی system، violation و غیره)، .IP \(bu 2 شناسه (ID) قاعده‌ای که با پیام تطبیق یافته است، و .IP \(bu 2 مقادیر تجزیه‌کننده‌ها (اگر در الگوی منطبق، تجزیه‌کننده‌ای وجود داشته باشد). .RE .PP دستور match دارای گزینه‌های زیر است: .PP \fB\fC\-\-color\-out\fR یا \fB\fC\-c\fR .PP .RS .nf رنگی کردن خروجی ترمینال برای برجسته کردن بخشی از پیام که با موفقیت تجزیه شده است. .fi .RE .PP \fB\fC\-\-debug\fR یا \fB\fC\-d\fR .PP .RS .nf فعال‌سازی پیام‌های اشکال‌زدایی/تشخیصی در stderr. .fi .RE .PP \fB\fC\-\-debug\-csv\fR یا \fB\fC\-C\fR .PP .RS .nf چاپ اطلاعات اشکال‌زدایی بازگردانده‌شده توسط گزینه `\-\-debug\-pattern` به صورت مقادیر جداشده با کاما (CSV). .fi .RE .PP \fB\fC\-\-debug\-pattern\fR یا \fB\fC\-D\fR .PP .RS .nf چاپ اطلاعات اشکال‌زدایی درباره تطبیق الگو. همچنین گزینه `\-\-debug\-csv` را ببینید. .fi .RE .PP \fB\fC\-\-file=\fR یا \fB\fC\-f\fR .PP .RS .nf پردازش پیام‌های فایل لاگ مشخص‌شده با پایگاه‌داده الگو. این گزینه امکان دسته‌بندی آفلاین پیام‌ها و اعمال پایگاه‌داده الگو بر فایل‌های لاگ موجود را فراهم می‌کند. برای خواندن پیام‌ها از ورودی استاندارد (stdin)، به جای نام فایل یک نویسه خط پیوند (\-) مشخص کنید. .fi .RE .PP \fB\fC\-\-filter=\fR یا \fB\fC\-F\fR .PP .RS .nf چاپ تنها پیام‌هایی که با عبارت فیلتر syslog\-ng OSE مشخص‌شده تطابق دارند. .fi .RE .PP \fB\fC\-\-message\fR یا \fB\fC\-M\fR .PP .RS .nf متن پیام لاگ برای تطبیق (تنها بخش `MESSAGE` بدون سرایندهای syslog). .fi .RE .PP \fB\fC\-\-pdb\fR یا \fB\fC\-p\fR .PP .RS .nf نام فایل پایگاه‌داده الگوی مورد استفاده. .fi .RE .PP \fB\fC\-\-program\fR یا \fB\fC\-P\fR .PP .RS .nf نام برنامه مورد استفاده، همان‌طور که در بخش `PROGRAM` از پیام syslog قرار دارد. .fi .RE .PP \fB\fC\-\-template=\fR یا \fB\fC\-T\fR .PP .RS .nf یک عبارت الگوی syslog\-ng OSE که برای قالب‌بندی پیام‌های خروجی به کار می‌رود. .fi .RE .PP \fB\fC\-\-verbose\fR یا \fB\fC\-v\fR .PP .RS .nf فعال‌سازی پیام‌های پرگو (verbose) در stderr. .fi .RE.SS "مثال: بررسی (EXAMPLE: CHECK)" .PP دستور زیر بررسی می‌کند که آیا فایل patterndb.xml پیام Accepted publickey for myuser from 127.0.0.1 port 59357 ssh6 را شناسایی می‌کند یا خیر: .PP .RS .nf pdbtool match \-p patterndb.xml \-P sshd \-M "Accepted publickey for myuser from 127.0.0.1 port 59357 ssh6" .fi .RE .SS "مثال: اِعمال (EXAMPLE: APPLY)" .PP مثال زیر فایل پایگاه داده الگوی sshd.pdb را بر روی پیام‌های لاگ ذخیره‌شده در فایل /var/log/messages اعمال کرده، و تنها پیام‌هایی را نمایش می‌دهد که برچسب useracct دریافت کرده‌اند. .PP .RS .nf pdbtool match \-p sshd.pdb \\ –file /var/log/messages \\ –filter ‘tags(“usracct”);’ .fi .RE .SH "دستور MERGE (THE MERGE COMMAND)" .PP merge [options] .PP از دستور merge برای ترکیب فایل‌های جداگانه پایگاه داده الگو در یک فایل واحد استفاده کنید (پایگاه‌های داده الگو معمولاً برای ساده‌سازی نگهداری، به ازای هر برنامه در فایل‌های جداگانه‌ای ذخیره می‌شوند). اگر فایلی از قالب قدیمی‌تر پایگاه داده استفاده کند، به‌طور خودکار به آخرین قالب (V3) به‌روزرسانی می‌شود. برای جزئیات در مورد نسخه‌های مختلف پایگاه داده الگو، The syslog\-ng OSE Administrator Guide را ببینید. .PP \fB\fC\-\-debug\fR یا \fB\fC\-d\fR فعال‌سازی پیام‌های اشکال‌زدایی/تشخیصی روی stderr. .PP \fB\fC\-\-directory\fR یا \fB\fC\-D\fR دایرکتوری شامل فایل‌های XML پایگاه داده الگو برای ادغام. .PP \fB\fC\-\-glob\fR یا \fB\fC\-G\fR مشخص کردن نام فایل‌های مورد نظر برای ادغام با استفاده از یک الگوی glob، برای مثال با استفاده از نویسه‌های عام (wildcards). برای جزئیات در مورد الگوهای glob، دستور man glob را ببینید. این الگو تنها بر روی نام فایل‌ها اعمال می‌شود و بر روی نام دایرکتوری‌ها اعمال نخواهد شد. .PP \fB\fC\-\-pdb\fR یا \fB\fC\-p\fR نام فایل خروجی پایگاه داده الگو. .PP \fB\fC\-\-recursive\fR یا \fB\fC\-r\fR ادغام فایل‌ها از زیردایرکتوری‌ها نیز انجام شود. .PP \fB\fC\-\-sort\fR یا \fB\fC\-s\fR مرتب‌سازی فایل‌ها به ترتیب الفبایی هنگام ادغام (ابتدا مرتب‌سازی بر اساس نام فایل، سپس بر اساس نام دایرکتوری). .PP \fB\fC\-\-verbose\fR یا \fB\fC\-v\fR فعال‌سازی پیام‌های پرگو (verbose) روی stderr. .SS "مثال: ادغام (EXAMPLE: MERGE)" .PP .RS .nf pdbtool merge \-\-recursive \-\-directory /home/me/mypatterns/ \-\-pdb /var/lib/syslog\-ng/patterndb.xml .fi .RE .PP در حال حاضر امکان تبدیل یک فایل بدون ادغام وجود ندارد، بنابراین اگر تنها می‌خواهید یک فایل قدیمی پایگاه داده الگو را به آخرین قالب تبدیل کنید، باید آن را در یک دایرکتوری خالی کپی نمایید. .SH "دستور PATTERNIZE (THE PATTERNIZE COMMAND)" .PP .RS .nf patternize [options] .fi .RE .PP ایجاد خودکار یک پایگاه داده الگو از یک فایل لاگ شامل تعداد زیادی پیام لاگ. پایگاه داده الگوی حاصل در خروجی استاندارد (stdout) چاپ می‌شود. دستور pdbtool patternize از یک روش خوشه‌بندی داده‌ها برای یافتن پیام‌های مشابه لاگ و جایگزین کردن بخش‌های متفاوت با تجزیه‌کننده‌های @ESTRING:: @ استفاده می‌کند. برای جزئیات در مورد پایگاه‌های داده الگو و تجزیه‌کننده‌های پیام، The syslog\-ng OSE Administrator Guide \[la]https://www.syslog-ng.com\[ra]\& را ببینید. دستور patternize تنها در نسخه 3.2 و بالاتر در دسترس است. .PP \fB\fC\-\-debug\fR یا \fB\fC\-d\fR فعال‌سازی پیام‌های اشکال‌زدایی/تشخیصی روی stderr. .PP \fB\fC\-\-file=\fR یا \fB\fC\-f\fR فایل لاگ شامل پیام‌های لاگی که الگوها باید از آن ساخته شوند. برای دریافت پیام‌های لاگ از ورودی استاندارد (stdin)، از \- استفاده کنید. .PP \fB\fC\-\-iterate\-outliers\fR یا \fB\fC\-o\fR تکرار بازگشتی بر روی خطوط لاگ برای پوشش بیشترین تعداد ممکن از پیام‌های لاگ با الگوها. .PP \fB\fC\-\-named\-parsers\fR یا \fB\fC\-n\fR تعداد پیام‌های لاگ نمونه برای گنجاندن در پایگاه داده الگو به ازای هر الگو. مقدار پیش‌فرض: 1 .PP \fB\fC\-\-no\-parse\fR یا \fB\fC\-p\fR فایل ورودی تجزیه نشود، با هر خط به عنوان بخش پیام یک پیام لاگ برخورد شود. .PP \fB\fC\-\-samples=\fR گنجاندن یک نام تولیدشده در تجزیه‌کننده‌ها، برای مثال \fB\&.dict.string1\fP، \fB\&.dict.string2\fP و غیره. .PP \fB\fC\-\-support=\fR یا \fB\fC\-S\fR یک الگو در صورتی به پایگاه داده الگوی خروجی اضافه می‌شود که حداقل درصد مشخص‌شده‌ای از پیام‌های لاگ فایل ورودی با آن الگو مطابقت داشته باشند. برای مثال، اگر فایل لاگ ورودی شامل 1000 پیام لاگ باشد و گزینه \fB\fC\-\-support=3.0\fR استفاده شود، یک الگو تنها در صورتی ایجاد می‌شود که حداقل با 3 درصد از پیام‌های لاگ (یعنی 30 پیام لاگ) تطابق داشته باشد. اگر patternize الگوهای کافی ایجاد نکرد، سعی کنید مقدار support را کاهش دهید. مقدار پیش‌فرض: 4.0 .PP \fB\fC\-\-verbose\fR یا \fB\fC\-v\fR فعال‌سازی پیام‌های پرگو (verbose) روی stderr..SS "مثال: PATTERNIZE" .PP .RS .nf pdbtool patternize \-\-support=2.5 \-\-file=/var/log/messages .fi .RE .SH "دستور TEST (THE TEST COMMAND)" .PP .RS .nf test [options] .fi .RE .PP از دستور test برای اعتبارسنجی فایل XML پایگاه‌داده الگو استفاده کنید. توجه داشته باشید که برنامه xmllint باید نصب باشد. دستور test تنها در نگارش ۳٫۲ و بالاتر syslog\-ng OSE در دسترس است. .PP \fB\fC\-\-color\-out\fR یا \fB\fC\-c\fR فعال‌سازی رنگ‌آمیزی در خروجی ترمینال. .PP \fB\fC\-\-debug\fR یا \fB\fC\-d\fR فعال‌سازی پیام‌های اشکال‌زدایی/تشخیصی روی stderr. .PP \fB\fC\-\-debug\fR یا \fB\fC\-D\fR چاپ اطلاعات اشکال‌زدایی برای الگوهای تطبیق‌نیافته. .PP \fB\fC\-\-rule\-id\fR یا \fB\fC\-r\fR فقط آزمایش قاعده patterndb (مشخص‌شده با شناسه قاعده آن) در برابر مثال مربوط به آن. .PP \fB\fC\-\-validate\fR اعتبارسنجی فایل XML پایگاه‌داده الگو. .PP \fB\fC\-\-verbose\fR یا \fB\fC\-v\fR فعال‌سازی پیام‌های پرگو روی stderr. .SS "مثال: TEST" .PP .RS .nf pdbtool test \-\-validate /home/me/mypatterndb.pdb .fi .RE .SH "فایل‌ها (FILES)" .PP /Users/hofi/Develop/Balabit/syslog-ng/build/install/ .PP /Users/hofi/Develop/Balabit/syslog-ng/build/install/etc/syslog\-ng.conf .PP \fBنکته:\fP اگر با مشکلی مواجه شدید یا برای syslog\-ng OSE به راهنمایی نیاز دارید، \fIsyslog\-ng OSE Administration Guide\fP[1] را ببینید یا به \fIsyslog\-ng OSE mailing list\fP[2] مراجعه کنید. برای اخبار و اطلاعیه‌ها درباره syslog\-ng OSE، به \fIsyslog\-ng OSE blogs\fP[3] سر بزنید. .SH "نویسندگان (AUTHORS)" .PP این صفحه راهنما از \fIsyslog\-ng OSE Administration Guide\fP[1] تولید شده است که توسط مشارکت‌کنندگان متعددی نوشته شده و از صمیم قلب از آن‌ها سپاسگزاریم. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .SH "نکات (NOTES)" .PP [1] \fB\fCsyslog\-ng OSE Administration Guide\fR \[la]https://syslog-ng.github.io/admin-guide/README\[ra] .PP [2] \fB\fCsyslog\-ng OSE mailing list\fR \[la]https://lists.balabit.hu/mailman/listinfo/syslog-ng\[ra] .PP [3] \fB\fCsyslog\-ng OSE blogs\fR \[la]https://syslog-ng.com/blog\[ra]