PMDANETCHECK(1) General Commands Manual PMDANETCHECK(1)

pmdanetcheck - عامل PMDA بررسی شبکه

pmdanetcheck یک عامل دامنه معیارهای کارایی (PMDA) در Performance Co-Pilot (PCP) است که با استفاده از ماژول‌های ساده پایتون و در برخی موارد، ابزارهای خارجی مانند ping(1) بررسی‌های پایه‌ای شبکه را روی میزبان محلی انجام می‌دهد.

pmdanetcheck بارگذاری و نقش پلی را برای هر تعداد از ماژول‌های پایتون پیکربندی‌شده و مجزای PCP netcheck PMDA که کدهای پایتون یا برنامه‌های خارجی را اجرا می‌کنند، بر عهده می‌گیرد. به‌کارگیری ماژول‌ها و برنامه‌های موجود پایتون همراه با ماژول‌های PCP netcheck PMDA باید با کمترین تلاش ممکن باشد.

توجه داشته باشید که در سیستم‌های با SELinux فعال، برای اینکه pmdanetcheck بتواند از دستور ping(1) استفاده کند، گروه pcp باید بتواند سوکت‌های ICMP Echo ایجاد کند؛ لطفاً مطمئن شوید شناسه گروه برای pcp در بازه مشخص‌شده در /proc/sys/net/ipv4/ping_group_range قرار دارد و برای جزئیات بیشتر در این باره به icmp(7) مراجعه کنید.

pmdanetcheck یک فایل پیکربندی الزامی به سبک ini را می‌خواند:

$PCP_PMDAS_DIR/netcheck/netcheck.conf

این فایل باید شامل یک بخش [pmda] باشد. گزینه‌های PMDA زیر در دسترس هستند (مقادیر پیش‌فرض آن‌ها درون پرانتز نشان داده شده‌اند)، گزینه‌هایی که با ستاره (*) مشخص شده‌اند را می‌توان در بخش‌های پیکربندی ویژه ماژول بازنویسی کرد:

عامل pmdanetcheck پیکربندی اختصاصی ماژول را برای هر ماژول فهرست‌شده در فهرستِ با کاما جداشدهٔ modules می‌خواند (الزامی).
یک فهرستِ با کاما جداشده از hosts (اختیاری) میزبان‌هایی را مشخص می‌کند که بررسی‌ها برای آن‌ها اجرا می‌شود. مقادیر ویژه DGW، DNS و NTP در هنگام راه‌اندازی PMDA به ترتیب به دروازه پیش‌فرض (default gateway)، کارگزارهای نام فهرست‌شده در /etc/resolv.conf و کارگزارهای زمانی فهرست‌شده در /etc/chrony.conf ترجمه خواهند شد.
یک مقدار بولی برای background_check (اختیاری) تعیین می‌کند که آیا بررسی‌ها به طور مداوم در پس‌زمینه اجرا شوند یا تنها در صورت تقاضا. برای توضیحات بیشتر در این مورد به فایل پیکربندی پیش‌فرض مراجعه کنید.
گزینه check_hosts_parallel (اختیاری) تعیین می‌کند که آیا ماژول‌ها باید میزبان‌ها را یکی‌یکی بررسی کنند یا به صورت موازی.
گزینه check_interval (اختیاری) بازه زمانی بین دو بررسی متوالی میزبان‌ها را در هنگامی که بررسی‌ها در پس‌زمینه انجام می‌شوند مشخص می‌کند. برای توضیح کامل ساختار نحوی بازه زمانی به PCPIntro(1) مراجعه کنید.
گزینه align_interval (اختیاری) مشخص می‌کند که آیا هنگام مکث بین بررسی‌ها، مدت‌زمان بررسی قبلی در نظر گرفته شود یا خیر.
یک مقدار بولی برای module_failure_fatal (اختیاری) مشخص می‌کند که آیا عدم موفقیت در راه‌اندازی اولیه یک ماژول باید موجب توقف کل PMDA شود (این حالت پیش‌فرض است) یا اینکه PMDA با ماژول‌های فعال باقیمانده شروع به کار کند. خطاهای پیکربندی ماژول و خطاهای داخلی (مانند عدم موفقیت در ثبت معیارهای PMNS ارائه‌شده، نگاه کنید به pmns(5)) همواره مانع شروع به کار PMDA خواهند شد.

به ازای هر module فهرست‌شده در modules باید یک بخش متناظر [module] تعریف شود. هر بخش [module] دست‌کم می‌تواند شامل گزینه‌های زیر باشد (مقادیر پیش‌فرض آن‌ها درون پرانتز نشان داده شده‌اند):

اعمال یک مهلت زمانی (timeout) قطعی (اختیاری) برای هر عملیات بررسی شبکه منفرد.
فعال‌سازی ثبت پیام‌های اشکال‌زدایی (debug) داخلی (به‌ندرت استفاده می‌شود).

گزینه‌های ویژه ماژول که ماژول‌ها می‌پذیرند در فایل پیکربندی پیش‌فرض شرح داده شده‌اند.

ماژول‌ها انتظار دارند عملکردهای پایه‌ای شبکه در سیستم موجود باشد، به عنوان نمونه در دسترس بودن نشانی localhost.

برای نصب، موارد زیر باید با دسترسی ریشه (root) انجام شوند:

# cd $PCP_PMDAS_DIR/netcheck
# ./Install

برای حذف نصب، موارد زیر باید با دسترسی ریشه (root) انجام شوند:

# cd $PCP_PMDAS_DIR/netcheck
# ./Remove

pmdanetcheck توسط pmcd(1) راه‌اندازی می‌شود و هرگز نباید مستقیماً اجرا شود. اسکریپت‌های Install و Remove هنگام نصب یا حذف عامل، به pmcd(1) اطلاع می‌دهند.

در صورتی که module_failure_fatal روی False تنظیم شده باشد، اگر برخی از ماژول‌های پیکربندی‌شده (نه همگی) در بارگذاری شکست بخورند، نصب PMDA موفقیت‌آمیز در نظر گرفته خواهد شد؛ در چنین مواردی معیارهای ارائه‌شده توسط ماژول‌های شکست‌خورده در دسترس نخواهند بود. فایل گزارش (log) عامل pmdanetcheck (پایین را ببینید) حاوی اطلاعات دقیقی درباره فعال‌سازی هر ماژول خواهد بود.

ماژول‌ها تنها پس از جمع‌آوری داده‌ها مقادیر واقعی را ارائه خواهند کرد. به عنوان مثال، برای ماژول ping مقدار معیار برابر مقدار خروج دستور ping(1) است و برای ping_latency میانگین تأخیر بسته‌ها بر اساس گزارش ping(1) است. برای معیارهایی که بیانگر وضعیت هستند، 0 نشانه موفقیت است. در صورتی که یک بررسی هنوز به پایان نرسیده باشد، مقدار معیار آن -1 است. اگر یک بررسی در حین اجرا به دلیل اتمام مهلت زمانی (timeout) متوقف شود، این مقدار -2 خواهد بود.

$PCP_PMDAS_DIR/netcheck/netcheck.conf
فایل پیکربندی برای عامل pmdanetcheck
$PCP_PMDAS_DIR/netcheck/netcheck/*.{py,python}
ماژول‌های پایتون PCP netcheck PMDA برای عامل pmdanetcheck
$PCP_PMDAS_DIR/netcheck/Install
اسکریپت نصب برای عامل pmdanetcheck
$PCP_PMDAS_DIR/netcheck/Remove
اسکریپت حذف نصب برای عامل pmdanetcheck
$PCP_LOG_DIR/pmcd/netcheck.log
فایل گزارش پیش‌فرض برای پیام‌های عامل pmdanetcheck

توجه داشته باشید که مقدار معمول/پیش‌فرض برای $PCP_PMDAS_DIR برابر /var/lib/pcp/pmdas و پیش‌فرض برای $PCP_LOG_DIR برابر /var/log/pcp است، اما این تنظیمات وابسته به پلتفرم هستند.

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

PCPIntro(1), ping(1), pmcd(1), getaddrinfo(3), resolver(3), gai.conf(5), resolv.conf(5), resolver(5), icmp(7) و ip(8).

PCP Performance Co-Pilot