यह कमांड mrtglib है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
MRTG_lib.pm - MRTG और समर्थन स्क्रिप्ट के लिए लाइब्रेरी
SYNOPSIS
MRTG_lib का उपयोग करें;
मेरा ($configfile, @target_names, %globalcfg, %targetcfg);
readcfg($configfile, \@target_names, \%globalcfg, \%targetcfg);
मेरा (@parsed_targets);
cfgcheck(\@target_names, \%globalcfg, \%targetcfg, \@parsed_targets);
वर्णन
MRTG_lib मल्टी राउटर ट्रैफिक ग्राफर MRTG का हिस्सा है। इसे एमआरटीजी से अलग कर दिया गया था
अन्य प्रोग्रामों को समान कॉन्फ़िग फ़ाइलों का आसानी से उपयोग करने की अनुमति दें। MRTG_lib का मुख्य भाग है
कॉन्फ़िग फ़ाइल पार्सर लेकिन कुछ अन्य फ़ंक्शंस भी हैं।
$MRTG_lib::OS
ओएस का प्रकार: विन, यूनिक्स, वीएमएस
$MRTG_lib::SL
स्लैश वर्तमान ओएस में.
$MRTG_lib::PS
PATH वेरिएबल में पथ विभाजक
"रीडसीएफजी"
"readcfg($file, \@targets, \%globalcfg, \%targetcfg [, $prefix, \%extrules])"
एक कॉन्फ़िग फ़ाइल को पढ़ता है, उसे पार्स करता है और कुछ ऐरे और हैश भरता है। अनिवार्य
तर्क हैं: कॉन्फ़िगरेशन फ़ाइल का नाम, एक सरणी का संदर्भ जो भरा जाएगा
लक्ष्य नामों की सूची के साथ, वैश्विक कॉन्फ़िगरेशन के लिए एक हैशरेफ, के लिए एक हैशरेफ
लक्ष्य विन्यास.
कॉन्फ़िगरेशन फ़ाइल सिंटैक्स है:
वैश्विक विकल्प: मूल्य
लक्ष्यविकल्प[लक्ष्यनाम]: मान
aprefix*extglobal: मान
aprefix*exttarget[target2]: मान
उदाहरण के लिए
कार्यदिर: /var/stat/mrtg
लक्ष्य[राउटर1]: 2:public@router1.local.net
14सभी*कॉलम: 2
वैश्विक कॉन्फ़िगरेशन हैश की संरचना है
$globalcfg{configoption} = 'मूल्य'
लक्ष्य कॉन्फिग हैश की संरचना है
$targetcfg{configoption}{targetname} = 'मान'
एमआरटीजी कॉन्फ़िगरेशन सिंटैक्स के बारे में अधिक जानकारी के लिए एमआरटीजी-संदर्भ देखें।
कॉन्फ़िगरेशन फ़ाइल सिंटैक्स को विस्तारित करने के लिए "readcfg" दो अतिरिक्त तर्क ले सकता है। यह
प्रोग्रामों को अपने कॉन्फ़िगरेशन को mrtg कॉन्फ़िगरेशन फ़ाइल में डालने की अनुमति देता है। पांचवा
तर्क एक्सटेंशन का उपसर्ग है, छठा तर्क इसके साथ एक हैश है
इन एक्सटेंशन सेटिंग्स के लिए जाँच नियम। उदाहरण के लिए यदि उपसर्ग "14all" है तो "readcfg" होगा
उन कॉन्फ़िगरेशन पंक्तियों की जाँच करें जो "14all*" से शुरू होती हैं, अर्थात सभी पंक्तियाँ
14सभी*कॉलम: 2
14सभी*ग्राफआकार[लक्ष्य3]: 500 200
%extrules में नियमों के विरुद्ध। इस हैश का प्रारूप है:
$extrules{option} = [sub{$_[0] =~ m/^\d+$/}, उप{"$_[0] के लिए त्रुटि संदेश"}]
यानी
$extrules{option}[0] -> एक परीक्षण अभिव्यक्ति
$extrules{option}[1] -> यदि परीक्षण विफल हो जाता है तो त्रुटि संदेश
विकल्प के मूल्य का परीक्षण करने के लिए सरणी का पहला भाग एक पर्ल अभिव्यक्ति है।
परीक्षण इस मान को वेरिएबल "$arg" में एक्सेस कर सकता है। सारणी का दूसरा भाग एक है
परीक्षण विफल होने पर प्रदर्शित होने वाला त्रुटि संदेश। विफल मान को इसके द्वारा एकीकृत किया जा सकता है
वेरिएबल "$arg" का उपयोग करना।
"रीडसीएफजी" कॉल में दिए गए उपसर्ग से भिन्न उपसर्ग के साथ कॉन्फ़िगरेशन सेटिंग्स हैं
चेक नहीं किया गया लेकिन डाला गया % वैश्विक सीएफजी और %targetcfg. प्रीफ़िक्स्ड सेटिंग्स उन्हें बनाए रखती हैं
कॉन्फिग हैश में उपसर्ग:
$targetcfg{'14all*graphsize'}{'target3'} = '500 200'
"सीएफजीचेक"
"cfgcheck(\@target_names, \%globalcfg, \%targetcfg, \@parsed_targets)"
"readcfg" द्वारा पढ़े गए कॉन्फ़िगरेशन की जाँच करता है। कॉन्फ़िगरेशन में मानों की जाँच करता है
वाक्यात्मक और/या शब्दार्थ संबंधी त्रुटियाँ। कुछ विकल्पों के लिए डिफ़ॉल्ट सेट करता है। पार्स करता है
"लक्ष्य[...]" विकल्प और mrtg फ़ंक्शंस के लिए तैयार @parsed_targets सरणी को भरता है।
पहले तीन तर्क "readcfg" के समान हैं। चौथा तर्क एक है
arrayref जो पार्स किए गए लक्ष्य defs से भरा जाएगा।
"cfgcheck" लक्ष्य सेटिंग्स के मानों को परिवर्तित करता है विकल्पों, उदा
विकल्प[राउटर1]: बिट्स, ग्रोराइट
एक हैश के लिए:
$targetcfg{'option'}{'bits'}{'router1'} = 1
$targetcfg{'option'}{'growright'}{'router1'} = 1
यह "रीडसीएफजी" द्वारा नहीं किया जाता है, इसलिए यदि आप "सीएफजीचेक" का उपयोग नहीं करते हैं तो आपको इसकी जांच करनी होगी
अदिश चर $targetcfg{'option'}{'router1'} (एमआरटीजी विकल्पों को अलग करने की अनुमति देता है
स्थान या ',') द्वारा।
"सुनिश्चित करें"
"सुनिश्चित करेंSL(\$पथनाम)"
जाँचता है कि पथ नाम इसमें दोहरे पथ विभाजक नहीं हैं और एक पथ के साथ समाप्त होता है
विभाजक. यह पथ विभाजक के रूप में $MRTG_lib::SL का उपयोग करता है जो / या \ पर निर्भर करेगा
ओएस।
"लॉग2आरआरडी"
"log2rrd ($राउटर,\%ग्लोबलcfg,\%targetcfg)"
लॉग फ़ाइल को आरआरडी प्रारूप में बदलें। rrdtool की आवश्यकता है.
"डेटेस्ट्र"
"दिनांक(समय)"
तर्क में दिए गए समय को एक अच्छी तरह से तैयार की गई दिनांक स्ट्रिंग के रूप में लौटाता है। तर्क
UNIX समय प्रारूप में होना चाहिए (1970-1-1 से सेकंड)।
"टाइमस्टैम्प"
"टाइमस्टैम्प()"
वर्तमान समय का प्रतिनिधित्व करने वाली एक स्ट्रिंग लौटाएँ।
"setup_loghandlers"
"setup_loghandlers(फ़ाइल नाम)"
त्रुटियों को निर्दिष्ट करने के लिए __DIE__ और __WARN__ के लिए सिग्नलहैंडलर स्थापित करें
गंतव्य। यदि फ़ाइल का नाम 'इवेंटलॉग' है तो एमआरटीजी विंडोज़ इवेंट लॉगर पर लॉग इन करेगा।
"expistr"
"expistr(समय)"
HTTP एक्सपायर-हेडर के लिए उपयुक्त स्वरूपित तर्क में दिया गया समय लौटाता है।
"create_pid"
"create_pid()"
mrtg डेमॉन के लिए एक pid फ़ाइल बनाता है
"मुझे शैतान बनाओ"
"दानव_मुझे()"
चल रहे प्रोग्राम को टर्मिनल से अलग करके बैकग्राउंड में रख देता है।
"आबादी कैश"
"populatorcache(\%confcache, $host, $reread, $snmpoptshash)"
एसएनएमपी चर पढ़ता है ifDescr, ipAdEntIfIndex, ifPhysAddress, यदिनाम से मेजबान
और मूल्यों को संग्रहीत करता है %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')
यदि कोई मान कई बार पुनर्प्राप्त किया गया था, तो मान (= के दाईं ओर) 'डुप' है,
पुनर्प्राप्त मूल्य अन्यथा।
"readconfcache"
"मेरा $confcache = readconfcache($फ़ाइल)"
किसी फ़ाइल से confcache को प्रीलोड करें।
"readfromconfcache"
"writeconfcache($confcache,$फ़ाइल)"
वर्तमान confcache को एक फ़ाइल में संग्रहीत करें।
"writeconfcache"
"writeconfcache($confcache,$फ़ाइल)"
वर्तमान confcache को एक फ़ाइल में संग्रहीत करें।
"स्टोरइनकैश"
"storeincache($confcache,$host,$विधि,$कुंजी,$मूल्य)"
"कैश से पढ़ें"
"readfromcache($confcache,$host,$method,$key)"
"कैश साफ़ करें"
"clearfromcache($confcache,$host)"
"डीबग"
"डीबग ($ प्रकार, $ संदेश)"
प्रिंट करता है message यदि प्रकार के लिए डिबगिंग सक्षम है तो STDERR पर टाइप. एक डिबग प्रकार है
सक्षम यदि टाइप सरणी @main::DEBUG में है।
लेखक
रेनर बाविडमैनरेनर.बाविडमैन@rz.uni-ulm.de>
(यह मैनपेज)
onworks.net सेवाओं का उपयोग करके ऑनलाइन mrtglib का उपयोग करें