PMFIND_CHECK(1) General Commands Manual PMFIND_CHECK(1)

pmfind_check - مدیریت کشف سرویس‌های Performance Co-Pilot

$PCP_BINADM_DIR/pmfind_check [-CNV?] [-l logfile]

این اسکریپت شل برای ادغام سازوکارهای کشف سرویس جمع‌آوری‌کننده Performance Co-Pilot (ببینید PCPIntro(1)) با مدیریت سرویس‌های pmie(1) و pmlogger(1) به‌کار می‌رود، به‌گونه‌ای که بتوان چندین میزبان جمع‌آوری‌کننده را از یک میزبان متمرکز واحد پایش کرد. توجه به این نکته حائز اهمیت است که سرویس pmfind به‌طور تنگاتنگی با سرویس‌های pmie و pmlogger یکپارچه شده است، و اگر قرار باشد سرویس‌ها برای هر سیستم جمع‌آوری‌کننده‌ای که pmfind کشف می‌کند راه‌اندازی شوند، این سرویس‌ها نیز باید فعال گردند.

pmfind_check به‌گونه‌ای طراحی شده است که از طریق یک دیمن مدیریت سرویس مانند systemd(1) در لینوکس فعال شود. این اسکریپت از طریق یک تایمر سیستمی (توسط systemd یا توسط cron در سایر سیستم‌ها) اجرا می‌شود. یک بار در هر بازه تایمر، pmfind برای کشف سیستم‌های جمع‌آوری‌کننده PCP تلاش می‌کند. به‌ازای هر سیستم منحصربه‌فردِ یافت‌شده، pmfind_check مدخل‌های فایل کنترلی برای pmie_check و pmlogger_check ایجاد می‌کند، به‌طوری که این فرآیندهای پسین بتوانند یک سرویس pmie و pmlogger را برای هر سیستم جمع‌آوری‌کننده کشف‌شده مدیریت کنند.

هنگام اجرا از طریق systemd این فرآیندها بلافاصله راه‌اندازی خواهند شد، زیرا systemd فایل‌های کنترل سرویس را برای تغییرات نظارت می‌کند. با systemd همچنین می‌توان با اصلاح پوشه $PCP_SYSCONF_DIR/pmfind به هر شکل، یک کشف سرویس فوری را توسط pmfind و pmfind_check آغاز کرد.

هنگام اجرا از طریق cron فراخوانی بعدی (که آن هم بر پایه تایمر است) از سوی pmie_check یا pmlogger_check فرآیندهای مرتبط pmie و pmlogger را راه‌اندازی و مدیریت خواهد کرد.

مدخل‌های فایل کنترل ایجادشده توسط pmfind_check از قرارداد فایل‌های مجزا برای هر میزبان جمع‌آوری‌کننده پیروی می‌کنند. نام‌گذاری این فایل‌ها با استفاده از شناسه منبع (منحصربه‌فردی) انجام می‌شود که pmfind محاسبه می‌کند. این شناسه، یک هش محاسبه‌شده بر اساس برچسب‌های متنی (غیر اختیاری) در دسترس از هر میزبان جمع‌آوری‌کننده است، و همان شناسه منبعی است که توسط pminfo(1) و pmseries(1) گزارش شده و استفاده می‌گردد.

گزینه‌های موجود خط فرمان عبارتند از:

این گزینه باعث می‌شود pmfind_check هر سیستم جمع‌آوری‌کننده کشف‌شده را برای کانتینرهای در حال اجرا نیز بررسی کند، که در این صورت کانتینرها نیز به‌صورت مجزا نظارت خواهند شد.
برای اطمینان از اینکه هنگام اجرای این اسکریپت‌ها از طریق cron(8) ایمیلی ناخواسته ارسال نشود، پیام‌های عیب‌یابی همیشه به فایل‌های لاگ فرستاده می‌شوند. به‌طور پیش‌فرض، این فایل $PCP_LOG_DIR/pmfind/pmfind_check.log است، اما می‌توان آن را با استفاده از گزینه -l تغییر داد. اگر این file لاگ هنگام شروع اسکریپت از قبل موجود باشد، پیش از تولید پیام‌های عیب‌یابی در فایل لاگ جدید، نام آن با پسوند .prev تغییر داده خواهد شد (و هر فایل لاگی که پیش‌تر ذخیره شده بود رونویسی می‌شود).
این گزینه حالت «نمایشی» را فعال می‌کند که در آن اقدامات برنامه‌ها نمایش داده می‌شوند اما اجرا نمی‌گردند، مشابه رفتار «make -n». استفاده از -N همراه با -V قابلیت‌های عیب‌یابی را برای اشکال‌زدایی به حداکثر می‌رساند.
خروجی حاصل از اجرای اسکریپت‌ها در cron را می‌توان با استفاده از گزینه -V گسترش داد که امکان ردگیری دقیق فعالیت آن‌ها را فراهم می‌کند. به‌طور پیش‌فرض، اسکریپت‌ها خروجی تولید نمی‌کنند مگر اینکه با شرایط خطا یا هشدار مواجه شوند. استفاده از -N همراه با -V قابلیت‌های عیب‌یابی را برای اشکال‌زدایی به حداکثر می‌رساند.
-?, --help
نمایش پیام راهنما و خروج.

گزینه‌های خط فرمان ارسال‌شده به pmie و pmlogger را می‌توان از طریق فایل پیکربندی $PCP_SYSCONFIG_DIR/pmfind شخصی‌سازی کرد.

برای جزئیات قالب فایل کنترل ایجادشده توسط pmfind_check، به صفحات راهنمای pmie_check و pmlogger_check مراجعه کنید.

به‌طور پیش‌فرض، فایل لاگ pmie برای هر سیستم جمع‌آوری‌کننده در $PCP_LOG_DIR/pmie/source و آرشیوهای pmlogger در زیرمسیر $PCP_ARCHIVE_DIR/source ایجاد خواهند شد. این رفتار با روشی که pmie(1) و pmlogger(1) لاگ‌های فعالیت و فایل‌های آرشیو خود را نگهداری می‌کنند سازگار است.

مدخل‌های معمول crontab(5) برای اجرای دوره‌ای pmfind_check در $PCP_SYSCONF_DIR/pmfind/crontab ارائه شده‌اند (مگر اینکه پیش‌تر به‌طور پیش‌فرض در /etc/cron.d نصب شده باشند) و در زیر نشان داده شده‌اند.

# every minute, discover remote PCP services
*       *       *       *       *       $PCP_BINADM_DIR/pmfind_check
هنگام استفاده از systemd(1) در لینوکس، نیازی به مدخل‌های crontab نیست، چرا که سازوکارهای تایمر و مسیر ارائه‌شده توسط systemd به‌جای آن استفاده می‌شوند.

$PCP_PMIECONTROL_PATH.d
فایل‌های کنترل موتور استنتاج PCP برای هر منبع سنجه کشف‌شده، معمولاً یکی برای هر میزبان یا کانتینر.
هشدار: فایل‌های موجود در این مسیر نباید توسط کاربری غیر از ریشه (root) قابل نوشتن باشند.
$PCP_PMLOGGERCONTROL_PATH.d
فایل‌های کنترل ثبت‌کننده لاگ PCP برای هر منبع سنجه کشف‌شده، معمولاً یکی برای هر میزبان یا کانتینر.
هشدار: فایل‌های موجود در این مسیر نباید توسط کاربری غیر از ریشه (root) قابل نوشتن باشند.
$PCP_SYSCONFIG_DIR/pmfind
آرگومان‌های پیش‌فرض خط فرمان برای pmie و pmlogger و سایر پارامترهای ارسال‌شده به pmfind.
$PCP_SYSCONF_DIR/pmfind/crontab
نمونه crontab برای اجرای خودکار اسکریپت توسط ریشه (root) - فقط در صورتی وجود دارد که پلتفرم از سازوکار /etc/cron.d پشتیبانی نکند.

متغیرهای محیطی با پیشوند PCP_ برای پارامتریک‌سازی نام فایل‌ها و دایرکتوری‌های مورد استفاده PCP به‌کار می‌روند. در هر نصب، فایل /etc/pcp.conf شامل مقادیر محلی این متغیرها است. از متغیر $PCP_CONF می‌توان برای مشخص کردن یک فایل پیکربندی جایگزین استفاده کرد، همان‌طور که در pcp.conf(5) شرح داده شده است.

PCPIntro(1), pmcd(1), pmfind(1), pmie(1), pmie_check(1), pminfo(1), pmlogger(1), pmlogger_check(1), pmseries(1), systemd(1), crontab(5) و cron(8).

PCP Performance Co-Pilot