| GDNSD-PLUGIN-EXTFILE(8) | gdnsd | GDNSD-PLUGIN-EXTFILE(8) |
نام (NAME)
gdnsd-plugin-extfile - افزونه gdnsd برای وارد کردن دادههای پایش از طریق فایل
خلاصه دستور (SYNOPSIS)
نمونه پیکربندی service_types:
service_types => {
ext1 => {
plugin => "extfile",
file => "/var/tmp/ext1data", # required
direct => true, # default false
def_down => false, # default false
def_ttl => 600, # default max (limited by zonefile RRs)
}
ext2 => {
plugin => "extfile",
file => "ext2data", # def dir: //lib/gdnsd/extfile/
},
}
نمونه پیکربندی افزونه با استفاده از این service_typesها:
plugins => {
multifo => {
www1 => {
service_types => ext2,
lb01 => 192.0.2.200,
lb02 => 192.0.2.201,
lb03 => 192.0.2.202,
}
www2 => {
service_types => [ ext1, http_status ],
lb01 => 192.0.2.203,
lb02 => 192.0.2.204,
lb03 => 192.0.2.205,
}
},
weighted => {
wwwcn => {
service_types => ext1,
lb01 = [ lb01.example.com., 99 ],
lb02 = [ lb02.example.com., 15 ],
lb03 = [ lb03, 1 ],
}
wwwz => {
service_types => ext1,
lb01 => [ 192.0.2.203, 10 ],
lb02 => [ 192.0.2.204, 15 ],
lb03 => [ 192.0.2.205, 20 ],
}
}
}
نمونه دادههای extfile که منابع و service_types مشخصشده در بالا را تعریف میکنند:
/var/tmp/ext1data: 192.0.2.203 => UP/300 192.0.2.204 => DOWN/242 192.0.2.205 => DOWN/102 lb01.example.com. => UP/60 lb02.example.com. => UP/30 lb03 => UP/45 //lib/gdnsd/extfile/ext2data: 192.0.2.200 => DOWN 192.0.2.201 => UP 192.0.2.202 => UP
توضیحات (DESCRIPTION)
افزونه gdnsd-plugin-extfile یک افزونه پایش است که نتایج پایش را از یک فایل خارجی (که احتمالاً توسط یک اسکریپت یا ابزاری از سایر نرمافزارهای پایش مقداردهی میشود) وارد میکند.
حالتها (MODES)
یک service_type مربوط به extfile میتواند در یکی از دو حالت پایهای زیر عمل کند:
- حالت پایش (Monitor Mode - پیشفرض)
- در حالت
پایش،
پارامتر
استاندارد
"interval" به
عنوان یک
تایمر
تکرارشونده
استفاده
میشود. در
هر بازه
زمانی،
فایل برای
دریافت
بهروزرسانیهای
وضعیت
بارگیری
میشود (اما
هرگونه
مقدار
مستقیم TTL
درون فایل
نادیده
گرفته
میشود).
بهروزرسانیهای حاصل از فایل، با سازوکارهایی مشابه افزونههای پایش معمولی (مانند http_status) به سیستم اصلی پایش فرستاده میشوند. این بدان معناست که این اطلاعات قبل از تأثیرگذاری بر وضعیت نهایی قابل مشاهده توسط افزونههای تفکیک (resolution plugins)، از طریق پارامترهای آستانه استاندارد ("up_thresh"، "down_thresh"، "ok_thresh") مشمول تدابیر استاندارد ضد تغییر وضعیت پیاپی (anti-flap) خواهند شد.
این حالت در صورتی مناسب است که بهروزرسانیهای در حال پردازش، نتایج نسبتاً خام حاصل از بررسیهای جداگانه پایش باشند.
- حالت مستقیم (Direct Mode)
- در حالت
مستقیم،
پارامتر
استاندارد
"interval"
تنها به
عنوان یک
راهنما (hint)
برای کد
پایش سیستم
فایل به کار
میرود تا
بررسی
بهروزرسانیها
در فواصل
زمانی
طولانیتر
از بازه
مشخصشده
انجام نشود.
با این حال
در بسیاری
از موارد
(بهویژه در
لینوکس با
پشتیبانی
از inotify())
بهروزرسانیهای
فایل ممکن
است بسیار
زودتر و
تقریباً در
همان لحظه
دریافت
شوند.
پس از تشخیص هر بهروزرسانی، یک تاخیر کوتاه تثبیت (~۱ ثانیه) وجود خواهد داشت تا بهروزرسانیهای سریع و پیاپی در قالب یک تراکنش واحد تجمیع شوند.
نتایج موجود در فایل (وضعیت و/یا TTL برای هر منبع) مستقیماً به عنوان نتایج نهایی پایش اعمال میشوند و بلافاصله برای تصمیمگیری در اختیار افزونههای تفکیک قرار میگیرند.
این حالت در صورتی مناسب است که بهروزرسانیها از نتایج پایش پردازششدهای باشند که قبلاً (پیش از رسیدن به gdnsd) تدابیری مانند ضد تغییر وضعیت پیاپی (anti-flap) روی آنها اعمال شده است.
قالب فایل (FILE FORMAT)
این فایل با استفاده از همان زبان "vscf" قالببندی میشود که برای فایل پیکربندی اصلی و پایگاههای داده شبکههای geoip استفاده میشود. قالب داده مورد انتظار یک هش کلید-مقدار ساده در سطح بالاست، به طوری که کلیدها همان آدرسهای IP پایششده یا مقادیر CNAME از افزونههای پایش هستند و مقادیر به صورت "state[/ttl]" میباشند؛ که در آن state برابر با "UP" یا "DOWN" بوده و ttl اختیاری یک مقدار عددی صحیح TTL است. مقادیر TTL تنها برای service_typeهای در حالت "direct" استفاده میشوند؛ برای حالت "monitor" مقدار TTL به روش معمول و بر اساس بازهها و آستانهها محاسبه میگردد.
پیکربندی - برای هر نوع سرویس (CONFIGURATION - PER-SERVICE-TYPE)
پارامترهای عمومی و خنثی نسبت به افزونه service_type همگی در کاربرد معمول خود صدق میکنند: "up_thresh"، "ok_thresh"، "down_thresh" و "interval" (با در نظر داشتن نکات فوق در مورد نحوه استفاده هر حالت از "interval"). پارامتر "timeout" نادیده گرفته میشود. پارامترهای اختصاصی extfile:
- direct
- بولی (Boolean)، پیشفرض false. در صورت true، حالت پایش را به "direct" تنظیم میکند، در غیر این صورت حالت به صورت پیشفرض روی "monitor" قرار میگیرد.
- file
- رشته نام فایل، الزامی است. این گزینه نام فایلی را تعیین میکند که نتایج از آن بارگیری میشوند. اگر مسیر فایل مطلق نباشد، به عنوان مسیری نسبی نسبت به //lib/gdnsd/extfile/ در نظر گرفته خواهد شد.
- def_ttl
- مقدار عددی صحیح TTL، پیشفرض حداکثر است (که توسط مقادیر TTL رکوردهای منابع یا RR در فایل منطقه محدود خواهد شد). در حالت "direct"، اگر برای یک منبع معین هیچ TTL اختیاری در دادههای فایل ارائه نشده باشد، این مقدار به عنوان TTL پایششده تنظیم خواهد شد. در حالت "monitor" این پارامتر نادیده گرفته میشود.
- def_down
- بولی (Boolean)، پیشفرض false. این گزینه وضعیت پیشفرض منابع پیکربندیشدهای را تعیین میکند که در دادههای فایل وجود ندارند (که هشدارهایی ایجاد خواهد کرد). اگر true باشد، این منابع طوری عمل میکنند که گویی دادههای فایل آنها را به عنوان "DOWN" علامتگذاری کرده است، در غیر این صورت به طور پیشفرض روی "UP" قرار میگیرند.
همچنین ببینید (SEE ALSO)
راهنمای gdnsd.
حق نشر و مجوز (COPYRIGHT AND LICENSE)
حق نشر (c) ۲۰۱۲ Brandon L Black <blblack@gmail.com>
این فایل بخشی از gdnsd است.
نرمافزار gdnsd یک نرمافزار آزاد است: شما میتوانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU GPL) که توسط بنیاد نرمافزارهای آزاد منتشر شده است، چه نسخه ۳ مجوز و چه (به انتخاب خودتان) هر نسخه بعدی آن، بازتوزیع کرده یا تغییر دهید.
نرمافزار gdnsd به این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا تناسب با یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.
شما باید یک نسخه از مجوز عمومی همگانی گنو را به همراه gdnsd دریافت کرده باشید. در غیر این صورت، ببینید: http://www.gnu.org/licenses.
| 2026-04-04 | gdnsd 3.8.3 |