| RRDGRAPH_EXAMPLES(1) | rrdtool | RRDGRAPH_EXAMPLES(1) |
نام (NAME)
rrdgraph_examples - مثالهایی برای rrdtool graph
خلاصه دستور (SYNOPSIS)
rrdtool graph /home/httpd/html/test.png --imgformat PNG
به همراه هر یک از مثالهای زیر
توضیحات (DESCRIPTION)
برای راحتی شما، برخی از دستورها در اینجا با استفاده از مثالهای تفصیلی توضیح داده شدهاند. این دستورها همواره آمادهٔ برش و چسباندن (cut-and-paste) نیستند، زیرا توضیحات با مثالها ترکیب شدهاند.
مثالها (EXAMPLES)
دادهها با چندین تفکیکپذیری
--end now --start end-120000s --width 400 DEF:ds0a=/home/rrdtool/data/router1.rrd:ds0:AVERAGE DEF:ds0b=/home/rrdtool/data/router1.rrd:ds0:AVERAGE:step=1800 DEF:ds0c=/home/rrdtool/data/router1.rrd:ds0:AVERAGE:step=7200 LINE1:ds0a#0000FF:"default resolution\l" LINE1:ds0b#00CCFF:"resolution 1800 seconds per interval\l" LINE1:ds0c#FF00FF:"resolution 7200 seconds per interval\l"
بخش راهنما با قالببندی مرتب
DEF:ds0=/home/rrdtool/data/router1.rrd:ds0:AVERAGE DEF:ds1=/home/rrdtool/data/router1.rrd:ds1:AVERAGE VDEF:ds0max=ds0,MAXIMUM VDEF:ds0avg=ds0,AVERAGE VDEF:ds0min=ds0,MINIMUM VDEF:ds0pct=ds0,95,PERCENT VDEF:ds1max=ds1,MAXIMUM VDEF:ds1avg=ds1,AVERAGE VDEF:ds1min=ds1,MINIMUM VDEF:ds1pct=ds1,95,PERCENT
نکته: تجمیع (consolidation) در اینجا رخ میدهد.
CDEF:ds0bits=ds0,8,* CDEF:ds1bits=ds1,8,*
نکته: ۱۰ فاصله برای انتقال متن به سمت راست
COMMENT:" "
نکته: عنوان ستونها باید به پهنای خود ستونها باشد
COMMENT:"Maximum " COMMENT:"Average " COMMENT:"Minimum " COMMENT:"95th percentile\l" AREA:ds0bits#00C000:"Inbound " GPRINT:ds0max:"%6.2lf %Sbps" GPRINT:ds0avg:"%6.2lf %Sbps" GPRINT:ds0min:"%6.2lf %Sbps" GPRINT:ds0pct:"%6.2lf %Sbps\l" LINE1:ds1bits#0000FF:"Outbound" GPRINT:ds1max:"%6.2lf %Sbps" GPRINT:ds1avg:"%6.2lf %Sbps" GPRINT:ds1min:"%6.2lf %Sbps" GPRINT:ds1pct:"%6.2lf %Sbps\l"
جابهجایی یک خط روی محور y
بسته به نیازهای خود میتوانید این کار را به دو روش انجام دهید:
- داده را
جابهجا
کرده (offset)، سپس
آن را رسم
کنید
DEF:mydata=my.rrd:ds:AVERAGE
نکته: این کار بر روی هر دستور دیگری که از «data» استفاده میکند نیز اثر میگذارد
CDEF:data=mydata,100,+ LINE1:data#FF0000:"Data with offset"
- دادهٔ اصلی
را با یک
آفست رسم
کنید
DEF:mydata=my.rrd:ds:AVERAGE
نکته: هیچ رنگی در خط اول وجود ندارد تا نامرئی باشد
LINE1:100
نکته: خط دوم بر روی خط اول قرار میگیرد (STACK میشود)
LINE1:mydata#FF0000:"Data with offset":STACK
رسم خطچینها
برای HRULE و VRULE نیز کار میکند
- سبک
پیشفرض: - - - - -
LINE1:data#FF0000:"dashed line":dashes
- سبک
پیشرفتهتر
با آفست: - - --- - --- -
LINE1:data#FF0000:"another dashed line":dashes=15,5,5,10:dash-offset=10
بازههای زمانی
Last four weeks: --start end-4w --end 00:00 January 2001: --start 20010101 --end start+31d January 2001: --start 20010101 --end 20010201 Last hour: --start end-1h Last 24 hours: <nothing at all> Yesterday: --end 00:00
مشاهدهٔ همزمان هفتهٔ جاری و قبلی
--end now --start end-1w DEF:thisweek=router.rrd:ds0:AVERAGE DEF:lastweek=router.rrd:ds0:AVERAGE:end=now-1w:start=end-1w
دادهها را به اندازهٔ یک هفته (۶۰۴۸۰۰ ثانیه) به جلو انتقال دهید (Shift)
SHIFT:lastweek:604800 [ more of the usual VDEF and CDEF stuff if you like ] AREA:lastweek#0000FF:Last\ week LINE1:thisweek#FF0000:This\ week
تشخیص رفتارهای ناهنجار
اگر RRAهای تخصصی برای تشخیص رفتارهای ناهنجار وجود داشته باشند، میتوان از آنها برای ایجاد نمودار یک سری زمانی با محدودههای اطمینان و خطاها استفاده کرد.
rrdtool graph example.png \
DEF:obs=monitor.rrd:ifOutOctets:AVERAGE \
DEF:pred=monitor.rrd:ifOutOctets:HWPREDICT \
DEF:dev=monitor.rrd:ifOutOctets:DEVPREDICT \
DEF:fail=monitor.rrd:ifOutOctets:FAILURES \
TICK:fail#ffffa0:1.0:"Failures\: Average bits out" \
CDEF:scaledobs=obs,8,* \
CDEF:upper=pred,dev,2,*,+ \
CDEF:lower=pred,dev,2,*,- \
CDEF:scaledupper=upper,8,* \
CDEF:scaledlower=lower,8,* \
LINE2:scaledobs#0000ff:"Average bits out" \
LINE1:scaledupper#ff0000:"Upper Confidence Bound: Average bits out" \
LINE1:scaledlower#ff0000:"Lower Confidence Bound: Average bits out"
این مثال نموداری از سری دادهها را به رنگ آبی (LINE2 با منبع دادهٔ مجازی scaledobs)، مرزهای اطمینان را به رنگ قرمز (منابع دادهٔ مجازی scaledupper و scaledlower)، و خطاهای احتمالی (یعنی رفتارهای ناهنجار بالقوه) را با خطوط عمودی زرد (منبع دادهٔ fail) ایجاد میکند.
دادههای خام از یک RRA از نوع AVERAGE تأمین میشوند که دقیقترین تفکیکپذیری سری زمانی مشاهدهشده است (یک نقطهٔ دادهٔ تجمیعشده به ازای هر نقطهٔ دادهٔ اولیه). مقادیر پیشبینیشده (یا هموارسازیشده) در RRA از نوع HWPREDICT ذخیره میشوند. مقادیر انحراف پیشبینیشده (مشابه انحراف معیار) در RRA از نوع DEVPREDICT ذخیره میشوند. در نهایت، RRA از نوع FAILURES حاوی نشانگرهایی است که مقدار ۱ نشاندهندهٔ یک خطای بالقوه است.
تمامی دادهها با ضرب شدن در ۸، به بیت (به جای بایت یا Octet) تغییر مقیاس داده میشوند. مرزهای اطمینان با یک آفستِ ۲ انحراف در هر دو سمت بالا و پایین مقادیر پیشبینیشده محاسبه میشوند (CDEFهای upper و lower). خطوط عمودی نشاندهندهٔ خطاهای بالقوه از طریق المان نمودار TICK رسم میشوند، که مقادیر غیرصفر در یک RRA را به نشانههای خطی تبدیل میکند. در اینجا مقدار 1.0 برای آرگومان axis-fraction به این معنی است که نشانههای خطی تمام محور y را پوشش میدهند و در نتیجه به خطوطی عمودی در نمودار تبدیل میشوند.
انتخاب ۲ انحراف (یک ضریب مقیاس) با مقدار پیشفرضی که به صورت داخلی توسط RRA از نوع FAILURES استفاده میشود، همخوانی دارد. اگر مقدار داخلی تغییر کند (به rrdtune مراجعه کنید)، این دستور رسم نمودار نیز باید برای حفظ سازگاری تغییر داده شود.
نکتهای در مورد کاهش دادهها:
دستور graph در rrdtool برای رسم دادهها در یک تفکیکپذیری زمانی مشخص طراحی شده است، فارغ از تفکیکپذیری واقعی دادهها در فایل RRD. این موضوع میتواند برای توابع تجمیع تخصصی که یک نگاشت یکبهیک بین نقاط دادهٔ اولیه و نقاط دادهٔ تجمیعشده حفظ میکنند، مشکلساز شود. اگر یک نمودار بر مشاهدهٔ محتویات این RRAها در یک مقیاس زمانی درشتتر اصرار داشته باشد، دستور graph تلاش میکند عملی هوشمندانه انجام دهد، اما محدودههای اطمینان و خطاها دیگر همان معنا را نخواهند داشت و ممکن است گمراهکننده باشند.
همچنین ببینید (SEE ALSO)
صفحهٔ rrdgraph نمایی کلی از نحوهٔ کارکرد rrdtool graph ارائه میدهد. صفحهٔ rrdgraph_data دستورهای DEF، CDEF و VDEF را با جزئیات شرح میدهد. صفحهٔ rrdgraph_rpn زبان RPN را که در عبارات xDEF به کار میرود، توضیح میدهد. صفحهٔ rrdgraph_graph تمامی توابع رسم نمودار و چاپ را شرح میدهد.
نویسنده (AUTHOR)
برنامه توسط Tobias Oetiker <tobi@oetiker.ch>
این صفحهٔ راهنما توسط Alex van den Bogaerdt <alex@vandenbogaerdt.nl> همراه با اصلاحات و/یا الحاقاتی توسط افراد مختلف نوشته شده است
| 2026-08-08 | 1.11.0 |