| pdbtool(1) | راهنمای pdbtool | pdbtool(1) |
نام (NAME)
pdbtool - برنامهای برای آزمایش و تبدیل قواعد پایگاهداده الگوی {{ site.product.short_name }}
خلاصه دستور (SYNOPSIS)
pdbtool [command] [options]
توضیحات (DESCRIPTION)
این صفحه راهنما صرفاً یک چکیده است.
برنامه syslog-ng OSE میتواند محتوای پیامهای لاگ را با یک پایگاهداده از الگوهای از پیش تعریفشده پیام (که patterndb نیز نامیده میشود) تطبیق دهد. با مقایسه پیامها با الگوهای شناختهشده، syslog-ng OSE قادر است نوع دقیق پیامها را شناسایی کرده، به آنها برچسب بزند و آنها را در دستههای پیام مرتب کند. دستههای پیام را میتوان برای ردهبندی نوع رویداد شرحدادهشده در پیام لاگ به کار برد. عملکرد پایگاهداده الگو مشابه پروژه logcheck است، اما رویکرد syslog-ng OSE سریعتر است، مقیاسپذیری بهتری دارد و نگهداری آن در مقایسه با عبارات منظم (regular expressions) در logcheck بسیار آسانتر است.
برنامه pdbtool ابزاری است که میتواند برای موارد زیر استفاده شود:
- آزمایش پیامها، یا قواعد خاص
- تبدیل یک پایگاهداده الگوی قدیمیتر به جدیدترین قالب پایگاهداده
- ادغام پایگاههای داده الگو در یک فایل واحد
- ایجاد خودکار پایگاههای داده الگو از حجم زیادی از پیامهای لاگ
- تخلیه (dump) درخت RADIX ساختهشده از پایگاهداده الگو (یا بخشی از آن) جهت بررسی نحوه عملکرد تطبیق الگو.
دستور DICTIONARY (THE DICTIONARY COMMAND)
dictionary [options]
تمام جفتهای نام-مقدار را که میتوانند توسط قواعد پایگاهداده الگو تنظیم شوند، فهرست میکند.
--dump-tag یا -T
فهرست کردن برچسبها به جای نامهای جفتهای نام-مقدار.
--pdb <path-to-file> یا -p <path-to-file>
نام فایل پایگاهداده الگوی مورد استفاده.
--program <programname> یا -P <programname>
تنها جفتهای نام-مقداری را فهرست میکند که میتوانند برای پیامهای برنامه مشخصشده ${PROGRAM} تنظیم شوند.
دستور DUMP (THE DUMP COMMAND)
dump [options]
درخت RADIX ساختهشده از الگوها را نمایش میدهد. این خروجی نشان میدهد که الگوها چگونه در syslog-ng OSE نمایش داده میشوند و همچنین میتواند به ردیابی مشکلات تطبیق الگو کمک کند. ابزار dump میتواند درختی را که برای تطبیق بخشهای PROGRAM یا MSG استفاده شده است، تخلیه کند.
--debug یا -d
فعالسازی پیامهای اشکالزدایی/تشخیصی روی stderr.
--pdb یا -p
نام فایل پایگاهداده الگوی مورد استفاده.
--program یا -P
درخت RADIX ساختهشده از الگوهای متعلق به برنامه ${PROGRAM} را نمایش میدهد.
--program-tree یا -T
درخت ${PROGRAM} را نمایش میدهد.
--verbose یا -v
فعالسازی پیامهای پرگو (verbose) روی stderr.
مثال (EXAMPLE):
pdbtool dump -p patterndb.xml -P 'sshd'
'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'
match [گزینهها]
از دستور match برای آزمایش قوانین در یک پایگاهداده الگو استفاده کنید. این دستور تلاش میکند پیام مشخصشده را با الگوهای پایگاهداده تطبیق دهد، تجزیهکنندههای الگو را ارزیابی کند، و همچنین نمایش دهد که کدام بخش از پیام با موفقیت تجزیه شده است. این دستور با کد بازگشتی 0 (موفقیت) یا 1 (عدم تطابق) به پایان میرسد و اطلاعات زیر را نمایش میدهد:
- کلاس اختصاصیافته به پیام (یعنی system، violation و غیره)،
- شناسه (ID) قاعدهای که با پیام تطبیق یافته است، و
- مقادیر تجزیهکنندهها (اگر در الگوی منطبق، تجزیهکنندهای وجود داشته باشد).
دستور match دارای گزینههای زیر است:
--color-out یا -c
رنگی کردن خروجی ترمینال برای برجسته کردن بخشی از پیام که با موفقیت تجزیه شده است.
--debug یا -d
فعالسازی پیامهای اشکالزدایی/تشخیصی در stderr.
--debug-csv یا -C
چاپ اطلاعات اشکالزدایی بازگرداندهشده توسط گزینه `--debug-pattern` به صورت مقادیر جداشده با کاما (CSV).
--debug-pattern یا -D
چاپ اطلاعات اشکالزدایی درباره تطبیق الگو. همچنین گزینه `--debug-csv` را ببینید.
--file=<filename-with-path> یا -f
پردازش پیامهای فایل لاگ مشخصشده با پایگاهداده الگو. این گزینه امکان دستهبندی آفلاین پیامها و اعمال پایگاهداده الگو بر فایلهای لاگ موجود را فراهم میکند. برای خواندن پیامها از ورودی استاندارد (stdin)، به جای نام فایل یک نویسه خط پیوند (-) مشخص کنید.
--filter=<filter-expression> یا -F
چاپ تنها پیامهایی که با عبارت فیلتر syslog-ng OSE مشخصشده تطابق دارند.
--message یا -M
متن پیام لاگ برای تطبیق (تنها بخش `MESSAGE` بدون سرایندهای syslog).
--pdb یا -p
نام فایل پایگاهداده الگوی مورد استفاده.
--program یا -P
نام برنامه مورد استفاده، همانطور که در بخش `PROGRAM` از پیام syslog قرار دارد.
--template=<template-expression> یا -T
یک عبارت الگوی syslog-ng OSE که برای قالببندی پیامهای خروجی به کار میرود.
--verbose یا -v
فعالسازی پیامهای پرگو (verbose) در stderr.
دستور زیر بررسی میکند که آیا فایل patterndb.xml پیام Accepted publickey for myuser from 127.0.0.1 port 59357 ssh6 را شناسایی میکند یا خیر:
pdbtool match -p patterndb.xml -P sshd -M "Accepted publickey for myuser from 127.0.0.1 port 59357 ssh6"
مثال: اِعمال (EXAMPLE: APPLY)
مثال زیر فایل پایگاه داده الگوی sshd.pdb را بر روی پیامهای لاگ ذخیرهشده در فایل /var/log/messages اعمال کرده، و تنها پیامهایی را نمایش میدهد که برچسب useracct دریافت کردهاند.
pdbtool match -p sshd.pdb \
–file /var/log/messages \
–filter ‘tags(“usracct”);’
دستور MERGE (THE MERGE COMMAND)
merge [options]
از دستور merge برای ترکیب فایلهای جداگانه پایگاه داده الگو در یک فایل واحد استفاده کنید (پایگاههای داده الگو معمولاً برای سادهسازی نگهداری، به ازای هر برنامه در فایلهای جداگانهای ذخیره میشوند). اگر فایلی از قالب قدیمیتر پایگاه داده استفاده کند، بهطور خودکار به آخرین قالب (V3) بهروزرسانی میشود. برای جزئیات در مورد نسخههای مختلف پایگاه داده الگو، The syslog-ng OSE Administrator Guide را ببینید.
--debug یا -d
فعالسازی
پیامهای
اشکالزدایی/تشخیصی
روی stderr.
--directory یا -D
دایرکتوری
شامل
فایلهای XML
پایگاه
داده الگو
برای
ادغام.
--glob یا -G
مشخص کردن
نام
فایلهای
مورد نظر
برای ادغام
با استفاده
از یک الگوی
glob،
برای مثال
با استفاده
از
نویسههای
عام (wildcards). برای
جزئیات
در مورد
الگوهای glob،
دستور man glob را
ببینید. این
الگو تنها
بر روی
نام
فایلها
اعمال
میشود و بر
روی نام
دایرکتوریها
اعمال
نخواهد شد.
--pdb یا -p
نام فایل
خروجی
پایگاه
داده الگو.
--recursive یا -r
ادغام
فایلها از
زیردایرکتوریها
نیز انجام
شود.
--sort یا -s
مرتبسازی
فایلها به
ترتیب
الفبایی
هنگام
ادغام
(ابتدا
مرتبسازی
بر اساس
نام فایل،
سپس بر اساس
نام
دایرکتوری).
--verbose یا -v
فعالسازی
پیامهای
پرگو (verbose) روی
stderr.
مثال: ادغام (EXAMPLE: MERGE)
pdbtool merge --recursive --directory /home/me/mypatterns/ --pdb /var/lib/syslog-ng/patterndb.xml
در حال حاضر امکان تبدیل یک فایل بدون ادغام وجود ندارد، بنابراین اگر تنها میخواهید یک فایل قدیمی پایگاه داده الگو را به آخرین قالب تبدیل کنید، باید آن را در یک دایرکتوری خالی کپی نمایید.
دستور PATTERNIZE (THE PATTERNIZE COMMAND)
patternize [options]
ایجاد خودکار یک پایگاه داده الگو از یک فایل لاگ شامل تعداد زیادی پیام لاگ. پایگاه داده الگوی حاصل در خروجی استاندارد (stdout) چاپ میشود. دستور pdbtool patternize از یک روش خوشهبندی دادهها برای یافتن پیامهای مشابه لاگ و جایگزین کردن بخشهای متفاوت با تجزیهکنندههای @ESTRING:: @ استفاده میکند. برای جزئیات در مورد پایگاههای داده الگو و تجزیهکنندههای پیام، The syslog-ng OSE Administrator Guide ⟨https://www.syslog-ng.com⟩ را ببینید. دستور patternize تنها در نسخه 3.2 و بالاتر در دسترس است.
--debug یا -d
فعالسازی
پیامهای
اشکالزدایی/تشخیصی
روی stderr.
--file=<path> یا -f
فایل لاگ
شامل
پیامهای
لاگی که
الگوها
باید از آن
ساخته شوند.
برای
دریافت
پیامهای
لاگ از
ورودی
استاندارد
(stdin)، از -
استفاده
کنید.
--iterate-outliers یا -o
تکرار
بازگشتی بر
روی خطوط
لاگ برای
پوشش
بیشترین
تعداد ممکن
از
پیامهای
لاگ با
الگوها.
--named-parsers یا -n
تعداد
پیامهای
لاگ نمونه
برای
گنجاندن در
پایگاه
داده الگو
به ازای هر
الگو. مقدار
پیشفرض: 1
--no-parse یا -p
فایل ورودی
تجزیه
نشود، با هر
خط به عنوان
بخش پیام یک
پیام لاگ
برخورد
شود.
--samples=<number-of-samples>
گنجاندن یک
نام
تولیدشده
در
تجزیهکنندهها،
برای مثال
.dict.string1، .dict.string2 و
غیره.
--support=<number> یا -S
یک الگو در
صورتی به
پایگاه
داده الگوی
خروجی
اضافه
میشود که
حداقل درصد
مشخصشدهای
از
پیامهای
لاگ فایل
ورودی با آن
الگو
مطابقت
داشته
باشند.
برای مثال،
اگر فایل
لاگ ورودی
شامل 1000 پیام
لاگ باشد و
گزینه
--support=3.0 استفاده
شود، یک
الگو تنها
در صورتی
ایجاد
میشود
که حداقل با 3
درصد از
پیامهای
لاگ (یعنی 30
پیام لاگ)
تطابق
داشته باشد.
اگر patternize
الگوهای
کافی ایجاد
نکرد، سعی
کنید مقدار
support را کاهش
دهید.
مقدار
پیشفرض: 4.0
--verbose یا -v
فعالسازی
پیامهای
پرگو (verbose) روی
stderr..SS "مثال: PATTERNIZE"
pdbtool patternize --support=2.5 --file=/var/log/messages
دستور TEST (THE TEST COMMAND)
test [options]
از دستور test برای اعتبارسنجی فایل XML پایگاهداده الگو استفاده کنید. توجه داشته باشید که برنامه xmllint باید نصب باشد. دستور test تنها در نگارش ۳٫۲ و بالاتر syslog-ng OSE در دسترس است.
--color-out یا -c
فعالسازی
رنگآمیزی
در خروجی
ترمینال.
--debug یا -d
فعالسازی
پیامهای
اشکالزدایی/تشخیصی
روی stderr.
--debug یا -D
چاپ
اطلاعات
اشکالزدایی
برای
الگوهای
تطبیقنیافته.
--rule-id یا -r
فقط آزمایش
قاعده patterndb
(مشخصشده
با شناسه
قاعده آن) در
برابر مثال
مربوط به
آن.
--validate
اعتبارسنجی
فایل XML
پایگاهداده
الگو.
--verbose یا -v
فعالسازی
پیامهای
پرگو روی stderr.
مثال: TEST
pdbtool test --validate /home/me/mypatterndb.pdb
فایلها (FILES)
/Users/hofi/Develop/Balabit/syslog-ng/build/install/
/Users/hofi/Develop/Balabit/syslog-ng/build/install/etc/syslog-ng.conf
نکته: اگر با مشکلی مواجه شدید یا برای syslog-ng OSE به راهنمایی نیاز دارید، syslog-ng OSE Administration Guide[1] را ببینید یا به syslog-ng OSE mailing list[2] مراجعه کنید. برای اخبار و اطلاعیهها درباره syslog-ng OSE، به syslog-ng OSE blogs[3] سر بزنید.
نویسندگان (AUTHORS)
این صفحه راهنما از syslog-ng OSE Administration Guide[1] تولید شده است که توسط مشارکتکنندگان متعددی نوشته شده و از صمیم قلب از آنها سپاسگزاریم.
کپیرایت و تکثیر (COPYRIGHT)
نکات (NOTES)
[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 |