این دستور mrtglib است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
MRTG_lib.pm - کتابخانه برای MRTG و اسکریپت های پشتیبانی
خلاصه
از MRTG_lib استفاده کنید.
my ($configfile، @target_names، %globalcfg، %targetcfg)؛
readcfg($configfile، \@target_names، \%globalcfg، \%targetcfg);
my (@parsed_targets)؛
cfgcheck(\@target_names، \%globalcfg، \%targetcfg، \@parsed_targets);
شرح
MRTG_lib بخشی از MRTG، Grapher Traffic Multi Router است. از MRTG جدا شد به
به برنامه های دیگر اجازه دهید به راحتی از همان فایل های پیکربندی استفاده کنند. بخش اصلی MRTG_lib است
تجزیه کننده فایل پیکربندی اما برخی از توابع دیگر نیز وجود دارد.
$MRTG_lib::OS
نوع سیستم عامل: WIN، UNIX، VMS
$MRTG_lib::SL
اسلش در سیستم عامل فعلی
$MRTG_lib::PS
جداکننده مسیر در متغیر PATH
"readcfg"
"readcfg($file، \@targets، \%globalcfg، \%targetcfg [، $پیشوند، \%extrules])"
یک فایل پیکربندی را می خواند، آن را تجزیه می کند و تعدادی آرایه و هش را پر می کند. اجباری
آرگومان ها عبارتند از: نام فایل پیکربندی، ارجاع به آرایه ای که پر می شود
با لیستی از نام های هدف، یک hashref برای پیکربندی جهانی، یک hashref برای
پیکربندی هدف
نحو فایل پیکربندی به صورت زیر است:
globaloption: ارزش
targetoption[targetname]: مقدار
پیشوند*extglobal: مقدار
پیشوند*exttarget[target2]: مقدار
به عنوان مثال
workdir: /var/stat/mrtg
target[router1]: 2:[ایمیل محافظت شده]
14 همه*ستون: 2
هش پیکربندی جهانی دارای ساختار است
$globalcfg{configoption} = 'value'
هش پیکربندی هدف دارای ساختار است
$targetcfg{configoption}{targetname} = 'ارزش'
برای اطلاعات بیشتر در مورد نحو پیکربندی MRTG به مرجع mrtg مراجعه کنید.
"readcfg" می تواند دو آرگومان اضافی برای گسترش نحو فایل پیکربندی بگیرد. این
به برنامه ها اجازه می دهد تا پیکربندی خود را در فایل پیکربندی mrtg قرار دهند. پنجمین
آرگومان پیشوند پسوند است، آرگومان ششم یک هش با the است
چک قوانین برای این تنظیمات افزونه. به عنوان مثال اگر پیشوند "14all" باشد "readcfg" خواهد شد
خطوط پیکربندی که با "14all*" شروع میشوند را بررسی کنید، یعنی همه خطوط مانند
14 همه*ستون: 2
14all*graphsize[target3]: 500 200
برخلاف قوانین موجود در %extrules. فرمت این هش به این صورت است:
$extrules{option} = [sub{$_[0] =~ m/^\d+$/}، زیر{"پیام خطا برای $_[0]"}]
به عنوان مثال
$extrules{option}[0] -> یک عبارت آزمایشی
$extrules{option}[1] -> پیام خطا در صورت شکست تست
قسمت اول آرایه یک عبارت perl برای تست مقدار گزینه است. در
test می تواند به این مقدار در متغیر "$arg" دسترسی داشته باشد. قسمت دوم آرایه یک است
پیغام خطا برای نمایش در صورت شکست تست. مقدار شکست خورده را می توان با ادغام کرد
با استفاده از متغیر "$arg".
تنظیمات پیکربندی با پیشوندی متفاوت از پیشوندی که در تماس "readcfg" داده شده است
بررسی نشده اما درج شده است %globalcfg و %targetcfg. تنظیمات پیشوندی خود را حفظ می کنند
پیشوند در هش های پیکربندی:
$targetcfg{'14all*graphsize'}{'target3'} = '500 200'
"cfgcheck"
"cfgcheck(\@target_names، \%globalcfg، \%targetcfg، \@parsed_targets)"
پیکربندی خوانده شده توسط "readcfg" را بررسی می کند. مقادیر موجود در پیکربندی را بررسی می کند
خطاهای نحوی و/یا معنایی برای برخی از گزینه ها پیش فرض ها را تنظیم می کند. را تجزیه می کند
"target[...]" را انتخاب می کند و آرایه @parsed_targets را برای توابع mrtg آماده می کند.
سه آرگومان اول مانند "readcfg" هستند. استدلال چهارم یک است
arrayref که با defs هدف تجزیه شده پر می شود.
"cfgcheck" مقادیر تنظیمات هدف را تبدیل می کند گزینه های، به عنوان مثال
options[router1]: bits، growright
به هش:
$targetcfg{'option'}{'bits'}{'router1'} = 1
$targetcfg{'option'}{'growright'}{'router1'} = 1
این کار توسط "readcfg" انجام نمی شود، بنابراین اگر از "cfgcheck" استفاده نمی کنید، باید بررسی کنید
متغیر اسکالر $targetcfg{'option'}{'router1'} (MRTG اجازه می دهد تا گزینه ها از هم جدا شوند
با فاصله یا ',').
"اطمینان از SL"
"ensureSL(\$pathname)"
بررسی می کند که نام خانوادگی شامل جداکننده های دوطرفه نیست و با یک مسیر به پایان می رسد
جدا کننده از $MRTG_lib::SL به عنوان جداکننده مسیر استفاده می کند که بسته به آن / یا \ خواهد بود
سیستم عامل
"log2rrd"
"log2rrd ($router،\%globalcfg،\%targetcfg)"
تبدیل فایل log به فرمت rrd. به rdtool نیاز دارد.
"داتستر"
"تاریخ (زمان)"
زمان داده شده در آرگومان را به عنوان یک رشته تاریخ با فرمت زیبا برمی گرداند. بحث و جدل
باید در قالب زمان یونیکس باشد (ثانیه از 1970-1-1).
"مهر زمان"
"timestamp()"
یک رشته نشان دهنده زمان فعلی را برگردانید.
"setup_loghandlers"
"setup_loghandlers(نام فایل)"
کنترلکنندههای سیگنال را برای __DIE__ و __WARN__ نصب کنید تا خطاها در حد مشخص شده پیش بروند.
مقصد اگر نام فایل "Eventlog" باشد mrtg به ثبت کننده رویداد ویندوز وارد می شود.
"expistr"
"expistr(زمان)"
زمان داده شده در آرگومان فرمت شده مناسب برای HTTP Expire-Headers را برمی گرداند.
"create_pid"
"create_pid()"
یک فایل pid برای دیمون mrtg ایجاد می کند
"من را شیطانی کن"
"demonize_me()"
برنامه در حال اجرا را در پس زمینه قرار می دهد و آن را از ترمینال جدا می کند.
"populatecache"
"populatecache(\%confcache، $host، $read، $snmpoptshash)"
متغیرهای SNMP را می خواند ifDescr, ipAdEntIfIndex, ifPhysAddress, ifName از میزبان
و مقادیر را در آن ذخیره می کند % confcache به شرح زیر است:
$confcache{$host}{'Descr'}{ifDescr}{oid} = (ifDescr یا 'Dup')
$confcache{$host}{'IP'}{ipAdEntIfIndex}{oid} = (ipAdEntIfIndex یا 'Dup')
$confcache{$host}{'Eth'}{ifPhysAddress}{oid} = (ifPhysAddress یا 'Dup')
$confcache{$host}{'Name'}{ifName}{oid} = (ifName یا 'Dup')
$confcache{$host}{'Type'}{ifType}{oid} = (ifType یا 'Dup')
اگر مقداری چندین بار بازیابی شده باشد، مقدار (در سمت راست =) 'Dup' است.
مقدار دیگر بازیابی شده
"readconfcache"
"$confcache من = readconfcache($file)"
confcache را از یک فایل از قبل بارگیری کنید.
"readfromconfcache"
"writeconfcache($confcache,$file)"
confcache فعلی را در یک فایل ذخیره کنید.
"writeconfcache"
"writeconfcache($confcache,$file)"
confcache فعلی را در یک فایل ذخیره کنید.
"حافظه انبار"
"storeincache($confcache,$host,$method,$key,$value)"
"خواندن از کش"
"readfromcache($confcache,$host,$method,$key)"
"clearfromcache"
"clearfromcache($confcache,$host)"
"اشکال زدایی"
"اشکال زدایی($type، $message)"
را چاپ می کند پیام در STDERR اگر اشکال زدایی برای نوع فعال باشد نوع. یک نوع اشکال زدایی است
فعال اگر نوع در آرایه @main::DEBUG است.
AUTHORS
راینر باویدامن[ایمیل محافظت شده]>
(این صفحه شخصی)
با استفاده از خدمات onworks.net از mrtglib به صورت آنلاین استفاده کنید