| PMDAPIPE(1) | General Commands Manual | PMDAPIPE(1) |
نام (NAME)
pmdapipe - عامل دامنه معیارهای کارایی (PMDA) برای ضبط خروجی دستورات
خلاصه دستور (SYNOPSIS)
$PCP_PMDAS_DIR/pipe/pmdapipe [-c configfile] [-D debug] [-d domain] [-l logfile] [-m memory]
توضیحات (DESCRIPTION)
pmdapipe یک عامل دامنه معیارهای کارایی (PMDA) با قابلیت پیکربندی برای پایش خروجی دستورات است. میتوان آن را مشابه یک شل محدودشده در نظر گرفت که در آن میتوان گزینهها را به دستورات از پیش تعیینشده ارسال کرد و هر خط از خروجی آنها به یک رویداد کارایی تبدیل میشود. این رویدادها میتوانند توسط ابزارهای کلاینت مانند pmval(1) مصرف شوند.
عامل pipe PMDA هم معیارهای مبتنی بر رویداد شامل رکوردهای دارای برچسب زمانی را برای خروجیهای متنی دستورات صادر میکند، و هم معیارهای متداولتر مبتنی بر نمونهگیری مانند تعداد رویدادها و مقادیر اندازه توان عملیاتی را ارائه میدهد.
این PMDA از طریق یک configfile پیکربندی میشود که برای هر فرآیندی که خروجی آن قابل ضبط است، حاوی یک خط میباشد؛ همانگونه که در بخش «پیکربندی (CONFIGURATION)» در ادامه شرح داده شده است.
شرح مختصری از گزینههای خط فرمان pmdapipe در ادامه آمده است:
- -c
- یک فایل پیکربندی جایگزین برای PMDA مشخص میکند. به طور پیشفرض، فایلی به نام $PCP_PMDAS_DIR/pipe/pipe.conf و تمام فایلهای درون دایرکتوری $PCP_SYSCONF_DIR/pipe.conf.d/ استفاده میشوند.
- -d
- بسیار حیاتی است که شماره دامنه (domain) معیارهای کارایی که در اینجا مشخص میشود، یکتا و سازگار باشد. به این معنا که domain باید برای هر PMDA روی یک میزبان، متفاوت باشد و همان شماره domain باید برای همان PMDA در تمام میزبانها استفاده شود.
- -l
- محل فایل لاگ. به طور پیشفرض، هنگام راهاندازی pmdapipe، یک فایل لاگ به نام pipe.log در دایرکتوری جاری pmcd(1) (یعنی $PCP_LOG_DIR/pmcd) نوشته میشود. اگر فایل لاگ نتواند ایجاد شود یا قابل نوشتن نباشد، خروجی به جای آن در خطای استاندارد نوشته میشود.
- -m
- حافظه فیزیکی مورد استفاده توسط PMDA برای بافر کردن رکوردهای رویداد را به maxsize بایت محدود میکند. با رسیدن رویدادهای لاگ به PMDA، آنها باید تا زمانی که ابزارهای کلاینت مجزا دسته بعدی رویدادها را پس از دسته قبلی خود درخواست کنند، بافر شوند. حداکثر مقدار پیشفرض ۲ مگابایت است.
پیکربندی (CONFIGURATION)
مجموعه دستورات مجاز pipe توسط یک یا چند فایل متنی ساده پیکربندی میشود. قالب آن شامل یک خط برای هر دستور است که در ادامه یک بخش اختیاری کنترل دسترسی قرار میگیرد.
خطوط خالی و کامنتها در فایل پیکربندی مجاز هستند (و حتی توصیه میشوند). یک کامنت با نویسه «#» آغاز میشود و در انتهای خط پایان مییابد.
هر خط پیکربندی دستور به شکل زیر است:
- instance username command options
که در آن:
- instance
- رشتهای است که دستور pipe را مشخص میکند و همچنین به عنوان شناسه نمونه معیار صادر میشود.
- username
- نام حساب کاربری است که دستور باید تحت آن اجرا شود (مثلاً «root»)
- command
- مسیر فایل باینری است که برای تولید خروجی لولهکشیشده اجرا خواهد شد
- options
- فهرستی اختیاری و جداشده با فاصله از پارامترهایی است که به command ارسال میشوند
- این فهرست options میتواند شامل پارامترهای عددی باشد که با علامت دلار پیشوندگذاری شدهاند، و این پارامترها در زمان اجرای command با مقادیر ارائهشده توسط کاربر جایگزین خواهند شد (مشابه جایگزینی پارامتر در شل).
پارامترها به صورت یک رشته منفرد جداشده با فاصله یا کاما و با استفاده از رابط pmStore (3) به معیار pipe.firehose ارسال میشوند. دستور pmval دسترسی ذخیرهسازی را از طریق گزینه -x خود فراهم میکند. پارامترهای ارائهشده توسط کاربر به نویسههای الفباییعددی محدود شدهاند.
بخش کنترل دسترسی فایل باید با خطی به این شکل آغاز شود:
- [access]
فاصلههای خالی ابتدایی و انتهایی ممکن است در اطراف یا درون کروشهها قرار گیرند و بزرگی یا کوچکی حروف کلیدواژه access نادیده گرفته میشود. به جز یک کامنت در انتهای خط، هیچ متن دیگری نمیتواند در این خط وجود داشته باشد.
به دنبال این خط، باقیمانده فایل پیکربندی باید شامل خطوطی باشد که استفاده از commands را برای کاربران یا گروههای خاص مجاز یا غیرمجاز میکنند.
نامهای کاربری و نامهای گروه با استفاده از روتینهای getpwent(3) و getgrent(3) از طریق فایلهای محلی /etc/passwd و /etc/groups (یا یک سرویس دایرکتوری جایگزین) اعتبارسنجی میشوند.
دسترسی برای کاربران یا گروهها با مشخص کردن گزارههایی به این شکل مجاز یا غیرمجاز میشود:
- allow user username : instance
disallow user username : instance
allow group groupname : instance
disallow group groupname : instance
نامهای username و groupname با استفاده از روتینهای getpwent(3) و getgrent(3) از طریق فایلهای محلی /etc/passwd و /etc/groups (یا یک سرویس دایرکتوری جایگزین) اعتبارسنجی خواهند شد.
از نویسه عام «*» میتوان برای ارجاع به تمام نامهای instance استفاده کرد..SH "نصب (INSTALLATION)" اگر میخواهید به نامها، متن راهنما و مقادیر معیارهای کارایی pipe دسترسی داشته باشید، اقدامات زیر را به عنوان کاربر root انجام دهید:
# cd $PCP_PMDAS_DIR/pipe # ./Install
این یک فرایند نصب تعاملی است که مسیر هر فایل گزارش برای نظارت (یا دستور برای اجرا)، یک نام نمونهٔ معیار برای شناسایی آن، و اینکه آیا دسترسی باید محدود شود یا خیر را درخواست میکند (برای جزئیات بیشتر به گزینهٔ -x در pmval(1) مراجعه کنید).
اگر میخواهید نصب را لغو کنید، اقدامات زیر را به عنوان کاربر root انجام دهید:
# cd $PCP_PMDAS_DIR/pipe # ./Remove
pmdapipe توسط pmcd راهاندازی میشود و هرگز نباید مستقیماً اجرا گردد. اسکریپتهای Install و Remove هنگام نصب یا حذف عامل، به pmcd اطلاعرسانی میکنند.
مثالها (EXAMPLES)
در ادامه یک مثال ساده از پیکربندی pmdapipe و استفاده از معیارهای pipe برای اجرای دستور btrace توسط کاربر bob آورده شده است:
bob> cat $PCP_PMDAS_DIR/pipe/pipe.conf # instance user command rw_syscalls root perf script rw-by-file $1 bdev_trace root btrace -w $1 /dev/$2 [access] allow user bob : *; allow user jane : bdev_trace; allow group perf : rw_syscalls; bob> pmval -i bdev_trace -x '5 sda' pipe.firehose 8,2 5 1 0.000000000 25227 A WS 734332384 + 24 <- (253,2) 734330336 8,0 5 2 0.000000414 25227 A WS 735358432 + 24 <- (8,2) 734332384 8,0 5 3 0.000000756 25227 Q WS 735358432 + 24 [qemu-kvm] [...5 seconds worth] bob>
فایلها (FILES)
- $PCP_PMCDCONF_PATH
- گزینههای خط فرمان استفادهشده برای راهاندازی pmdapipe
- $PCP_PMDAS_DIR/pipe/pipe.conf
- فایل پیکربندی پیشفرض برای معیارهای pipe
- $PCP_PMDAS_DIR/pipe/help
- فایل متنی راهنمای پیشفرض برای معیارهای pipe
- $PCP_PMDAS_DIR/pipe/Install
- اسکریپت نصب برای عامل pmdapipe
- $PCP_PMDAS_DIR/pipe/Remove
- اسکریپت لغو نصب برای عامل pmdapipe
- $PCP_LOG_DIR/pmcd/pipe.log
- فایل گزارش پیشفرض برای پیامهای خطا و سایر اطلاعات حاصل از pmdapipe
- $PCP_SYSCONF_DIR/pipe.conf.d
- دایرکتوری حاوی فایلهای پیکربندی تکمیلی برای معیارهای pipe
محیط PCP (PCP ENVIRONMENT)
متغیرهای محیطی با پیشوند PCP_ برای مقداردهی و پارامتربندی نام فایلها و دایرکتوریهای استفادهشده توسط PCP به کار میروند. در هر نصب، فایل /etc/pcp.conf حاوی مقادیر محلی برای این متغیرها است. متغیر $PCP_CONF ممکن است برای تعیین یک فایل پیکربندی جایگزین استفاده شود، همانطور که در pcp.conf(5) شرح داده شده است.
گزینههای اشکالزدایی (DEBUGGING OPTIONS)
گزینهٔ -D یا --debug خروجی عیبیابی تکمیلی را روی stderr فعال میکند تا به بررسی مشکلات کمک کند، اگرچه اطلاعات خروجی گاهی مبهم است و در درجه اول برای راهنمایی توسعهدهندگان در نظر گرفته شده است تا کاربران نهایی. debug یک فهرست جداشده با کاما از گزینههای اشکالزدایی است؛ از pmdbg(1) همراه با گزینهٔ -l برای بهدست آوردن فهرستی از گزینههای اشکالزدایی موجود و معانی آنها استفاده کنید.
گزینههای اشکالزدایی مختص به pmdapipe به شرح زیر هستند:
| گزینه | توضیحات |
| appl0 | پردازش و تولید رویداد، تعاملات با pmcd(1)، مدیریت زمینهٔ کلاینت، اجرای دستور |
| appl1 | کنترلهای دسترسی، عیبیابی کاربر و گروه |
| appl2 | مدیریت configfile، عیبیابی آرگومانهای نادرست دستور، مدیریت select(2) |
| "همچنین ببینید (SEE ALSO)" | |
| PCPIntro (1)، | |
| pmval (1)، | |
| pmcd (1)، | |
| getpwent (3)، | |
| getgrent (3)، | |
| pmStore (3)، | |
| pcp.conf (5) | |
| و | |
| pcp.env (5). | |
| PCP | Performance Co-Pilot |