PCP2OPENMETRICS(1) General Commands Manual PCP2OPENMETRICS(1)

pcp2openmetrics - صادرکننده معیارهای کارایی PCP به OpenMetrics

pcp2openmetrics [-5CEGHIjLmnrRvVxXz?] [-4 action] [-8|-9 limit] [-a archive] [-A align] [--archive-folio folio] [-b|-B space-scale] [-c config] [--container container] [-D debug] [--daemonize] [-e derived] [-f format] [-F outfile] [-h host] [-i instances] [-J rank] [-K spec] [-N predicate] [-o timeout] [-O origin] [-p password] [-P|-0 precision] [-q|-Q count-scale] [-s samples] [-S starttime] [-t interval] [-T endtime] [-u url] [-U username] [-y|-Y time-scale] [-Z timezone] metricspec [...]

pcp2openmetrics یک ابزار سفارشی‌پذیر برای صدور معیارهای کارایی از PCP به قالب Open Metrics - https://openmetrics.io - است. هر معیار کارایی موجود، چه به‌صورت زنده یا بایگانی‌شده، سیستمی و/یا برنامه‌ای را می‌توان با استفاده از آرگومان‌های خط فرمان یا یک فایل پیکربندی برای صدور انتخاب کرد.

pcp2openmetrics ارتباط بسیار نزدیکی با pmrep(1) دارد. برای مشاهده شرح metricspec پذیرفته‌شده در خط فرمان pcp2openmetrics، به pmrep(1) مراجعه کنید. برای شرح نحو ساختار فایل پیکربندی pcp2openmetrics.conf به pmrep.conf(5) مراجعه کنید. این صفحه گزینه‌های اختصاصی pcp2openmetrics و تفاوت‌های فایل پیکربندی آن با pmrep.conf(5) را توضیح می‌دهد. همچنین pmrep(1) چندین مثال کاربردی را فهرست کرده است که اغلب آن‌ها برای pcp2openmetrics نیز قابل استفاده هستند.

تنها گزینه‌های خط فرمان فهرست‌شده در این صفحه پشتیبانی می‌شوند؛ سایر گزینه‌های موجود برای pmrep(1) پشتیبانی نمی‌شوند.

گزینه‌های اعمال‌شده از طریق مقادیر محیطی (ببینید pmGetOptions(3)) بر مقادیر پیش‌فرض توکار متناظر (در صورت وجود) تقدم دارند. گزینه‌های فایل پیکربندی بر متغیرهای محیطی متناظر (در صورت وجود) تقدم دارند. گزینه‌های خط فرمان بر گزینه‌های متناظر در فایل پیکربندی (در صورت وجود) تقدم دارند..SH "فایل پیکربندی (CONFIGURATION FILE)" pcp2openmetrics از یک فایل پیکربندی با ساختار نحوی شرح داده شده در pmrep.conf(5) استفاده می‌کند. گزینه‌های زیر با pmrep.conf مشترک هستند: version, source, speclocal, derived, header, globals, samples, interval, type, type_prefer, ignore_incompat, names_change, instances, live_filter, rank, limit_filter, limit_filter_force, invert_filter, predicate, omit_flat, include_labels, precision, precision_force, count_scale, count_scale_force, space_scale, space_scale_force, time_scale, time_scale_force. بقیه گزینه‌های pmrep.conf شناسایی می‌شوند اما برای سازگاری نادیده گرفته می‌شوند.

everything (boolean)

نوشتن تمام اطلاعات شناخته‌شده درباره متریک‌ها، شامل شناسه‌های داخلی PCP. با این حال، برچسب‌ها برای حفظ سازگاری با نسخه‌های پیشین حذف می‌شوند. برای گنجاندن آن‌ها نیز include_labels را فعال کنید. گزینه متناظر در خط فرمان -X است. پیش‌فرض no است.

exact_types (boolean)

نوشتن اعداد در قالب انواع داده عددی و نه به صورت رشته، که ممکن است موجب از دست رفتن مقداری از دقت شود. گزینه متناظر در خط فرمان -E است. پیش‌فرض no است.

url (string)

ارسال خروجی OPENMETRICS در قالب درخواست HTTP POST به url داده‌شده. گزینه متناظر در خط فرمان -u است. پیش‌فرض None است.

http_pass (string)

استفاده از گذرواژه داده‌شده برای احراز هویت اولیه (Basic Authentication) هنگام ارسال یک HTTP POST. گزینه متناظر در خط فرمان -p است. پیش‌فرض None است.

http_user (string)

استفاده از نام کاربری داده‌شده برای احراز هویت اولیه (Basic Authentication) هنگام ارسال یک HTTP POST. گزینه متناظر در خط فرمان -U است. پیش‌فرض None است.

http_timeout (number)

حداکثر زمان (به ثانیه) هنگام ارسال یک HTTP POST. گزینه متناظر در خط فرمان -o است. پیش‌فرض 2.5 ثانیه است.

no-comment (boolean)

حذف خط توضیح # PCP5. سرآیند برخی از داده‌های متریک مانند type ،instance domain و semantics را حذف می‌کند. گزینه متناظر در خط فرمان -x است. پیش‌فرض no است. گزینه‌های خط فرمان موجود عبارتند از:
-0 precision, --precision-force=precision
مانند -P است، اما این گزینه مشخصات اختصاصی هر سنجه را بازنویسی خواهد کرد.
-4 action, --names-change=action
مشخص می‌کند که هنگام دریافت رویداد تغییر نام سنجه‌ها در حین نمونه‌برداری، چه action (اقدامی) انجام شود. این رویدادها زمانی رخ می‌دهند که یک PMDA مدتی پس از راه‌اندازی، سنجه‌های جدیدی را شناسایی کرده و به ابزارهای کلاینت در حال اجرا مانند pcp2openmetrics اطلاع می‌دهد. مقادیر معتبر برای action عبارتند از update (تازه‌سازی سنجه‌های در حال نمونه‌برداری)، ignore (کاری انجام نده - رفتار پیش‌فرض) و abort (خروج از برنامه در صورت وقوع چنین رویدادی).
-5, --ignore-unknown
نادیده گرفتن بی‌صدای هر نام سنجه‌ای که قابل حل نباشد. برای شروع به کار ابزار، باید حداقل یک سنجه پیدا شود.
-8 limit, --limit-filter=limit
محدود کردن نتایج به نمونه‌هایی با مقادیر بالاتر/پایین‌تر از limit. یک عدد صحیح مثبت، نمونه‌هایی با مقادیر در حد یا بالاتر از حد تعیین‌شده را در گزارش لحاظ می‌کند. یک عدد صحیح منفی، نمونه‌هایی با مقادیر در حد یا پایین‌تر از حد تعیین‌شده را در گزارش لحاظ می‌کند. مقدار صفر هیچ فیلتر محدودیتی اعمال نمی‌کند. این گزینه مشخصات احتمالی اختصاصی هر سنجه را بازنویسی نخواهد کرد. همچنین ببینید -J و -N.
-9 limit, --limit-filter-force=limit
مانند -8 است، اما این گزینه مشخصات اختصاصی هر سنجه را بازنویسی خواهد کرد.
مقادیر سنجه‌های کارایی از مجموعه‌ای از فایل‌های آرشیو Performance Co-Pilot (PCP) که توسط آرگومان archive مشخص شده‌اند بازیابی می‌شوند؛ این آرگومان فهرستی از نام‌ها است که با ویرگول از هم جدا شده‌اند، و هر یک می‌تواند نام پایه یک آرشیو یا نام یک دایرکتوری حاوی یک یا چند آرشیو باشد.
اجبار نمونه‌ی اولیه به هم‌ترازی بر روی مرز یک واحد زمانی طبیعی align. برای توضیحات کامل درباره نحو align به PCPIntro(1) مراجعه کنید.
خواندن آرشیوهای منبع سنجه از PCP archive folio ایجادشده توسط ابزارهایی مانند pmchart(1) یا، در موارد کمتر، به صورت دستی با mkaf(1).
واحد/مقیاس برای سنجه‌های فضا (بایت)، مقادیر ممکن شامل bytes، Kbytes، KB، Mbytes، MB و غیره است. این گزینه مشخصات احتمالی اختصاصی هر سنجه را بازنویسی نخواهد کرد. همچنین ببینید pmParseUnitsStr(3).
مانند -b است، اما این گزینه مشخصات اختصاصی هر سنجه را بازنویسی خواهد کرد.
مشخص کردن فایل یا دایرکتوری config برای استفاده. در صورتی که config یک دایرکتوری باشد، تمام فایل‌های موجود در آن که به .conf ختم می‌شوند لحاظ خواهند شد. پیش‌فرض اولین مورد یافت‌شده از موارد زیر است: ./pcp2openmetrics.conf، $HOME/.pcp2openmetrics.conf، $HOME/pcp/pcp2openmetrics.conf و $PCP_SYSCONF_DIR/pcp2openmetrics.conf. برای جزئیات، بخش بالا و pmrep.conf(5) را ببینید.
دریافت سنجه‌های کارایی از container مشخص‌شده، چه محلی باشد چه از راه دور (ببینید -h).
خروج پیش از گزارش هرگونه مقدار، اما پس از تجزیه پیکربندی و سنجه‌ها و چاپ سرآیندهای احتمالی.
اجرا به صورت دیمن (daemonize) هنگام راه‌اندازی.
مشخص کردن سنجه‌های کارایی derived(مشتق‌شده). اگر derived با یک اسلش (``/'') یا یک نقطه (``.'') شروع شود، به عنوان یک فایل پیکربندی سنجه‌های مشتق‌شده PCP تفسیر خواهد شد؛ در غیر این صورت به عنوان عبارات سنجه‌های مشتق‌شده که با ویرگول یا نقطه‌ویرگول از هم جدا شده‌اند تفسیر می‌شود. برای توضیحات کامل سنجه‌های مشتق‌شده و فایل‌های پیکربندی سنجه‌های مشتق‌شده PCP، ببینید pmLoadDerivedConfig(3) و pmRegisterDerived(3). همچنین، استفاده از ساختار پیکربندی pmrep.conf(5) امکان تعریف سنجه‌های مشتق‌شده را به عنوان بخشی از مجموعه‌سنجه‌ها (metricsets) فراهم می‌کند.

در صورت بروز مشکل در سنجه‌های مشتق‌شده، صفحات راهنمای ذکرشده را با جزئیات بررسی کرده و اطمینان حاصل کنید که تمام سنجه‌های لازم در دسترس هستند، به‌ویژه هنگام استفاده از آرشیوها. از -Dderive برای مشاهده اطلاعات اشکال‌زدایی بیشتر درباره تجزیه سنجه‌های مشتق‌شده استفاده کنید.

نوشتن اعداد در قالب انواع داده عددی و نه به عنوان رشته، که ممکن است باعث از دست رفتن مقداری از دقت شود.
استفاده از رشته format برای قالب‌بندی برچسب زمان. این قالب با متد datetime.strftime پایتون استفاده خواهد شد که تا حد زیادی مشابه موارد شرح‌داده‌شده در strftime(3) است. پیش‌فرض %Y-%m-%d %H:%M:%S است.
مشخص کردن فایل خروجی outfile.
سنجه‌های سراسری در گزارش‌دهی لحاظ نشوند (ببینید pmrep.conf(5)).
دریافت سنجه‌های کارایی از pmcd(1) روی host، به جای localhost پیش‌فرض.
بازیابی و گزارش تنها آن دسته از نمونه‌های سنجه که در instances مشخص شده‌اند. به طور پیش‌فرض تمام نمونه‌ها، چه موجود و چه در آینده، گزارش می‌شوند.

برای توضیحات کامل این گزینه به pmrep(1) مراجعه کنید. -I, --ignore-incompat نادیده گرفتن سنجه‌های ناسازگار. به‌طور پیش‌فرض، سنجه‌های ناسازگار (یعنی نوع آن‌ها پشتیبانی نمی‌شود یا طبق درخواست مقیاس‌پذیر نیستند) موجب می‌شوند که pcp2openmetrics با یک پیام خطا متوقف شود. با این گزینه، تمام سنجه‌های ناسازگار بدون هیچ پیامی از گزارش‌دهی حذف می‌شوند. این موضوع به‌ویژه هنگام درخواست گره‌های غیربرگ درخت PMNS برای گزارش‌دهی می‌تواند مفید باشد.

انجام فیلتر زندهٔ نمونه‌ها (instances). این امکان را فراهم می‌کند تا همهٔ نمونه‌های نام‌گذاری‌شده ثبت شوند، حتی اگر فرایندها در نقطه‌ای مجدداً راه‌اندازی شوند (برخلاف حالت بدون فیلتر زنده). انجام فیلتر زنده روی تعداد بسیار زیادی از نمونه‌ها سربار داخلی ایجاد می‌کند، بنابراین احتیاط کاربر توصیه می‌شود. همچنین ببینید: -n.
محدود کردن نتایج به بالاترین/پایین‌ترین نمونه‌های رتبه‌بندی‌شده بر اساس rank از سنجه‌های چندمقداری (set-valued). یک عدد صحیح مثبت، نمونه‌هایی با بالاترین مقدار را در گزارش‌دهی می‌گنجاند. یک عدد صحیح منفی، نمونه‌هایی با کمترین مقدار را در گزارش‌دهی می‌گنجاند. مقدار صفر هیچ رتبه‌بندی‌ای انجام نمی‌دهد. رتبه‌بندی به معنای مرتب‌سازی نیست، ببینید: -6. همچنین ببینید: -8.
هنگام واکشی سنجه‌ها از یک بافت محلی (ببینید: -L)، گزینهٔ -K می‌تواند برای کنترل PMDAهای DSO که باید در دسترس قرار گیرند استفاده شود. آرگومان spec از نحو شرح‌داده‌شده در pmSpecLocalPMDA(3) پیروی می‌کند. می‌توان بیش از یک گزینهٔ -K را استفاده کرد.
حالت برچسب زمانی زنده. در صورت پیکربندی، مقادیر سنجه‌ها با برچسب زمانی متناظرشان همراه می‌شوند.
استفاده از یک بافت محلی برای جمع‌آوری سنجه‌ها از PMDAهای DSO روی میزبان محلی بدون PMCD. همچنین ببینید: -K.
انجام رتبه‌بندی پیش از فیلتر زنده. به‌طور پیش‌فرض، فیلتر زندهٔ نمونه‌ها (در صورت درخواست، ببینید: -j) پیش از رتبه‌بندی نمونه‌ها (در صورت درخواست، ببینید: -J) رخ می‌دهد. با این گزینه، منطق معکوس شده و رتبه‌بندی پیش از فیلتر زنده انجام می‌گیرد.
گنجاندن برچسب‌های سنجه‌های PCP در خروجی.
مشخص کردن فهرستی از سنجه‌های مرجع فیلتر predicate که با کاما از هم جدا شده‌اند. به‌طور پیش‌فرض رتبه‌بندی (ببینید: -J) برای هر سنجه به‌طور جداگانه انجام می‌شود. با گزاره‌ها (predicates)، رتبه‌بندی تنها برای سنجه‌های گزارهٔ مشخص‌شده انجام می‌گیرد. هنگام گزارش‌دهی، بقیهٔ سنجه‌هایی که دارای همان instance domain (دامنه نمونه، ببینید: PCPIntro(1)) مشترک با گزاره هستند، تنها شامل بالاترین/پایین‌ترین نمونه‌های رتبه‌بندی‌شده از گزارهٔ متناظر خواهند بود. رتبه‌بندی به معنای مرتب‌سازی نیست، ببینید: -6.

بنابراین به‌عنوان مثال، با استفاده از proc.memory.rss (اندازه حافظه مقیم فرایند) به‌عنوان سنجهٔ predicate همراه با proc.io.total_bytes و mem.util.used به‌عنوان سنجه‌هایی که باید گزارش شوند، تنها فرایندهایی که بیشترین/کمترین (طبق -J) حافظه را مصرف می‌کنند، هنگام گزارش کل بایت‌های نوشته‌شده توسط فرایندها گنجانده خواهند شد. از آنجا که mem.util.used یک سنجهٔ تک‌مقداری است (و در نتیجه دامنه نمونه مشترکی با سنجه‌های مربوط به فرایند ندارد)، به صورت معمول گزارش خواهد شد.

زمان انتظار (به ثانیه) هنگام ارسال یک HTTP POST با گزینهٔ -u. مقدار پیش‌فرض 2.5 ثانیه است.
هنگام گزارش سنجه‌های بایگانی‌شده، شروع گزارش‌دهی از origin درون بازه زمانی مشخص‌شده (ببینید: -S و -T). برای شرح کامل نحوه نگارش origin، به PCPIntro(1) مراجعه کنید.
گذرواژه هنگام استفاده از احراز هویت اولیه HTTP (basic authentication) با گزینهٔ -u.
استفاده از precision برای مقادیر عددی غیرصحیح در خروجی. پیش‌فرض استفاده از ۳ رقم اعشار است (در صورت امکان). این گزینه مشخصات احتمالی اختصاصی برای هر سنجه را بازنویسی نخواهد کرد.
واحد/مقیاس برای سنجه‌های شمارشی؛ مقادیر مجاز شامل count x 10^-1، count، count x 10، count x 10^2 و به همین ترتیب از 10^-8 تا 10^7 است. (این مقادیر در حال حاضر به فاصله حساس هستند.) این گزینه مشخصات احتمالی اختصاصی برای هر سنجه را بازنویسی نخواهد کرد. همچنین ببینید: pmParseUnitsStr(3).
مشابه -q اما این گزینه مشخصات اختصاصی برای هر سنجه را بازنویسی خواهد کرد.
ارائه مقادیر خام سنجه در خروجی؛ شمارنده‌های تجمعی به نرخ (rate) تبدیل نمی‌شوند. این گزینه مشخصات احتمالی اختصاصی برای هر سنجه را بازنویسی خواهد کرد.
مشابه -r اما این گزینه مشخصات اختصاصی برای هر سنجه را بازنویسی نخواهد کرد.
آرگومان samples تعداد نمونه‌هایی را که باید دریافت و گزارش شوند تعریف می‌کند. اگر samples برابر ۰ باشد یا -s مشخص نشده باشد، pcp2openmetrics به صورت پیوسته (در حالت بلادرنگ) یا تا انتهای مجموعه بایگانی‌های PCP (در حالت بایگانی) نمونه‌برداری و گزارش خواهد کرد. همچنین ببینید: -T.
هنگام گزارش سنجه‌های بایگانی‌شده، گزارش محدود به رکوردهایی خواهد بود که در زمان starttime یا پس از آن ثبت شده‌اند. برای شرح کامل نحوه نگارش starttime، به PCPIntro(1) مراجعه کنید..TP -t interval, --interval=interval تنظیم interval (بازه زمانی) گزارش‌گیری به مقداری غیر از ۱ ثانیه پیش‌فرض. آرگومان interval از نحو توصیف‌شده در PCPIntro(1) پیروی می‌کند و در ساده‌ترین شکل می‌تواند یک عدد صحیح بدون علامت باشد (واحد ضمنی در این حالت، ثانیه است). همچنین گزینه -T را ببینید.
هنگام گزارش معیارهای آرشیوشده، گزارش به رکوردهایی محدود خواهد شد که پیش از endtime یا در همان زمان ثبت شده‌اند. برای شرح کامل نحو endtime به PCPIntro(1) مراجعه کنید.

هنگامی که برای تعیین مدت‌زمان اجرا پیش از خروج pcp2openmetrics استفاده می‌شود، اگر هیچ samples مشخص نشده باشد (نگاه کنید به -s)، تعداد نمونه‌های گزارش‌شده به interval بستگی خواهد داشت (نگاه کنید به -t). اگر samples مشخص شده باشد، interval به‌گونه‌ای تنظیم خواهد شد که امکان گزارش‌گیری از samples در طول مدت‌زمان اجرا فراهم شود. در صورتی که همه گزینه‌های -T، -s و -t مشخص شده باشند، endtime زمان واقعی اجرای pcp2openmetrics را تعیین می‌کند.

آدرس URL برای ارسال یک HTTP POST (به جای خروجی استاندارد پیش‌فرض).
نام کاربری هنگام استفاده از احراز هویت اولیه HTTP (basic authentication) با گزینه -u.
تنها گزارش معیارهای مجموعه‌مقدار (set-valued) دارای نمونه (مانند disk.dev.read) و صرف‌نظر از معیارهای تک‌مقداری «تخت» (flat) بدون نمونه (مانند kernel.all.sysfork). به -i و -I مراجعه کنید.
نمایش شماره نسخه و خروج.
صرف‌نظر کردن از خط توضیح # PCP5
نوشتن همه اطلاعات شناخته‌شده درباره معیارها، از جمله شناسه‌های داخلی PCP. با این حال برچسب‌ها (labels) برای سازگاری با نسخه‌های پیشین حذف می‌شوند؛ برای گنجاندن آن‌ها نیز از -m استفاده کنید.
واحد/مقیاس برای معیارهای زمانی، مقادیر ممکن شامل nanosec، ns، microsec، us، millisec، ms و به همین ترتیب تا hour، hr هستند. این گزینه تنظیمات احتمالی مختص هر معیار را بازنویسی نمی‌کند. همچنین pmParseUnitsStr(3) را ببینید.
مشابه -y است، اما این گزینه تنظیمات مختص هر معیار را بازنویسی خواهد کرد.
استفاده از منطقه زمانی محلی میزبانی که منبع معیارهای کارایی است، همان‌طور که توسط گزینه‌های -h یا -a مشخص شده است. حالت پیش‌فرض، استفاده از منطقه زمانی میزبان محلی است.
استفاده از timezone برای تاریخ و زمان. timezone در قالب متغیر محیطی TZ است که در environ(7) توصیف شده است. توجه داشته باشید که هنگام درج رشته منطقه زمانی در خروجی، آفست‌های UTC به سبک ISO 8601 استفاده می‌شوند (بنابراین عبارتی مانند -Z EST+5 به صورت UTC-5 خواهد بود).
-?, --help
نمایش پیام راهنمای نحوه استفاده و خروج..SH "فایل‌ها (FILES)"
فایل پیکربندی pcp2openmetrics (به -c مراجعه کنید)
$PCP_SYSCONF_DIR/pmrep/*.conf
فایل‌های پیکربندی پیش‌فرض pmrep ارائه‌شده توسط سیستم

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

برای متغیرهای محیطی تأثیرگذار بر ابزارهای PCP، به pmGetOptions(3) مراجعه کنید.

به‌طور خاص، PCP_DISCRETE_ONCE را می‌توان به گونه‌ای تنظیم کرد که اطمینان حاصل شود مقادیر معیارهای گسسته تنها یک‌بار گزارش شوند، مگر اینکه در مقطعی تغییر کنند.

گزینهٔ -D یا --debug خروجی اطلاعات عیب‌یابی تکمیلی را بر روی stderr فعال می‌کند تا به ریشه‌یابی و اولویت‌بندی مشکلات کمک کند، اگرچه اطلاعات گاهی مبهم بوده و اساساً به جای کاربران نهایی برای راهنمایی توسعه‌دهندگان در نظر گرفته شده است. debug فهرستی جداشده با کاما از گزینه‌های اشکال‌زدایی است؛ از pmdbg(1) همراه با گزینهٔ -l برای دریافت فهرستی از گزینه‌های اشکال‌زدایی در دسترس و معانی آن‌ها استفاده کنید.

PCPIntro(1), mkaf(1), pcp(1), pcp2elasticsearch(1), pcp2graphite(1), pcp2influxdb(1), pcp2spark(1), pcp2xlsx(1), pcp2xml(1), pcp2json(1), pcp2zabbix(1), pmcd(1), pminfo(1), pmrep(1), pmGetOptions(3), pmLoadDerivedConfig(3), pmParseUnitsStr(3), pmRegisterDerived(3), pmSpecLocalPMDA(3), LOGARCHIVE(5), pcp.conf(5), pmrep.conf(5), PMNS(5) و environ(7).

PCP Performance Co-Pilot