RRDTUNE(1) rrdtool RRDTUNE(1)

rrdtune - اصلاح برخی از ویژگی‌های پایه‌ای پایگاه‌دادهٔ Round Robin

rrdtool tune filename [--heartbeat|-h ds-name:heartbeat] [--minimum|-i ds-name:min] [--maximum|-a ds-name:max] [--data-source-type|-d ds-name:DST] [--data-source-rename|-r old-name:new-name] [--deltapos|-p scale-value] [--deltaneg|-n scale-value] [--failure-threshold|-f failure-threshold] [--window-length|-w window-length] [--alpha|-x adaption-parameter] [--beta|-y adaption-parameter] [--gamma|-z adaption-parameter] [--gamma-deviation|-v adaption-parameter] [--smoothing-window|-s fraction-of-season] [--smoothing-window-deviation|-S fraction-of-season] [--aberrant-reset|-b ds-name] [--step|-t newstep] [--daemon|-D address] [DEL:ds-name] [DS:ds-spec] [DELRRA:index] [RRA:rra-spec] [RRA#index:[+-=]<number]>

گزینهٔ tune به شما امکان می‌دهد برخی از مقادیر پیکربندی پایه‌ای ذخیره‌شده در ناحیهٔ سرایند یک پایگاه‌دادهٔ Round Robin (RRD) را تغییر دهید.

یک کاربرد تابع tune، تسهیل قوانین اعتبارسنجی روی یک RRD است. این کار به شما امکان می‌دهد یک RRD جدید را با داده‌هایی که در بازه‌های زمانی بزرگ‌تر از حد مجاز معمول در دسترس هستند پر کنید. هنگام عملیات tune روی منابع داده از نوع COMPUTE بسیار مراقب باشید. تنظیم min، max و heartbeat برای یک منبع دادهٔ COMPUTE بدون تغییر دادن نوع منبع داده به یک DST غیر COMPUTE، سرایند منبع داده را در RRD خراب خواهد کرد.

دومین کاربرد تابع tune، تعیین یا تغییر پارامترهای مورداستفاده توسط RRAهای تخصصی برای تشخیص رفتار ناهنجار (aberrant behavior) است.

کاربرد دیگر، افزودن یا حذف منابع داده (DS) یا افزودن، حذف یا اصلاح برخی جنبه‌های بایگانی‌های round-robin (اصطلاحاً RRA) است. این عملیات‌ها در واقع به‌صورت درجا (in-place) انجام نمی‌شوند، بلکه درون برنامه یک فایل RRD جدید تولید شده و جایگزین فایل اصلی می‌شود. داده‌ها در طول این عملیات دست‌نخورده باقی می‌مانند. برای اصلاحات عمیق‌تر می‌توانید گزینه‌های --source و --template در تابع create را بررسی کنید که به شما اجازه می‌دهند چند فایل RRD را در یک فایل جدید ادغام کنید و حتی در نگه‌داری یا «بازسازی» داده‌ها هوشمندانه‌تر عمل می‌کنند.

نام RRD موردنظری که می‌خواهید آن را تنظیم (tune) کنید.
اصلاح heartbeat یک منبع داده. با تنظیم آن روی یک مقدار بزرگ، RRD مواردی مانند دریافت یک مقدار در روز را می‌پذیرد.
تغییر کمینه مقدار قابل‌قبول به‌عنوان ورودی از منبع داده. تنظیم min روی 'U' این محدودیت را غیرفعال می‌کند.
تغییر بیشینه مقدار قابل‌قبول به‌عنوان ورودی از منبع داده. تنظیم max روی 'U' این محدودیت را غیرفعال می‌کند.
تغییر نوع منبع داده (DST).
تغییر نام یک منبع داده.
تغییر ضریب مقیاس‌بندی انحراف برای کران بالای باند اطمینان (confidence band) که درون برنامه برای محاسبهٔ موارد نقض در RRA با نام FAILURES استفاده می‌شود. مقدار پیش‌فرض 2 است. توجه داشته باشید که این پارامتر ارتباطی با رسم کران‌های اطمینان ندارد؛ این کران‌ها برای ایجاد یک نمودار باید به‌عنوان یک آرگومان CDEF مشخص شوند. ضریب مقیاس نمودار نیازی ندارد که با مقدار استفاده‌شده درون RRA با نام FAILURES مطابقت داشته باشد.
تغییر ضریب مقیاس‌بندی انحراف برای کران پایین باند اطمینان که درون برنامه برای محاسبهٔ موارد نقض در RRA با نام FAILURES استفاده می‌شود. مقدار پیش‌فرض 2 است. همانند --deltapos، این آرگومان با ضریب مقیاس انتخاب‌شده هنگام رسم کران‌های اطمینان ارتباطی ندارد.
تغییر تعداد موارد نقض کران اطمینان که برای اهداف RRA با نام FAILURES یک شکست (failure) تلقی می‌شوند. این مقدار باید یک عدد صحیح کمتر یا مساوی با طول پنجرهٔ (window length) RRA با نام FAILURES باشد. این محدودیت توسط گزینهٔ tune بررسی نمی‌شود، بنابراین می‌توان failure-threshold و window-length را به‌طور هم‌زمان بازنشانی کرد. تنظیم این گزینه شمارش موارد نقض را به 0 بازنشانی می‌کند.
تغییر تعداد نقاط زمانی در پنجرهٔ زمانی برای تعیین شکست‌ها. این مقدار باید یک عدد صحیح بزرگ‌تر یا مساوی با طول پنجرهٔ RRA با نام FAILURES و کمتر یا مساوی با 28 باشد. تنظیم این گزینه شمارش موارد نقض را به 0 بازنشانی می‌کند.
تغییر پارامتر تطبیق عرض از مبدأ (intercept) برای الگوریتم پیش‌بینی Holt-Winters. این پارامتر باید بین 0 و 1 باشد.
تغییر پارامتر تطبیق شیب (slope) برای الگوریتم پیش‌بینی Holt-Winters. این پارامتر باید بین 0 و 1 باشد.
تغییر پارامتر تطبیق ضریب فصلی برای RRA با نام SEASONAL. این پارامتر باید بین 0 و 1 باشد.
تغییر پارامتر تطبیق انحراف فصلی برای RRA با نام DEVSEASONAL. این پارامتر باید بین 0 و 1 باشد.
تغییر اندازهٔ پنجرهٔ هموارسازی برای RRA با نام SEASONAL. این مقدار باید بین 0 و 1 باشد.
تغییر اندازهٔ پنجرهٔ هموارسازی برای RRA با نام DEVSEASONAL. این مقدار باید بین 0 و 1 باشد.
این گزینه باعث می‌شود الگوریتم تشخیص رفتار ناهنجار برای منبع دادهٔ مشخص‌شده بازنشانی شود؛ یعنی هر آنچه را که تاکنون آموخته است فراموش کند. به‌طور مشخص، برای RRA با نام HWPREDICT یا MHWPREDICT، ضرایب عرض از مبدأ و شیب را روی نامشخص (unknown) تنظیم می‌کند. برای RRA با نام SEASONAL، تمام ضرایب فصلی را روی نامشخص قرار می‌دهد. برای RRA با نام DEVSEASONAL، تمام ضرایب انحراف فصلی را روی نامشخص قرار می‌دهد. برای RRA با نام FAILURES، تاریخچهٔ موارد نقض را پاک می‌کند. توجه داشته باشید که بازنشانی، پیش‌بینی‌های گذشته (مقادیر RRA با نام HWPREDICT یا MHWPREDICT)، انحراف‌های پیش‌بینی‌شده (مقادیر RRA با نام DEVPREDICT)، یا تاریخچهٔ شکست‌ها (مقادیر RRA با نام FAILURES) را پاک نمی‌کند. این گزینه حتی اگر همهٔ RRAهای ذکرشده موجود نباشند نیز عمل خواهد کرد.

به دلیل نحوهٔ پیاده‌سازی این گزینه، یک اثر غیرمستقیم روی سایر منابع داده در RRD وجود دارد. الگوریتم هموارسازی به‌صورت دوره‌ای روی مقادیر SEASONAL و DEVSEASONAL اعمال می‌شود. در طول راه‌اندازی اولیه (bootstrap)، این هموارسازی به تعویق می‌افتد. برای کارایی بیشتر، پیاده‌سازی هموارسازی مختص یک منبع داده نیست. این بدان معناست که استفاده از بازنشانی برای یک منبع داده، اجرای الگوریتم هموارسازی را برای تمام منابع داده در فایل به تأخیر می‌اندازد. بعید است این موضوع پیامدهای جدی داشته باشد، مگر اینکه داده‌های در حال جمع‌آوری برای منابع دادهٔ بازنشانی‌نشده در طول دورهٔ راه‌اندازی مجدد منبع دادهٔ بازنشانی‌شده به‌طرز نامعمولی پرنوسان باشند.

استفاده از این گزینهٔ تنظیم زمانی توصیه می‌شود که رفتار سری زمانی منبع داده به‌شکلی چشمگیر و دائمی تغییر کند.

اندازهٔ گام (step size) در RRD را به newstep تغییر می‌دهد.

TODO: مستندات مناسب اضافه شود

نکته: از آنجا که گزینهٔ -d (حرف کوچک 'd') قبلاً استفاده شده بود، این تابع (برخلاف اکثر موارد دیگر) از حرف بزرگ 'D' برای گزینهٔ تک‌حرفی جهت مشخص کردن دیمن حافظهٔ پنهان استفاده می‌کند.

در صورت مشخص شدن، RRDtool تلاش خواهد کرد تا به دیمن حافظهٔ پنهان rrdcached در address متصل شود و اگر اتصال برقرار نشود، ناموفق خواهد بود. اگر اتصال با موفقیت برقرار شود، داده‌های مربوط به filename قبل از انجام عملیات رونوشت/تغییر به دیسک تخلیه (flush) خواهند شد. پس از آن، filename توسط دیمن حافظهٔ پنهان فراموش خواهد شد، به‌طوری که دسترسی بعدی با استفاده از دیمن حافظهٔ پنهان، ساختار درست را بخواند.

این توالی از عملیات به‌گونه‌ای طراحی شده است که در صورت استفاده از هر یک از عملیات تغییر DS یا RRA، از نظر سازگاری درونی فایل RRD به نتیجه‌ای منسجم دست یابد (بدین معنا که: فایل حاصل باید همواره یک فایل RRD معتبر باشد، صرف‌نظر از به‌روزرسانی‌های هم‌روند از طریق دیمن حافظهٔ پنهان). در رابطه با یکپارچگی داده‌ها چنین تضمینی داده نمی‌شود: بدون هماهنگ‌سازی خارجی ممکن است به‌روزرسانی‌های هم‌روند از دست بروند.

برای مشاهدهٔ فهرستی از قالب‌های پذیرفته‌شده، گزینهٔ -l را در راهنمای rrdcached ببینید.

هر منبع داده‌ای که با یک مشخصهٔ DEL نام‌گذاری شود، حذف خواهد شد. RRD حاصل هم تعریف و هم داده‌های آن منبع داده را از دست خواهد داد. تعیین چندین مشخصهٔ DEL مجاز است.
به ازای هر تعریف منبع داده (برای نحو دقیق، دستور create را ببینید)، یک منبع دادهٔ جدید به RRD افزوده خواهد شد. تعیین چندین مشخصهٔ DS مجاز است.
بایگانی RRA با نمایهٔ index را حذف می‌کند. این نمایه مبتنی بر صفر است، یعنی اولین RRA دارای نمایهٔ 0 است.
به ازای هر تعریف بایگانی (برای نحو دقیق، دستور create را ببینید)، یک RRA جدید به RRD خروجی افزوده خواهد شد. تعیین چندین مشخصهٔ RRA مجاز است.
تعداد ردیف‌های مشخص‌شده را به RRA با نمایهٔ <index> می‌افزاید/حذف می‌کند یا تنظیم می‌نماید. این نمایه مبتنی بر صفر است، یعنی اولین RRA دارای نمایهٔ 0 است.

"rrdtool tune data.rrd -h in:100000 -h out:100000 -h through:100000"

حداقل heartbeat موردنیاز برای منابع دادهٔ 'in'، 'out' و 'through' را در data.rrd روی 100'000 ثانیه (کمی بیش از یک روز) تنظیم می‌کند. این کار اجازه می‌دهد داده‌های قدیمی از MRTG-2.0 مستقیماً به RRDtool وارد شوند، بدون آنکه ورودی‌های *UNKNOWN* تولید شوند.

"rrdtool tune monitor.rrd --window-length 5 --failure-threshold 3";

اگر RRA از نوع FAILURES به‌صورت ضمنی ایجاد شده باشد، window-length پیش‌فرض برابر با 9 و failure-threshold پیش‌فرض برابر با 7 است. این دستور اکنون یک شکست را به‌عنوان ۳ مورد نقض یا بیشتر در یک پنجرهٔ زمانی متشکل از ۵ نقطهٔ زمانی تعریف می‌کند.

"rrdtool tune some.rrd DEL:a RRA#0:+10"

منبع دادهٔ با نام a را حذف کرده و نخستین بایگانی را ۱۰ ردیف گسترش می‌دهد. این دستور در واقع RRD ورودی را با یک RRD جدید جایگزین کرده و تمام داده‌های موجود را حفظ می‌کند. برای بیشتر کاربردهای عملی، این فرایند با یک اصلاح واقعی درجا (in-place) یکسان است.

Tobias Oetiker <tobi@oetiker.ch>, Peter Stamfest <peter@stamfest.at>

2026-08-08 1.11.0