PMLOGGER_CHECK(1) General Commands Manual PMLOGGER_CHECK(1)

pmlogger_check - مدیریت و سرپرستی پرونده‌های بایگانی Performance Co-Pilot

$PCP_BINADM_DIR/pmlogger_check [-CNnPpqsTV?] [-c control] [-l logfile]

ابزار pmlogger_check و ابزار مرتبط pmlogger_daily(1) به همراه فایل‌های کنترل مربوطه (ببینید pmlogger.control(5)) می‌توانند برای ایجاد یک سازوکار سفارشی از اداره و مدیریت بایگانی‌های تاریخی داده‌های کارایی در زیرساخت Performance Co-Pilot (ببینید PCPIntro(1)) مورد استفاده قرار گیرند.

دستور pmlogger_check می‌تواند در هر زمانی از روز اجرا شود و هدف آن بررسی این است که آیا مجموعه مشخصی از فرآیندهای pmlogger(1) در حال اجرا هستند یا خیر. در صورت اجرا نبودن، فرآیندهای ثبت وقایع گمشده را (مجدداً) راه‌اندازی می‌کند. به طور پیش‌فرض، pmlogger_check همچنین pmlogger_daily(1) را با گزینه -K فراخوانی می‌کند تا وظایف فشرده‌سازی بایگانی مورد نیاز را اجرا نماید.

این گزینه باعث می‌شود pmlogger_check اطلاعات سطح اجرای (runlevel) سرویس سیستم را برای pmlogger پرس‌وجو کند و از آن برای تعیین اینکه فرآیندها باید شروع شوند یا خیر، استفاده نماید.
هر دو ابزار pmlogger_check و pmlogger_daily(1) توسط فایل(های) کنترل لاگر PCP کنترل می‌شوند که نمونه‌های pmlogger تحت مدیریت را مشخص می‌کند. فایل کنترل پیش‌فرض $PCP_PMLOGGERCONTROL_PATH است، اما می‌توان با استفاده از گزینه -c فایل دیگری را تعیین کرد. اگر دایرکتوری $PCP_PMLOGGERCONTROL_PATH.d (یا control.d از گزینه -c) وجود داشته باشد، محتویات هر فایل کنترل اضافی موجود در آن به انتهای فایل کنترل اصلی (که باید موجود باشد) اضافه خواهد شد.
برای اطمینان از اینکه هنگام اجرای این اسکریپت‌ها از طریق cron(8) یا systemd(1) ایمیلی به طور ناخواسته ارسال نشود، پیام‌های تشخیصی همیشه به فایل‌های لاگ فرستاده می‌شوند. به طور پیش‌فرض، این فایل $PCP_LOG_DIR/pmlogger/pmlogger_check.log است، اما می‌توان آن را با استفاده از گزینه -l تغییر داد. اگر این فایل لاگ هنگام شروع اسکریپت از قبل وجود داشته باشد، پیش از تولید اطلاعات تشخیصی در فایل لاگ، با پسوند .prev تغییر نام خواهد یافت (و هر فایل لاگی که قبلاً ذخیره شده باشد بازنویسی می‌شود). گزینه‌های -l و -t نمی‌توانند هم‌زمان استفاده شوند.
این گزینه حالت «نمایش اقدامات» (show me) را فعال می‌کند، که در آن اقدامات به سبک «make -n» چاپ می‌شوند اما اجرا نمی‌گردند. استفاده از -N همراه با -V قابلیت‌های تشخیصی را برای اشکال‌زدایی به حداکثر می‌رساند.
وضعیت خروج را به جز در موارد خطاهای فاجعه‌بار اجباراً 0 قرار می‌دهد. این گزینه هنگام فراخوانی از یک واحد سرویس یا تایمر systemd(1) مفید است تا واحد مربوطه طوری به عنوان ناموفق علامت‌گذاری نشود که از اجرای بعدی توسط systemd(1) جلوگیری کند.
اگر این گزینه برای pmlogger_check مشخص شود، تنها مدخل لاگر اولیه (primary) در فایل‌های کنترل پردازش خواهد شد. این گزینه نقطه مقابل منطقی گزینه -p است و برای استفاده در اسکریپت‌های RC که فقط لاگر اولیه را راه‌اندازی می‌کنند، مانند واحد pmlogger.service در نظر گرفته شده است. گزینه‌های -p و -P مانعة‌الجمع هستند.
اگر این گزینه برای pmlogger_check مشخص شود، هر خط از فایل‌های کنترل برای pmlogger اصلی (primary) نادیده گرفته خواهد شد. این گزینه برای محیط‌هایی در نظر گرفته شده است که در آن‌ها یک دیمن سیستمی مانند systemd(1) مسئولیت کنترل (شروع، توقف، راه‌اندازی مجدد و غیره) pmlogger اصلی را بر عهده دارد.
اگر این گزینه برای pmlogger_check مشخص شود، اسکریپت به صورت «شروع سریع» عمل کرده و از هرگونه پردازش اختیاری مانند فراخوانی pmlogger_daily(1) برای انجام وظایف فشرده‌سازی بایگانی خودداری می‌کند.
استفاده از این گزینه عملکرد معکوس pmlogger_check را فراهم می‌کند و اجازه می‌دهد مجموعه فرآیندهای pmlogger به صورت تمیز متوقف شوند.
این گزینه در pmlogger_check خروجی مختصرتری نسبت به حالت پیش‌فرض تولید می‌کند. این مورد برای «مزرعه» (farm) لاگرهای pmlogger که در آن انتظار می‌رود نمونه‌های متعددی از pmlogger در حال اجرا باشند، بسیار مناسب است.
گزینه -V ردیابی با جزئیات کامل (verbose) را فعال می‌کند. به طور پیش‌فرض، pmlogger_check هیچ خروجی تولید نمی‌کند مگر اینکه با وضعیت خطا یا هشداری مواجه شود. درج یک -V دوم، میزان جزئیات خروجی را افزایش می‌دهد. استفاده از -N همراه با -V قابلیت‌های تشخیصی را برای اشکال‌زدایی به حداکثر می‌رساند.
-?, --help
نمایش پیام راهنمای نحوه استفاده و خروج.

برای اطلاع از شرح فایل(های) کنترلی که برای تعیین نمونه‌های pmlogger و بایگانی‌های تحت مدیریت توسط pmlogger_check و pmlogger_daily(1) استفاده می‌شوند، به pmlogger.control(5) مراجعه کنید.

ابزار pmlogctl(1) ممکن است pmlogger_check را با استفاده از دستور sudo(1) فراخوانی کند تا آن را تحت حساب کاربری $PCP_USER یعنی «pcp» اجرا نماید. اگر sudo با گزینه غیرپیش‌فرض requiretty پیکربندی شده باشد (پایین را ببینید)، ممکن است pmlogger_check به دلیل نداشتن tty پیکربندی‌شده اجرا نشود. این مشکل را می‌توان با افزودن یک خط دوم (با بسط دادن $PCP_BINADM_DIR متناسب با پلتفرم خود) به فایل پیکربندی /etc/sudoers به صورت زیر حل کرد:

Defaults requiretty
Defaults!$PCP_BINADM_DIR/pmlogger_check !requiretty

توجه داشته باشید که حساب کاربری غیرمجاز (فاقد دسترسی ریشه) PCP که این دستورات تحت آن اجرا می‌شوند، از /sbin/nologin به عنوان شل استفاده می‌کند؛ بنابراین گزینه requiretty در اینجا بی‌اثر است و غیرفعال کردن آن به این شیوه ایمن می‌باشد.

$PCP_VAR_DIR/config/pmlogger/config.default
محل پیش‌فرض فایل پیکربندی pmlogger برای لاگر اصلی محلی، که معمولاً به طور خودکار توسط pmlogconf(1) تولید می‌شود.
$PCP_ARCHIVE_DIR/<hostname>
محل پیش‌فرض بایگانی‌های اطلاعات کارایی جمع‌آوری‌شده از میزبان hostname
$PCP_ARCHIVE_DIR/<hostname>/lock
فایل قفل موقت برای تضمین انحصار متقابل در طول مدیریت pmlogger برای میزبان hostname - در صورت وجود، چنانچه هیچ‌یک از ابزارهای pmlogger_daily(1) یا pmlogger_check در حال اجرا نباشند، می‌توان آن را با خیال راحت حذف کرد.
$PCP_ARCHIVE_DIR/<hostname>/Latest
برگه‌دان (folio) بایگانی PCP ایجاد شده توسط mkaf(1) برای جدیدترین بایگانی راه‌اندازی‌شده حاوی معیارهای کارایی از میزبان hostname
$PCP_LOG_DIR/NOTICES
فایل «اعلان‌ها» (notices) PCP مورد استفاده توسط pmie(1) و ابزارهای مرتبط.
$PCP_LOG_DIR/pmlogger/pmlogger_check.log
اگر اجرای قبلی pmlogger_check خروجی‌ای تولید کرده باشد، در اینجا ذخیره می‌شود. حالت عادی عدم تولید خروجی است که در این صورت این فایل وجود نخواهد داشت.
$PCP_ARCHIVE_DIR/SaveLogs
اگر این دایرکتوری وجود داشته باشد، فایل لاگ ناشی از آرگومان -l برای pmlogger_check در این دایرکتوری با قالبی با نام <date>-pmlogger_check.log.<pid> ذخیره خواهد شد. این امر امکان بازبینی فایل لاگ را در زمانی دیگر فراهم می‌کند، حتی اگر در این فاصله چندین بار pmlogger_check اجرا شده باشد. از آنجا که ابزارهای مدیریت بایگانی PCP تحت حساب کاربری $PCP_USER یعنی «pcp» اجرا می‌شوند، $PCP_ARCHIVE_DIR/SaveLogs معمولاً باید متعلق به کاربر «pcp» باشد.
$PCP_ARCHIVE_DIR/<hostname>/SaveLogs
اگر این دایرکتوری وجود داشته باشد، فایل لاگ مربوط به آرگومان -l یک pmlogger(1) تازه‌راه‌اندازی‌شده برای hostname در این دایرکتوری با نام archive.log ذخیره خواهد شد، که در آن archive نام پایه (basename) پرونده‌های بایگانی PCP مرتبط با pmlogger(1) است. این قابلیت امکان بازبینی فایل لاگ را در زمانی دیگر فراهم می‌آورد، حتی اگر در این فاصله چندین نمونه از pmlogger(1) برای hostname راه‌اندازی شده باشد. از آنجا که ابزارهای مدیریت بایگانی PCP تحت حساب کاربری $PCP_USER یعنی «pcp» اجرا می‌شوند، $PCP_ARCHIVE_DIR/<hostname>/SaveLogs معمولاً باید متعلق به کاربر «pcp» باشد.

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

رفتار پیش‌فرض، هنگامی که پیکربندی pmlogger(1) از pmlogconf(1) ناشی می‌شود، این است که هر زمان pmlogger(1) از طریق pmlogger_check شروع شود، فایل پیکربندی مجدداً تولید شده و تغییرات بررسی گردد. اگر پیکربندی PMDA پایدار است، این کار الزامی نیست و تنظیم $PMLOGGER_CHECK_SKIP_LOGCONF روی yes عملیات تولید مجدد و بررسی را غیرفعال می‌کند.

mkaf(1), PCPIntro(1), pmie(1), pmlc(1), pmlogconf(1), pmlogctl(1), pmlogger(1), pmlogger_daily(1), pmlogger_daily_report(1), pmlogger_janitor(1), sudo(1), systemd(1), pmlogger.control(5) و cron(8).

PCP Performance Co-Pilot