.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "RRDGRAPH_EXAMPLES 1" .TH RRDGRAPH_EXAMPLES 1 2026-08-08 1.11.0 rrdtool .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" rrdgraph_examples \- مثال‌هایی برای rrdtool graph .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBrrdtool graph /home/httpd/html/test.png \-\-imgformat PNG\fR .PP به همراه هر یک از مثال‌های زیر .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" برای راحتی شما، برخی از دستورها در اینجا با استفاده از مثال‌های تفصیلی توضیح داده شده‌اند. این دستورها همواره آمادهٔ برش و چسباندن (cut\-and\-paste) نیستند، زیرا توضیحات با مثال‌ها ترکیب شده‌اند. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" .SS "داده‌ها با چندین تفکیک‌پذیری" .IX Subsection "Data with multiple resolutions" .Vb 7 \& \-\-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\el" \& LINE1:ds0b#00CCFF:"resolution 1800 seconds per interval\el" \& LINE1:ds0c#FF00FF:"resolution 7200 seconds per interval\el" .Ve .SS "بخش راهنما با قالب‌بندی مرتب" .IX Subsection "Nicely formatted legend section" .Vb 10 \& 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 .Ve .PP نکته: تجمیع (consolidation) در اینجا رخ می‌دهد. .PP .Vb 2 \& CDEF:ds0bits=ds0,8,* \& CDEF:ds1bits=ds1,8,* .Ve .PP نکته: ۱۰ فاصله برای انتقال متن به سمت راست .PP .Vb 1 \& COMMENT:" " .Ve .PP نکته: عنوان ستون‌ها باید به پهنای خود ستون‌ها باشد .PP .Vb 3 \& COMMENT:"Maximum " \& COMMENT:"Average " \& COMMENT:"Minimum " \& \& COMMENT:"95th percentile\el" \& AREA:ds0bits#00C000:"Inbound " \& GPRINT:ds0max:"%6.2lf %Sbps" \& GPRINT:ds0avg:"%6.2lf %Sbps" \& GPRINT:ds0min:"%6.2lf %Sbps" \& GPRINT:ds0pct:"%6.2lf %Sbps\el" \& LINE1:ds1bits#0000FF:"Outbound" \& GPRINT:ds1max:"%6.2lf %Sbps" \& GPRINT:ds1avg:"%6.2lf %Sbps" \& GPRINT:ds1min:"%6.2lf %Sbps" \& GPRINT:ds1pct:"%6.2lf %Sbps\el" .Ve .SS "جابه‌جایی یک خط روی محور y" .IX Subsection "Offsetting a line on the y-axis" بسته به نیازهای خود می‌توانید این کار را به دو روش انجام دهید: .IP \(bu 4 داده را جابه‌جا کرده (offset)، سپس آن را رسم کنید .Sp .Vb 1 \& DEF:mydata=my.rrd:ds:AVERAGE .Ve .Sp نکته: این کار بر روی هر دستور دیگری که از «data» استفاده می‌کند نیز اثر می‌گذارد .Sp .Vb 2 \& CDEF:data=mydata,100,+ \& LINE1:data#FF0000:"Data with offset" .Ve .IP \(bu 4 دادهٔ اصلی را با یک آفست رسم کنید .Sp .Vb 1 \& DEF:mydata=my.rrd:ds:AVERAGE .Ve .Sp نکته: هیچ رنگی در خط اول وجود ندارد تا نامرئی باشد .Sp .Vb 1 \& LINE1:100 .Ve .Sp نکته: خط دوم بر روی خط اول قرار می‌گیرد (STACK می‌شود) .Sp .Vb 1 \& LINE1:mydata#FF0000:"Data with offset":STACK .Ve .SS "رسم خط‌چین‌ها" .IX Subsection "Drawing dashed lines" برای HRULE و VRULE نیز کار می‌کند .IP \(bu 4 سبک پیش‌فرض: \fB\- \- \- \- \-\fR .Sp .Vb 1 \& LINE1:data#FF0000:"dashed line":dashes .Ve .IP \(bu 4 سبک پیشرفته‌تر با آفست: \fB\- \- \-\-\- \- \-\-\- \-\fR .Sp .Vb 1 \& LINE1:data#FF0000:"another dashed line":dashes=15,5,5,10:dash\-offset=10 .Ve .SS "بازه‌های زمانی" .IX Subsection "Time ranges" .Vb 6 \& 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: \& Yesterday: \-\-end 00:00 .Ve .SS "مشاهدهٔ هم‌زمان هفتهٔ جاری و قبلی" .IX Subsection "Viewing the current and previous week together" .Vb 3 \& \-\-end now \-\-start end\-1w \& DEF:thisweek=router.rrd:ds0:AVERAGE \& DEF:lastweek=router.rrd:ds0:AVERAGE:end=now\-1w:start=end\-1w .Ve .PP داده‌ها را به اندازهٔ یک هفته (۶۰۴۸۰۰ ثانیه) به جلو انتقال دهید (Shift) .PP .Vb 4 \& SHIFT:lastweek:604800 \& [ more of the usual VDEF and CDEF stuff if you like ] \& AREA:lastweek#0000FF:Last\e week \& LINE1:thisweek#FF0000:This\e week .Ve .SS "تشخیص رفتارهای ناهنجار" .IX Subsection "Aberrant Behaviour Detection" اگر \fBRRA\fRهای تخصصی برای تشخیص رفتارهای ناهنجار وجود داشته باشند، می‌توان از آن‌ها برای ایجاد نمودار یک سری زمانی با محدوده‌های اطمینان و خطاها استفاده کرد. .PP .Vb 10 \& rrdtool graph example.png \e \& DEF:obs=monitor.rrd:ifOutOctets:AVERAGE \e \& DEF:pred=monitor.rrd:ifOutOctets:HWPREDICT \e \& DEF:dev=monitor.rrd:ifOutOctets:DEVPREDICT \e \& DEF:fail=monitor.rrd:ifOutOctets:FAILURES \e \& TICK:fail#ffffa0:1.0:"Failures\e: Average bits out" \e \& CDEF:scaledobs=obs,8,* \e \& CDEF:upper=pred,dev,2,*,+ \e \& CDEF:lower=pred,dev,2,*,\- \e \& CDEF:scaledupper=upper,8,* \e \& CDEF:scaledlower=lower,8,* \e \& LINE2:scaledobs#0000ff:"Average bits out" \e \& LINE1:scaledupper#ff0000:"Upper Confidence Bound: Average bits out" \e \& LINE1:scaledlower#ff0000:"Lower Confidence Bound: Average bits out" .Ve .PP این مثال نموداری از سری داده‌ها را به رنگ آبی (LINE2 با منبع دادهٔ مجازی scaledobs)، مرزهای اطمینان را به رنگ قرمز (منابع دادهٔ مجازی scaledupper و scaledlower)، و خطاهای احتمالی (یعنی رفتارهای ناهنجار بالقوه) را با خطوط عمودی زرد (منبع دادهٔ fail) ایجاد می‌کند. .PP داده‌های خام از یک \fBRRA\fR از نوع AVERAGE تأمین می‌شوند که دقیق‌ترین تفکیک‌پذیری سری زمانی مشاهده‌شده است (یک نقطهٔ دادهٔ تجمیع‌شده به ازای هر نقطهٔ دادهٔ اولیه). مقادیر پیش‌بینی‌شده (یا هموارسازی‌شده) در \fBRRA\fR از نوع HWPREDICT ذخیره می‌شوند. مقادیر انحراف پیش‌بینی‌شده (مشابه انحراف معیار) در \fBRRA\fR از نوع DEVPREDICT ذخیره می‌شوند. در نهایت، \fBRRA\fR از نوع FAILURES حاوی نشانگرهایی است که مقدار ۱ نشان‌دهندهٔ یک خطای بالقوه است. .PP تمامی داده‌ها با ضرب شدن در ۸، به بیت (به جای بایت یا Octet) تغییر مقیاس داده می‌شوند. مرزهای اطمینان با یک آفستِ ۲ انحراف در هر دو سمت بالا و پایین مقادیر پیش‌بینی‌شده محاسبه می‌شوند (CDEFهای upper و lower). خطوط عمودی نشان‌دهندهٔ خطاهای بالقوه از طریق المان نمودار TICK رسم می‌شوند، که مقادیر غیرصفر در یک \fBRRA\fR را به نشانه‌های خطی تبدیل می‌کند. در اینجا مقدار 1.0 برای آرگومان axis\-fraction به این معنی است که نشانه‌های خطی تمام محور y را پوشش می‌دهند و در نتیجه به خطوطی عمودی در نمودار تبدیل می‌شوند. .PP انتخاب ۲ انحراف (یک ضریب مقیاس) با مقدار پیش‌فرضی که به صورت داخلی توسط \fBRRA\fR از نوع FAILURES استفاده می‌شود، همخوانی دارد. اگر مقدار داخلی تغییر کند (به rrdtune مراجعه کنید)، این دستور رسم نمودار نیز باید برای حفظ سازگاری تغییر داده شود. .PP \fIنکته‌ای در مورد کاهش داده‌ها:\fR .IX Subsection "A note on data reduction:" .PP دستور \fIgraph\fR در \fBrrdtool\fR برای رسم داده‌ها در یک تفکیک‌پذیری زمانی مشخص طراحی شده است، فارغ از تفکیک‌پذیری واقعی داده‌ها در فایل RRD. این موضوع می‌تواند برای توابع تجمیع تخصصی که یک نگاشت یک‌به‌یک بین نقاط دادهٔ اولیه و نقاط دادهٔ تجمیع‌شده حفظ می‌کنند، مشکل‌ساز شود. اگر یک نمودار بر مشاهدهٔ محتویات این \fBRRA\fRها در یک مقیاس زمانی درشت‌تر اصرار داشته باشد، دستور \fIgraph\fR تلاش می‌کند عملی هوشمندانه انجام دهد، اما محدوده‌های اطمینان و خطاها دیگر همان معنا را نخواهند داشت و ممکن است گمراه‌کننده باشند. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" صفحهٔ rrdgraph نمایی کلی از نحوهٔ کارکرد \fBrrdtool graph\fR ارائه می‌دهد. صفحهٔ rrdgraph_data دستورهای \fBDEF\fR، \fBCDEF\fR و \fBVDEF\fR را با جزئیات شرح می‌دهد. صفحهٔ rrdgraph_rpn زبان \fBRPN\fR را که در عبارات \fBxDEF\fR به کار می‌رود، توضیح می‌دهد. صفحهٔ rrdgraph_graph تمامی توابع رسم نمودار و چاپ را شرح می‌دهد. .SH "نویسنده (AUTHOR)" .IX Header "AUTHOR" برنامه توسط Tobias Oetiker .PP این صفحهٔ راهنما توسط Alex van den Bogaerdt همراه با اصلاحات و/یا الحاقاتی توسط افراد مختلف نوشته شده است