| RRDGRAPH(1) | rrdtool | RRDGRAPH(1) |
نام (NAME)
rrdgraph - توابع رسم نمودار در ابزار پایگاه داده راند رابین (RRDtool)
خلاصه دستور (SYNOPSIS)
rrdtool graph|graphv filename [option ...] [data definition ...] [data calculation ...] [variable definition ...] [graph element ...] [print element ...]
توضیحات (DESCRIPTION)
تابع graph در RRDtool برای نمایش دادههای یک RRD به کاربر استفاده میشود. هدف اصلی آن ایجاد یک نمایش گرافیکی مناسب است، اما میتواند گزارشهای عددی نیز تولید کند.
نمای کلی (OVERVIEW)
دستور rrdtool graph برای کار به داده نیاز دارد، بنابراین باید برای جمعآوری این دادهها از یک یا چند عبارت data definition استفاده کنید. شما به یک پایگاه داده محدود نیستید؛ جمعآوری داده از دو یا چند پایگاه داده کاملاً مجاز است (البته برای هر عبارت، یک پایگاه داده).
اگر میخواهید میانگینها، بیشینهها، صدکها و غیره را نمایش دهید، بهتر است اکنون آنها را با استفاده از عبارت variable definition جمعآوری کنید. در حال حاضر این کار تفاوتی ایجاد نمیکند، اما در نسخههای آیندهٔ RRDtool ممکن است بخواهید این مقادیر را پیش از یکپارچهسازی جمعآوری کنید.
دادههای واکشیشده از RRA سپس یکپارچهسازی (consolidated) میشوند تا دقیقاً به ازای هر پیکسل در نمودار، یک نقطهٔ داده وجود داشته باشد. اگر خودتان این موضوع را مدیریت نکنید، RRDtool در صورت نیاز بازه را کمی گسترش میدهد. توجه داشته باشید که در این حالت، ممکن است پیکسل اول و/یا آخر کاملاً نامشخص (unknown) شود!
گاهی اوقات دادهها دقیقاً در قالبی نیستند که مایل به نمایش آنها هستید. برای نمونه، ممکن است در حال جمعآوری بایت بر ثانیه (bytes) باشید، اما بخواهید بیت بر ثانیه (bits) را نمایش دهید. این دقیقاً همان چیزی است که دستور data calculation برای آن طراحی شده است. پس از یکپارچهسازی دادهها، یک نسخهٔ کپی تهیه میشود و این نسخه با استفاده از مجموعه دستورات نسبتاً قدرتمند RPN تغییر مییابد.
هنگامی که واکشی و پردازش دادهها به پایان رسید، نوبت به رسم نمودار (یا چاپ) آن میرسد. این کار به توالی rrdtool graph پایان میدهد.
برای دریافت اطلاعات دقیق دربارهٔ هندسهٔ نمودار و دادهها پس از رسم آن، بهجای graph از graphv استفاده کنید. برای اطلاعات بیشتر به انتهای این سند مراجعه نمایید.
گزینهها (OPTIONS)
filename
نام و مسیر فایل نموداری که باید تولید شود. توصیه میشود که این نام به ".png"، ".svg" یا ".eps" ختم شود، اما RRDtool این موضوع را اجباری نمیکند.
مقدار filename میتواند برابر با '"-"' باشد تا تصویر به "stdout" فرستاده شود. در این حالت، هیچ خروجی دیگری تولید نخواهد شد..SS "بازه زمانی (Time range)" [-s|--start time] [-e|--end time] [-S|--step seconds]
شروع و پایان سری زمانی که میخواهید نمایش دهید، و این که دادهها باید از کدام RRA بیایند. مقادیر پیشفرض عبارتند از: ۱ روز پیش تا اکنون، با بهترین تفکیکپذیری ممکن. Start و end را میتوان در چندین قالب مشخص کرد؛ بخش "AT-STYLE TIME SPECIFICATION" در rrdfetch و rrdgraph_examples را ببینید. بهطور پیشفرض، rrdtool graph عرض یک پیکسل را در دامنه زمانی محاسبه کرده و تلاش میکند دادهها را از یک RRA با همان تفکیکپذیری دریافت کند. با گزینهٔ step میتوانید این رفتار را تغییر دهید. اگر میخواهید rrdtool graph دادهها را با تفکیکپذیری یکساعته از RRD دریافت کند، step را روی 3'600 تنظیم کنید. توجه: مقادیر step کوچکتر از یک پیکسل بدون هشدار نادیده گرفته خواهند شد.
برای --imgformatهای غیرتصویری، جهت اطلاع از جزئیات چگونگی تأثیرگذاری این مورد بر خروجی، بخش "OUTPUT FORMAT" در rrdxport را ببینید.
برچسبها (Labels)
[-t|--title string]
رشتهای افقی که در بالای نمودار قرار میگیرد و میتوان با استفاده از <br/> یا \n آن را به چندین خط تقسیم کرد.
[-v|--vertical-label string]
رشتهای عمودی که در سمت چپ نمودار قرار میگیرد.
[--vertical-label-angle degrees]
چرخش متن --vertical-label، بر حسب درجه، در پادساعتگرد. مقدار پیشفرض در زمان کامپایل با متغیر پیکربندی "RRDGRAPH_YLEGEND_ANGLE" تعیین میشود و برابر با 90 است، که باعث میشود برچسب از پایین به بالا خوانده شود. از 270 برای خواندن از بالا به پایین استفاده کنید.
در کنار نمودار تنها فضای مورد نیاز برای یک برچسب قائم رزرو میشود، بنابراین زاویههایی غیر از 90 و 270 ممکن است با محیط اطراف خود همپوشانی پیدا کنند.
اندازه (Size)
[-w|--width pixels] [-h|--height pixels] [-j|--only-graph] [-D|--full-size-mode]
بهطور پیشفرض، عرض و ارتفاع canvas (بخشی که دادههای واقعی و امثال آن قرار دارند). مقدار پیشفرض آن ۴۰۰ در ۱۰۰ پیکسل است.
اگر گزینهٔ --full-size-mode را مشخص کنید، عرض و ارتفاع ابعاد نهایی تصویر خروجی را مشخص میکنند و اندازهٔ canvas بهطور خودکار برای متناسب شدن تغییر مییابد.
اگر گزینهٔ --only-graph را مشخص کرده و ارتفاع را کمتر از ۳۲ پیکسل قرار دهید، یک تصویر نمودار بندانگشتی کوچک (thumbnail) دریافت خواهید کرد که برای مثال میتوان از آن به عنوان یک آیکون در یک نمای کلی استفاده کرد. تمامی برچسبگذاریها از نمودار حذف خواهند شد.
حدود (Limits)
[-u|--upper-limit value] [-l|--lower-limit value] [-r|--rigid] [--allow-shrink]
بهطور پیشفرض نمودار دارای مقیاسبندی خودکار است، به گونهای که محور y را با محدودهٔ دادهها تطبیق میدهد. میتوانید با تعیین صریح حدود، این رفتار را تغییر دهید. در این حالت، محور y نمایشدادهشده دستکم از lower-limit تا upper-limit خواهد بود. مقیاسبندی خودکار همچنان اجازه میدهد که این مرزها گسترش یابند مگر آنکه گزینهٔ rigid تنظیم شده باشد. گزینهٔ allow-shrink با مجاز کردن کوچکنمایی خودکار، رفتار rigid را تغییر میدهد؛ نمودار از حدود تعیینشده توسط کاربر فراتر نخواهد رفت.
[-A|--alt-autoscale]
گاهی اوقات الگوریتم پیشفرض برای انتخاب مقیاس محور y رضایتبخش نیست. بهطور معمول مقیاس از میان مجموعهای از محدودههای از پیشتعریفشده انتخاب میشود و این روش هنگامی که نیاز به رسم مواردی مانند "260 + 0.001 * sin(x)" دارید کاملاً ناموفق است. این گزینه مقادیر کمینه و بیشینهٔ محور y را از روی مقادیر کمینه و بیشینهٔ واقعی دادهها محاسبه میکند. در مثال ما، نمودار مقداری اندکی کمتر از "260-0.001" تا مقداری اندکی بیشتر از "260+0.001" را نمایش خواهد داد (این ویژگی توسط Sasha Mikheev ارائه شده است).
[-J|--alt-autoscale-min]
در حالی که "--alt-autoscale" هر دو مقدار کمینه و بیشینهٔ مطلق را تغییر میدهد، این گزینه فقط بر روی مقدار کمینه اثر میگذارد. مقدار بیشینه در صورتی که در خط فرمان مشخص نشده باشد، برابر 0 خواهد بود. این گزینه هنگام رسم ترافیک مسیریاب در زمانی که خط WAN از فشردهسازی استفاده میکند و در نتیجه نرخ گذردهی (throughput) ممکن است بالاتر از سرعت خط WAN باشد، میتواند مفید باشد.
[-M|--alt-autoscale-max]
در حالی که "--alt-autoscale" هر دو مقدار کمینه و بیشینهٔ مطلق را تغییر میدهد، این گزینه فقط بر روی مقدار بیشینه اثر میگذارد. مقدار کمینه در صورتی که در خط فرمان مشخص نشده باشد، برابر 0 خواهد بود. این گزینه هنگام رسم ترافیک مسیریاب در زمانی که خط WAN از فشردهسازی استفاده میکند و در نتیجه نرخ گذردهی ممکن است بالاتر از سرعت خط WAN باشد، میتواند مفید باشد.
[-N|--no-gridfit]
بهمنظور جلوگیری از اثرات تاری ناشی از anti-aliasing، ابزار RRDtool نقطهها را به پیکسلهای تفکیکپذیری دستگاه منطبق میکند (snaps)، که این کار منجر به ظاهری واضحتر میشود. اگر این رفتار مورد پسند شما نیست، میتوانید با استفاده از این سوییچ آن را غیرفعال کنید.
تطبیق با خطوط شبکه (Grid-fitting) بهطور پیشفرض برای خروجیهای PDF، EPS و SVG غیرفعال است.
محور X (X-Axis)
[-x|--x-grid GTM:GST:MTM:MST:LTM:LST:LPR:LFM]
[-x|--x-grid none]
پیکربندی برچسب محور x نسبتاً پیچیده است. اگر نیازهای بسیار خاصی ندارید، احتمالاً بهتر است به پیکربندی خودکار برای تنظیم درست آن اعتماد کنید. میتوانید رشتهٔ "none" را برای پنهانسازی کامل خطوط شبکه و برچسبها تعیین کنید.
خطوط شبکه با تعیین میزان مشخصی از زمان در جایگاههای ?TM تعریف میشوند. میتوانید از میان "SECOND"، "MINUTE"، "HOUR"، "DAY"، "WEEK"، "MONTH" یا "YEAR" انتخاب کنید. سپس تعیین میکنید که چه تعداد از این واحدها باید بین هر خط یا برچسب سپری شوند. این جفت (?TM:?ST) باید برای خطوط شبکه پایه (G??)، خطوط شبکه اصلی (M??) و برچسبها (L??) مشخص شود. برای برچسبها همچنین باید یک دقت در LPR و یک رشتهٔ قالب strftime در LFM تعریف کنید. LPR تعیین میکند که هر برچسب در کجا قرار خواهد گرفت. اگر مقدار آن صفر باشد، برچسب دقیقاً زیر خط متناظر قرار میگیرد (مناسب برای ساعتها، تاریخها و غیره). اگر در اینجا مقداری بر حسب ثانیه مشخص کنید، برچسب در مرکز این بازه قرار میگیرد (مناسب برای Monday، January و غیره).
--x-grid MINUTE:10:HOUR:1:HOUR:4:0:%X
این دستور، خطوط شبکه را هر ۱۰ دقیقه، خطوط شبکه اصلی را هر ۱ ساعت، و برچسبها را هر ۴ ساعت قرار میدهد. برچسبها در زیر خطوط شبکه اصلی قرار میگیرند، زیرا دقیقاً همان زمان را مشخص میکنند.
--x-grid HOUR:8:DAY:1:DAY:1:86400:%A
این دستور، خطوط شبکه را هر ۸ ساعت، و خطوط شبکه اصلی و برچسبها را در هر روز قرار میدهد. برچسبها دقیقاً میان دو خط شبکه اصلی قرار میگیرند، زیرا کل روز را مشخص میکنند و نه صرفاً نیمهشب را.
[--week-fmt strftime format string]
بهطور پیشفرض rrdtool از "Week %V" برای نمایش شماره هفته استفاده میکند. با این گزینه میتوانید قالب دلخواه خود را بدون بازنویسی کامل قالب محور x تعریف کنید..SS "محور Y (Y-Axis)" [-y|--y-grid grid step:label factor]
[-y|--y-grid none]
خطوط شبکهٔ محور Y در هر بازهٔ grid step ظاهر میشوند. برچسبها در هر label factor خط قرار میگیرند. میتوانید با مشخص کردن "-y none" هم خطوط شبکه و هم برچسبها را بهطور کامل پنهان کنید. حالت پیشفرض این گزینه، انتخاب خودکار مقادیر منطقی است.
اگر --y-grid را روی 'none' تنظیم کنید، نهتنها برچسبها حذف میشوند، بلکه فضای رزروشده برای برچسبها نیز برداشته میشود. چنانچه میخواهید فضا را بهطور صریح اختصاص دهید، همچنان میتوانید با استفاده از گزینهٔ --units-length فضا را بهصورت دستی اضافه کنید.
[--left-axis-formatter formatter-name]
مشخص میکند که از چه قالببندیکنندهای برای رندر کردن مقادیر محور استفاده شود.
- numeric
- حالت پیشفرض؛ مقادیر بهصورت کمیتهای عددی بیان میشوند.
- timestamp
- مقادیر بهعنوان برچسبهای زمانی یونیکس (تعداد ثانیهها از 1970-01-01 00:00:00 UTC) تفسیر میشوند و با استفاده از قالب strftime بیان میگردند (پیشفرض '%Y-%m-%d %H:%M:%S' است). همچنین --units-length و --left-axis-format را ببینید.
- duration
- مقادیر بهعنوان مدتزمان بر حسب میلیثانیه تفسیر میشوند. قالببندی از قواعد PRINT/GPRINT مشخصشده با valstrfduration پیروی میکند. به rrdgraph_graph مراجعه کنید.
[--left-axis-format format-string]
بهطور پیشفرض، قالب برچسبهای محور بهصورت خودکار تعیین میشود. اگر میخواهید خودتان این کار را انجام دهید، از این گزینه همراه با همان آرگومانهای %lf که از دستورهای PRINT و GPRINT میشناسید، یا در صورت استفاده از قالببندیکنندههای دیگر، قالبهای مناسب آنها استفاده کنید.
[-Y|--alt-y-grid]
شبکهٔ Y را بهصورت پویا بر اساس بازهٔ Y نمودار قرار میدهد. این الگوریتم تضمین میکند که شما همیشه یک شبکه داشته باشید، تعداد خطوط شبکه کافی باشد اما بیش از حد زیاد نشود، و شبکه متریک باشد؛ یعنی خطوط شبکه در هر ۱، ۲، ۵ یا ۱۰ واحد قرار میگیرند. این پارامتر همچنین تضمین میکند که تعداد اعشار کافی نمایش داده شود، حتی اگر نمودار شما از 69.998 تا 70.001 باشد (ارائهشده توسط Sasha Mikheev).
[-o|--logarithmic]
مقیاسبندی لگاریتمی محور Y.
[-X|--units-exponent value]
این گزینه مقیاسبندی 10**exponent مقادیر محور Y را تنظیم میکند. بهطور معمول، مقادیر به واحدهای مناسب (k، M و غیره) مقیاسبندی میشوند. با این حال، برای مثال ممکن است بخواهید واحدها همیشه بر حسب k (کیلو، 10e3) نمایش داده شوند، حتی اگر دادهها در بازهٔ M (مگا، 10e6) باشند. مقدار باید یک عدد صحیح از مضارب ۳ بین -18 و 18 (شامل خودشان) باشد. این همان توان واحدهایی است که مایلید استفاده کنید. برای مثال، از 3 برای نمایش مقادیر محور Y در k (کیلو، 10e3، هزارگان)، و از -6 برای نمایش مقادیر در u (میکرو، 10e-6، یکمیلیونیومها) استفاده کنید. برای جلوگیری از هرگونه مقیاسبندی مقادیر محور Y، مقدار 0 را به کار ببرید.
این گزینه در سردرگم کردن تابع مقیاسبندی خودکار و رسمکنندهٔ شبکهٔ پیشفرض RRDtool بسیار مؤثر است. اگر RRDtool تشخیص دهد که تحت شرایط دادهشده در برچسبگذاری نمودار ناموفق است، به حالت مطمئنتر --alt-y-grid تغییر وضعیت میدهد.
[-L|--units-length value]
RRDtool برچسبهای محور Y را چند رقمی فرض کند؟ در صورتی که شروع به دستکاری در برچسبگذاری محور Y کنید، ممکن است برای ایجاد فضای کافی ناچار به استفاده از این گزینه شوید.
[--units=si]
با این گزینه مقادیر محور Y در نمودارهای لگاریتمی به جای استفاده از نماد نمایی، به واحدهای مناسب (k، M و غیره) مقیاسبندی میشوند. توجه داشته باشید که برای نمودارهای خطی، نمادگذاری SI بهطور پیشفرض استفاده میشود.
محور Y راست (Right Y Axis)
[--right-axis scale:shift] [--right-axis-label label]
محور دومی در سمت راست نمودار رسم خواهد شد. این محور از طریق پارامترهای scale و shift به محور چپ متصل میشود. همچنین میتوانید یک برچسب برای محور راست تعریف کنید.
[--right-axis-label-angle degrees]
چرخش متن --right-axis-label بر حسب درجه، در جهت پادساعتگرد. مقدار پیشفرض آن با مقدار --vertical-label-angle یکی است، بنابراین هر دو برچسب از پایین به بالا خوانده میشوند. از 270 استفاده کنید تا برچسب سمت راست از بالا به پایین خوانده شود و قرینهٔ برچسب سمت چپ باشد.
[--right-axis-range min:max]
تنها زمانی محور راست را برچسبگذاری میکند که مقدار آن بین min و max باشد. هر یک از دو طرف میتواند خالی گذاشته شود تا آن جهت نامحدود بماند؛ بنابراین "0:" برچسبهای زیر صفر را پنهان میکند و ":100" برچسبهای بالای صد را حذف مینماید.
این گزینه زمانی مفید است که محور راست شامل یک کمیت محدود (مثلاً درصد) باشد، در حالی که محور چپ چنین نیست. از آنجا که محور راست موقعیت خطوط شبکهٔ خود را از محور چپ قرض میگیرد، در غیر این صورت هر زمان که دو بازه همراستا نباشند با مقادیری نظیر "130 %" یا "-20 %" برچسبگذاری خواهد شد.
توجه داشته باشید که فقط برچسب پنهان میشود. خطوط شبکه متعلق به محور چپ هستند و در هر صورت رسم میشوند؛ بنابراین یک محور راست محدود، خطوط شبکهٔ بدون برچسبی در بالاتر یا پایینتر از بازهٔ خود خواهد داشت.
بازه قبل از اعمال هرگونه ضریب بزرگی SI، یعنی در برابر عددی که توسط --right-axis مقیاسبندی شده و تغییر مکان داده مقایسه میشود، نه در برابر ارقامی که در نهایت چاپ میشوند.
[--right-axis-formatter formatter-name]
مشخص میکند که از چه قالببندیکنندهای برای رندر کردن مقادیر محور استفاده شود.
- numeric
- حالت پیشفرض؛ مقادیر بهصورت کمیتهای عددی بیان میشوند.
- timestamp
- مقادیر بهعنوان برچسبهای زمانی یونیکس (تعداد ثانیهها از 1970-01-01 00:00:00 UTC) تفسیر میشوند و با استفاده از قالب strftime بیان میگردند (پیشفرض '%Y-%m-%d %H:%M:%S' است). همچنین --units-length و --right-axis-format را ببینید.
- duration
- مقادیر بهعنوان مدتزمان بر حسب میلیثانیه تفسیر میشوند. قالببندی از قواعد PRINT/GPRINT مشخصشده با valstrfduration پیروی میکند. به rrdgraph_graph مراجعه کنید.
[--right-axis-format format-string]
بهطور پیشفرض، قالب برچسبهای محور بهصورت خودکار تعیین میشود. اگر میخواهید خودتان این کار را انجام دهید، از این گزینه همراه با همان آرگومانهای %lf که از دستورهای PRINT و GPRINT میشناسید، یا در صورت استفاده از قالببندیکنندههای دیگر، قالبهای مناسب آنها استفاده کنید..SS "راهنما (Legend)" [-g|--no-legend]
جلوگیری از تولید راهنما (legend)؛ تنها نمودار رندر میشود.
[-F|--force-rules-legend]
تولید اجباری راهنماهای HRULE و VRULE حتی اگر این خطوط HRULE یا VRULE به دلیل قرار گرفتن خارج از مرزهای نمودار رسم نشوند (شبیهسازی رفتار نسخههای پیش از 1.0.42).
[--legend-position=(north|south|west|east)]
قرار دادن راهنما در سمت مشخصشده از نمودار. پیشفرض south است. در موقعیتهای west یا east ضروری است که شکستهای خط به صورت دستی اضافه شوند.
[--legend-direction=(topdown|bottomup|bottomup2)]
قرار دادن موارد راهنما در ترتیب عمودی مشخصشده. پیشفرض topdown است. با استفاده از bottomup موارد راهنما به همان ترتیب عمودی مانند پشتهای از خطوط یا ناحیهها ظاهر میشوند. استفاده از bottomup2 خطوط COMMENT ابتدایی و انتهایی را به همان ترتیب نگه میدارد؛ این گزینه ممکن است برای تولیدکنندگانی که از آنها برای سرستونهای جدول و موارد مشابه استفاده میکنند، مفید باشد.
متفرقه (Miscellaneous)
[-z|--lazy]
نمودار را تنها زمانی تولید میکند که نمودار فعلی قدیمی شده یا وجود نداشته باشد. توجه داشته باشید که تمام محاسبات در هر صورت انجام خواهند شد تا خروجی PRINT و graphv کامل باشد. دقت کنید که رفتار lazy در این زمینه در طول زمان دستخوش تغییرات متعددی شده است. تنها چیزی که واقعاً میتوانید پیش از RRDtool نسخهٔ 1.3.7 به آن تکیه کنید این است که lazy در صورتی که نمودار هماکنون موجود و بهروز باشد آن را تولید نخواهد کرد، و همچنین اندازهٔ نمودار را خروجی خواهد داد.
[-d|--daemon address]
آدرس دیمن rrdcached. در صورت تعیین، پیش از خواندن فایلهای RRD یک دستور "flush" به سرور ارسال میشود. این کار اجازه میدهد تا نمودار حاوی دادههای تازه باشد حتی اگر دیمن طوری پیکربندی شده باشد که مقادیر را برای مدتی طولانی ذخیرهٔ موقت (کَش) کند. برای فهرستی از قالبهای پذیرفتهشده، گزینهٔ -l را در راهنمای rrdcached ببینید.
rrdtool graph [...] --daemon unix:/var/run/rrdcached.sock [...]
[-f|--imginfo printfstr]
پس از ایجاد تصویر، تابع graph از printf به همراه این رشتهٔ قالب برای ایجاد خروجی مشابه تابع PRINT استفاده میکند، با این تفاوت که پارامترهای filename، xsize و ysize به تابع printf داده میشوند. به منظور تولید یک تگ IMG مناسب جهت گنجاندن نمودار در یک صفحهٔ وب، خط فرمان به این صورت خواهد بود:
--imginfo '<IMG SRC="/img/%s" WIDTH="%lu" HEIGHT="%lu" ALT="Demo">'
[-c|--color COLORTAG#rrggbb[aa]]
رنگهای پیشفرض برای عناصر استاندارد نمودار را بازنویسی (override) میکند. مقدار COLORTAG یکی از موارد زیر است: "BACK" برای پسزمینه، "CANVAS" برای پسزمینهٔ خود نمودار، "SHADEA" برای حاشیهٔ چپ و بالا، "SHADEB" برای حاشیهٔ راست و پایین، "GRID" و "MGRID" برای خطوط شبکهٔ اصلی، "FONT" برای رنگ قلم، "AXIS" برای محور نمودار، "FRAME" برای خط دور نشانگرهای رنگی، و در نهایت "ARROW" برای نوک پیکانی که به سمت بالا و جلو اشاره میکند. هر رنگ از سه عدد هگزادسیمال تشکیل شده است که مؤلفهٔ رنگی rgb آن (00 خاموش و FF بیشینه است) را برای قرمز، سبز و آبی مشخص میکند. به صورت اختیاری میتوانید عدد هگزادسیمال دیگری را برای تعیین شفافیت (FF مات است) اضافه کنید. برای تغییر چندین مقدار پیشفرض میتوانید این گزینه را چندین بار تنظیم کنید.
یک پیکان سبز رنگ به این صورت ایجاد میشود: "--color ARROW#00FF00"
[--grid-dash on:off]
به طور پیشفرض خطوط شبکه با الگوی ۱ روشن (on)، ۱ خاموش (off) رسم میشوند. با این گزینه میتوانید خودتان آن را تنظیم کنید.
--grid-dash 1:3 for a dot grid --grid-dash 1:0 for uninterrupted grid lines
[--border width]
عرض به پیکسل برای حاشیهٔ سهبعدی (3d) رسمشده در اطراف تصویر. پیشفرض 2 است، 0 حاشیه را غیرفعال میکند. برای تنظیم رنگ حاشیه، "SHADEA" و "SHADEB" را در بالا ببینید.
[--dynamic-labels]
شکل نشانگر رنگی کنار برچسب را متناسب با عنصری که روی نمودار رسم شده است انتخاب میکند.
[-m|--zoom factor]
بزرگنمایی گرافیک به میزان دادهشده. ضریب (factor) باید بزرگتر از صفر (> 0) باشد.
[-n|--font FONTTAG:size[:font]]
این گزینه به شما اجازه میدهد قلم مورد استفاده را برای عناصر متنی مختلف در نمودارهای RRD سفارشیسازی کنید. مقدار "DEFAULT" مقدار پیشفرض را برای همهٔ عناصر تنظیم میکند، "TITLE" برای عنوان، "AXIS" برای برچسبهای محورها، "UNIT" برای برچسب عمودی یکا، "LEGEND" برای راهنمای نمودار، و "WATERMARK" برای واترمارک لبهٔ نمودار است.
استفاده از Times برای عنوان: "--font TITLE:13:Times"
توجه داشته باشید که اگر نام قلم دارای فاصله (whitespace) است، باید آرگومان --font را درون علامت نقلقول قرار دهید: --font "TITLE:13:Some Font"
اگر رشتهٔ قلم را تعیین نکنید، میتوانید تنها اندازهٔ قلم پیشفرض را تغییر دهید: "--font TITLE:13:".
اگر اندازه را 0 تعیین کنید، میتوانید بدون دست زدن به اندازه تنها قلم را تغییر دهید. این قابلیت به ویژه برای تغییر قلم پیشفرض بدون بازنشانی اندازههای پیشفرض قلمها کاربرد دارد: "--font DEFAULT:0:Courier".
ابزار RRDtool با یک قلم پیشفرض از پیش تعیینشده عرضه میشود. اگر میخواهید این مقدار را تغییر دهید میتوانید متغیر محیطی "RRD_DEFAULT_FONT" را تنظیم کنید.
ابزار RRDtool برای مدیریت قلمها از Pango استفاده میکند. این بدان معناست که هنگام انتخاب قلم خود میتوانید از نحو کامل Pango استفاده کنید:
نام قلم قالبی به صورت "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]" دارد، که در آن FAMILY-LIST فهرستی از خانوادههای قلم جداشده با کاما است که به صورت اختیاری میتواند با یک کاما پایان یابد، STYLE_OPTIONS فهرستی از کلمات جداشده با فاصله است که هر کلمه یکی از خصوصیات سبک (style)، گونه (variant)، وزن (weight)، کشیدگی (stretch) یا گرانش (gravity) را شرح میدهد، و SIZE یک عدد اعشاری (اندازه به پوینت) است که به طور اختیاری پسوند یکای "px" برای اندازهٔ مطلق میتواند در پی آن بیاید. هر یک از این گزینهها میتواند غایب باشد.
[-R|--font-render-mode {normal,light,mono}]
سه حالت رندر قلم وجود دارد:
normal: هینتینگ کامل (Full Hinting) و هموارسازی دندانهها (Anti-aliasing) (پیشفرض)
light: هینتینگ اندک (Slight Hinting) و هموارسازی دندانهها (Anti-aliasing)
mono: هینتینگ کامل (Full Hinting) و بدون هموارسازی (NO Anti-aliasing)
[-B|--font-smoothing-threshold size]
(فعلاً در نسخهٔ 1.3 نادیده گرفته میشود!)
بزرگترین اندازهٔ قلمی را مشخص میکند که به صورت بیتمپ (bitmapped)، یعنی بدون هیچگونه هموارسازی قلم، رندر خواهد شد. به طور پیشفرض، هیچ متنی به صورت بیتمپ رندر نمیشود.
[-P|--pango-markup]
تمام متنها در RRDtool با استفاده از Pango رندر میشوند. با گزینهٔ --pango-markup، تمام متنها توسط نشانهگذاری pango پردازش خواهند شد. این به کاربر اجازه میدهد برخی تگهای نشانهگذاری سادهٔ شبه-html را با استفاده از قالب زیر درج کند:
<span key="value">text</span>
جدا از نحو تفصیلی، برچسبهای کوتاه زیر نیز در دسترس هستند:
b Bold (پررنگ) big قلم را نسبتاً بزرگتر میکند، معادل با <span size="larger"> i Italic (مورب) s Strikethrough (خطخورده) sub Subscript (زیرنویس) sup Superscript (بالانویس) small قلم را نسبتاً کوچکتر میکند، معادل با <span size="smaller"> tt Monospace font (قلم تکفاصله) u Underline (زیرخط)
جزئیات بیشتر در http://developer.gnome.org/pango/stable/PangoMarkupFormat.html.
[-G|--graph-render-mode {normal,mono}]
دو حالت رندر وجود دارد:
normal: نمودارها به طور کامل هموارسازی میشوند (Anti-aliased) (پیشفرض)
mono: بدون هموارسازی (Anti-aliasing)
[-E|--slope-mode]
نمودارهای RRDtool به طور پیشفرض از منحنیهای پلهای تشکیل شدهاند. این با روشی که RRDtool دادههای خود را محاسبه میکند هماهنگ است. برخی افراد ظاهر «طبیعیتر» ('organic') را برای نمودارهای خود ترجیح میدهند، هرچند که کاملاً دقیق و منطبق بر واقعیت نیست.
[-a|--imgformat PNG|SVG|EPS|PDF|XML|XMLENUM|JSON|JSONTIME|CSV|TSV|SSV]
قالب تصویر برای نمودار تولیدشده. برای قالبهای برداری میتوانید از میان قلمهای استاندارد Postscript شامل Courier-Bold، Courier-BoldOblique، Courier-Oblique، Courier، Helvetica-Bold، Helvetica-BoldOblique، Helvetica-Oblique، Helvetica، Symbol، Times-Bold، Times-BoldItalic، Times-Italic، Times-Roman و ZapfDingbats انتخاب کنید..PP برای نوع خروجی (Export type) میتوانید موارد زیر را تعیین کنید: XML، XMLENUM (تگهای مقادیر را به صورت <v0>,<v1>,<v2>,... شمارهگذاری میکند)، JSON، JSONTIME (یک برچسب زمانی به هر سطر داده اضافه میکند)، CSV (مقدارهای جداشده با کاما)، TSV (مقدارهای جداشده با تب)، SSV (مقدارهای جداشده با نقطهویرگول)، (برای مقدارهای جداشده با کاما/تب/نقطهویرگول، قالب زمان بهطور پیشفرض به شکل زمان یونیکس (unix time) است. برای تغییر آن به قالبی دیگر از این الگو استفاده کنید: --x-grid MINUTE:10:HOUR:1:HOUR:4:0:"%Y-%m-%d %H:%M:%S")
برای --imgformatهای غیرتصویری، جهت مشاهدهٔ جزئیات خروجی به "OUTPUT FORMAT" در rrdxport مراجعه کنید.
[-i|--interlaced]
(این گزینه در حال حاضر در نسخهٔ 1.3 نادیده گرفته میشود!)
اگر تصاویر درهمبافته (interlaced) باشند، در مرورگرها سریعتر نمایان میشوند.
[-T|--tabwidth value]
عرض تب بهطور پیشفرض ۴۰ پیکسل است؛ برای تغییر آن از این گزینه استفاده کنید.
[-b|--base value]
اگر در حال رسم نمودار حافظه هستید (و نه ترافیک شبکه)، این سوئیچ باید روی 1024 تنظیم شود تا هر یک کیلوبایت (Kb) برابر با 1024 بایت باشد. برای اندازهگیری ترافیک، 1 kb/s معادل 1000 b/s است.
[-W|--watermark string]
رشتهٔ دادهشده را به عنوان یک واترمارک، تراز شده در مرکز به صورت افقی، در پایین نمودار اضافه میکند.
[-Z|--use-nan-for-all-missing-data]
اگر یک DS وجود نداشته باشد، چه به دلیل در دسترس نبودن RRD یا به دلیل اینکه شامل نام DS درخواستی نیست، بهجای ایجاد یک خطای مهلک، صرفاً فرض میشود که مقادیر خالی دریافت شدهاند.
[--add-jsontime]
دادههای xport را در قالب JSONTIME اضافه میکند، و هم دادههای تصویر نمودار و هم مقادیر نقاط داده را در یک فراخوانی دستور graphv ارائه میدهد.
[--utc]
منطقهٔ زمانی را به UTC اجبار میکند. معادل با اجرای TZ=UTC rrdtool graph .... است. این گزینه برای محاسبهٔ میانگین روزانه در بازهٔ نیمهشب تا نیمهشب، بهجای مثلاً ۲۴ ساعت گذشته، مفید است.
دادهها و متغیرها (Data and variables)
DEF:vname=rrdfile:ds-name:CF[:step=step][:start=time][:end=time]
CDEF:vname=RPN expression
VDEF:vname=RPN expression
برای تولید هر خروجی کاربردی، حداقل به یک عبارت DEF و یکی از عبارتهای LINE، AREA، GPRINT یا PRINT نیاز دارید.
برای آگاهی از قالب دقیق، rrdgraph_data و rrdgraph_rpn را ببینید.
نکته: عناصر نمودار و چاپ (Graph and print elements)
برای تولید تصویر حداقل به یک عنصر نمودار و/یا برای تولید گزارش حداقل به یک عبارت چاپ (print statement) نیاز دارید. برای آگاهی از قالب دقیق به rrdgraph_graph مراجعه کنید.
graphv
فراخوانی RRDtool با گزینهٔ graphv، اطلاعات را در قالب info ابزار RRDtool برمیگرداند. در خط فرمان این بدان معناست که تمام خروجیها در قالب key=value خواهند بود. هنگامی که از اتصالات Perl و Ruby استفاده شود، یک اشارهگر هش (hash pointer) توسط این فراخوانی بازگردانده میشود.
هنگامی که نام فایل '-' داده شود، محتوای خود نمودار نیز از طریق این رابط بازگردانده خواهد شد (کلید هش 'image'). در خط فرمان، خروجی به شکل زیر خواهد بود:
print[0] = "0.020833" print[1] = "0.0440833" graph_left = 51 graph_top = 22 graph_width = 400 graph_height = 100 graph_start = 1232908800 graph_end = 1232914200 image_width = 481 image_height = 154 value_min = 0.0000000000e+00 value_max = 4.0000000000e-02 image = BLOB_SIZE:8196 [... 8196 bytes of image data ...]
اطلاعاتی که در اینجا بازگردانده میشود بیشتر از رابط استاندارد است؛ بهویژه کلیدهای 'graph_*' جدید هستند. آنها به برنامههایی که نیاز دارند بدانند چه عنصری در کجای نمودار قرار گرفته است کمک میکنند.
محیط (ENVIRONMENT)
متغیرهای محیطی زیر میتوانند برای تغییر رفتار "rrdtool graph" استفاده شوند:
- RRDCACHED_ADDRESS
- اگر این متغیر محیطی تنظیم شده باشد، اثری مشابه با تعیین گزینهٔ "--daemon" در خط فرمان خواهد داشت. اگر هر دو موجود باشند، آرگومان خط فرمان اولویت دارد.
- RRD_DEFAULT_FONT
- ابزار RRDtool با یک قلم پیشفرض از پیش تعیینشده ارائه میشود. اگر میخواهید آن را تغییر دهید، میتوانید متغیر محیطی RRD_DEFAULT_FONT را تنظیم کنید.
همچنین ببینید (SEE ALSO)
صفحهٔ rrdgraph نمایی کلی از نحوهٔ عملکرد rrdtool graph ارائه میدهد. صفحهٔ rrdgraph_data دستورهای DEF، CDEF و VDEF را با جزئیات شرح میدهد. صفحهٔ rrdgraph_rpn زبان RPN مورد استفاده در دستورهای ?DEF را توضیح میدهد. صفحهٔ rrdgraph_graph تمام توابع نمودار و چاپ را شرح میدهد.
برای مشاهدهٔ ترفندها و نکات کاربردی، حتماً rrdgraph_examples را مطالعه کنید.
نویسندگان (AUTHORS)
برنامه توسط Tobias Oetiker <tobi@oetiker.ch>
این صفحهٔ راهنما توسط Alex van den Bogaerdt <alex@vandenbogaerdt.nl> با اصلاحات و/یا اضافات چندین نفر نوشته شده است.
| 2026-08-08 | 1.11.0 |