Erlang 21

snmp




erlang

snmp

मॉड्यूल

SNMP

मॉड्यूल सारांश

इंटरफ़ेस SNMP टूलकिट के लिए कार्य करता है

विवरण

मॉड्यूल एसएनएमपी में SNMP टूलकिट के लिए इंटरफ़ेस फ़ंक्शन शामिल हैं।

सामान्य डेटा प्रकार

नीचे दिए गए कार्यों में निम्नलिखित डेटा-प्रकार का उपयोग किया जाता है:

  • datetime() = {date(), time()}

    अधिक जानकारी के लिए calendar देखें।

निर्यात

config () -> ठीक है | {त्रुटि, कारण}

एक सरल इंटरैक्टिव कॉन्फ़िगरेशन उपकरण। सरल कॉन्फ़िगरेशन फ़ाइलों को उत्पन्न किया जा सकता है, लेकिन अधिक जटिल कॉन्फ़िगरेशन अभी भी मैन्युअल रूप से संपादित किया जाना है।

उपकरण एक पाठ आधारित उपकरण है जो कुछ प्रश्न पूछता है और sys.config और *.conf sys.config फाइलें उत्पन्न करता है।

ध्यान दें कि यदि एप्लिकेशन संस्करण 3 का समर्थन करेगा, तो इस फ़ंक्शन (पासवर्ड पीढ़ी) को चलाने से पहले क्रिप्टो ऐप को शुरू करना होगा।

ध्यान दें कि एजेंट और प्रबंधक के लिए कुछ कॉन्फ़िगरेशन फ़ाइलें समान नाम साझा करती हैं। इसका मतलब है कि उन्हें विभिन्न निर्देशिकाओं में संग्रहीत किया जाना है!

start () -> ठीक है | {त्रुटि, कारण}
start (प्रकार) -> ठीक | {त्रुटि, कारण}

प्रकार

SNMP अनुप्रयोग शुरू करता है।

अधिक जानकारी के लिए application देखें।

start_agent () -> ठीक | {त्रुटि, कारण}
start_agent (प्रकार) -> ठीक | {त्रुटि, कारण}

प्रकार

एसएनएमपी एप्लिकेशन में कई इकाइयां शामिल हैं, जिनमें से एजेंट एक है। यह फ़ंक्शन एप्लिकेशन की एजेंट इकाई शुरू करता है।

ध्यान दें कि वास्तव में एजेंट को इस तरह से शुरू करने का एकमात्र तरीका आवेदन शुरू करने के बाद एजेंट से संबंधित कॉन्फ़िगरेशन जोड़ना है (उदाहरण के लिए यह सामान्य एप्लिकेशन कॉन्फ़िगरेशन का हिस्सा नहीं हो सकता; sys.config)। यह कॉलिंग द्वारा किया जाता है: application:set_env(snmp, agent, Conf)

Type लिए डिफ़ॉल्ट मान normal

start_manager () -> ठीक | {त्रुटि, कारण}
start_manager (प्रकार) -> ठीक | {त्रुटि, कारण}

प्रकार

एसएनएमपी एप्लिकेशन में कई इकाइयां शामिल हैं, जिनमें से प्रबंधक एक है। यह फ़ंक्शन एप्लिकेशन की प्रबंधक इकाई शुरू करता है।

ध्यान दें कि वास्तव में प्रबंधक को इस तरह से शुरू करने का एकमात्र तरीका आवेदन शुरू करने के बाद प्रबंधक से संबंधित कॉन्फ़िगरेशन जोड़ना है (उदाहरण के लिए यह सामान्य एप्लिकेशन कॉन्फ़िगरेशन का हिस्सा नहीं हो सकता; sys.config)। यह कॉलिंग: application:set_env(snmp, manager, Conf) द्वारा किया जाता है।

Type लिए डिफ़ॉल्ट मान normal

date_and_time () -> DateAndTime

प्रकार

डेटा प्रकार DateAndTime के रूप में वर्तमान तिथि और समय लौटाता है, जैसा कि RFC1903 में निर्दिष्ट है। यह एक OCTET STRING है।

date_and_time_to_universal_time_dst (DateAndTime) -> [utc ()]

प्रकार

संभावित सार्वभौमिक समय की सूची में एक DateAndTime सूची सम्मिलित करता है। कैलेंडर (3) में परिभाषित समान प्रारूप पर सार्वभौमिक समय मान।

date_and_time_to_string (DateAndTime) -> स्ट्रिंग ()
date_and_time_to_string (DateAndTime, मान्य) -> स्ट्रिंग ()

प्रकार

RFC2579 में DISPLAY-HINT परिभाषा के अनुसार एक DateAndTime सूची को एक मुद्रण योग्य स्ट्रिंग में परिवर्तित करता है।

सत्यापन मज़ा, Validate , DateAndTime तर्क के अधिक "लचीले" सत्यापन के लिए अनुमति देता है। जब भी डेटा RFC2579 का पालन नहीं करने के लिए पाया जाता है, तो मज़े को अधिक "शिथिलता" की अनुमति देने के लिए कहा जाता है। Validate मस्ती पर अधिक जानकारी के लिए validate_date_and_time/2 फ़ंक्शन देखें।

date_and_time_to_string2 (DateAndTime) -> स्ट्रिंग ()

प्रकार

RFC2579 में DISPLAY-HINT परिभाषा के अनुसार एक DateAndTime सूची को प्रिंट करने योग्य स्ट्रिंग में परिवर्तित करता है, इस विस्तार के साथ कि यह मानों को "UTC से घंटे" = 14 के साथ "UTC से मिनट" 0 भी देता है।

local_time_to_date_and_time_dst (स्थानीय) -> [DateAndTime]

प्रकार

संभावित DateAndTime सूची (ओं) की सूची के लिए एक स्थानीय समय मान प्रदान करता है। कैलेंडर (3) में परिभाषित समान प्रारूप पर स्थानीय समय मान।

Universal_time_to_date_and_time (UTC) -> DateAndTime

प्रकार

एक DateAndTime सूची में एक सार्वभौमिक समय मान देता है। कैलेंडर (3) में परिभाषित समान प्रारूप पर सार्वभौमिक समय मान।

validate_date_and_time (DateAndTime) -> बूल ()
validate_date_and_time (DateAndTime, मान्य) -> बूल ()

प्रकार

जाँचता है कि क्या DateAndTime RFC2579 में निर्दिष्ट सही DateAndTime मान है। DateAndTime मान को मान्य करने के लिए इस फ़ंक्शन का उपयोग इंस्ट्रूमेंटेशन फ़ंक्शन में किया जा सकता है।

सत्यापन मज़ा, Validate , DateAndTime तर्क के अधिक "लचीले" सत्यापन के लिए अनुमति देता है। जब भी डेटा RFC2579 का पालन नहीं करने के लिए पाया जाता है, तो मज़े को अधिक "शिथिलता" सत्यापन की अनुमति देने के लिए कहा जाता है। सत्यापन मज़ा के लिए इनपुट इस तरह दिखता है:

Kind             Data
--------------   ----------------------
year             {Year1, Year2}
month            Month
day              Day
hour             Hour
minute           Minute
seconds          Seconds
deci_seconds     DeciSeconds
diff             [Sign, Hour, Minute]
valid_date       {Year, Month, Day}
	
passwd2localized_key (Alg, Passwd, EngineID) -> कुंजी

प्रकार

MD5 och SHA का उपयोग करके एक कुंजी उत्पन्न करता है जिसे प्रमाणीकरण या गोपनीयता कुंजी के रूप में उपयोग किया जा सकता है। EngineID के लिए कुंजी स्थानीयकृत है।

octet_string_to_bits (S) -> वैल

प्रकार

OCTET-STRING के प्रकार OCTET-STRING मान को परिवर्तित करने के लिए उपयोगिता कार्य।

bit_to_octet_string (B) -> वैल

प्रकार

BITS के प्रकार को OCTET-STRING परिवर्तित करने के लिए उपयोगिता कार्य।

read_mib (फाइलनाम) -> {ठीक है, mib ()} | {त्रुटि, कारण}

प्रकार

संकलित मिब पढ़ें।

log_to_txt (LogDir, Mibs, OutFile, LogName, LogFile) -> ठीक है | {त्रुटि, कारण}
log_to_txt (LogDir, Mibs, OutFile, LogName, LogFile, Block | प्रारंभ) -> ठीक है {त्रुटि, कारण}
log_to_txt (LogDir, Mibs, OutFile, LogName, LogFile, Start, Block | Stop) -> ok {त्रुटि, कारण}
log_to_txt (LogDir, Mibs, OutFile, LogName, LogFile, Start, Stop, Block) -> ok | {त्रुटि, कारण}

प्रकार

एक ऑडिट ट्रेल लॉग को एक पठनीय पाठ फ़ाइल में परिवर्तित करता है, जहां प्रत्येक आइटम में एक अनुगामी TAB वर्ण होता है, और एक आइटम के शरीर में किसी भी TAB चरित्र को ESC TAB द्वारा प्रतिस्थापित किया जाता है।

फ़ंक्शन को एक रनिंग सिस्टम पर या संपूर्ण लॉग डायरेक्टरी की प्रतिलिपि बनाकर और इस फ़ंक्शन को कॉल करके उपयोग किया जा सकता है। एसएनएमपी एमआईबी जानकारी प्रदान करने के लिए चलना चाहिए।

LogDir उस निर्देशिका का नाम है जहां ऑडिट ट्रेल लॉग संग्रहीत है। Mibs का उपयोग करने के लिए Mibs की एक सूची है। फ़ंक्शन Mibs में जानकारी का उपयोग करता है उदाहरण के लिए वस्तु पहचानकर्ताओं को उनके प्रतीकात्मक नाम में परिवर्तित करने के लिए। OutFile जेनरेट की गई टेक्स्ट-फाइल का नाम है। LogName लॉग का नाम है, LogFile लॉग फ़ाइल का नाम है। Start प्रारंभ (पहली) तिथि और समय है जिसमें से लॉग ईवेंट परिवर्तित हो जाएंगे और Stop स्टॉप (अंतिम) दिनांक और समय है जिसमें लॉग ईवेंट परिवर्तित हो जाएंगे। Block तर्क इंगित करता है कि क्या रूपांतरण के दौरान लॉग को अवरुद्ध किया जाना चाहिए। बड़े लॉग्स को कनवर्ट करते समय यह उपयोगी हो सकता है (जब अन्यथा लॉग रूपांतरण के दौरान लपेट सकता है)। true अवहेलना।

एक ऑडिट ट्रेल लॉग टेक्स्ट आइटम का प्रारूप इस प्रकार है:

Tag Addr - Community [TimeStamp] Vsn
PDU

जहां Tag request , response , report , trap या inform ; Addr IP:Port (या कॉमा स्पेस अलग की सूची ऐसी); Community समुदाय पैरामीटर (SNMP संस्करण v1 और v2), या SecLevel:"AuthEngineID":"UserName" (SNMP v3); Vsn एक दिनांक और समय टिकट है, और Vsn SNMP संस्करण है। PDU प्रोटोकॉल डेटा यूनिट का एक पाठ संस्करण है। Vsn और PDU बीच एक नई लाइन है।

log_to_io (LogDir, Mibs, LogName, LogFile) -> ठीक है | {त्रुटि, कारण}
log_to_io (LogDir, Mibs, LogName, LogFile, Block | Start) -> ok | {त्रुटि, कारण}
log_to_io (LogDir, Mibs, LogName, LogFile, Start, Block | Stop) -> ok {त्रुटि, कारण}
log_to_io (LogDir, Mibs, LogName, LogFile, Start, Stop, Block) -> ठीक है | {त्रुटि, कारण}

प्रकार

एक ऑडिट ट्रेल को एक पठनीय प्रारूप में परिवर्तित करता है और इसे stdio पर प्रिंट करता है। अधिक जानकारी के लिए log_to_txt ऊपर देखें।

change_log_size (LogName, NewSize) -> ठीक है | {त्रुटि, कारण}

प्रकार

ऑडिट ट्रेल लॉग के लॉग आकार को बदलता है। ऑडिट ट्रेल लॉग फ़ंक्शन का उपयोग करने के लिए एप्लिकेशन को कॉन्फ़िगर किया जाना चाहिए। लॉग आकार बदलने के तरीके के विवरण के लिए कृपया कर्नेल संदर्भ पुस्तिका में disk_log (3) देखें।

परिवर्तन स्थायी है, जब तक कि लॉग हटाया नहीं जाता है। इसका मतलब है, रिबूट के पार लॉग आकार को याद किया जाता है।

Print_version_info () -> शून्य ()
Print_version_info (उपसर्ग) -> शून्य ()

प्रकार

यूटिलिटी फ़ंक्शन (ओं) को versions1 फ़ंक्शन द्वारा उत्पन्न संस्करणों की जानकारी के एक स्वरूपित प्रिंटआउट का उत्पादन करने के लिए

यह करने के समान है, जैसे:

{ok, V} = snmp:versions1(), 
snmp:print_versions(V).
        
संस्करणों 1 () -> {ठीक है, जानकारी} | {त्रुटि, कारण}
version2 () -> {ठीक है, जानकारी} | {त्रुटि, कारण}

प्रकार

कुछ सिस्टम और एप्लिकेशन जानकारी को पुनः प्राप्त करने के लिए उपयोग किए जाने वाले उपयोगिता कार्य

दो कार्यों के बीच अंतर यह है कि वे कैसे जांचने के लिए मॉड्यूल प्राप्त करते हैं। application:get_key ऐप-फ़ाइल का उपयोग करता है और application:get_key फ़ंक्शन application:get_key का उपयोग करता है application:get_key

Print_versions (VersionInfo) -> शून्य ()
Print_versions (उपसर्ग, संस्करणइन्फो) -> शून्य ()

प्रकार

यूटिलिटी फ़ंक्शन versions1 और versions2 फ़ंक्शन द्वारा उत्पन्न संस्करणों की जानकारी का एक स्वरूपित प्रिंटआउट तैयार करने के लिए

उदाहरण:

{ok, V} = snmp:versions1(), 
snmp:print_versions(V).
        
enable_trace () -> शून्य ()

एक dbg ट्रेसर शुरू करता है जो घटनाओं को ट्रेसआउट (सादे io का उपयोग करके: मामूली प्रारूपण के बाद प्रारूप) को ट्रेस करता है।

विकलांगता_ट्रेस () -> शून्य ()

ट्रेसर को रोकें।

set_trace (लक्ष्य) -> शून्य ()

प्रकार

इस फ़ंक्शन का उपयोग दिए गए मॉड्यूल या मॉड्यूल के लिए फ़ंक्शन (फ़ंक्शन) पर डिफ़ॉल्ट ट्रेस सेट करने के लिए किया जाता है। ट्रेस का दायरा सभी निर्यात किए गए कार्य (कॉल जानकारी और वापसी मूल्य दोनों) होगा। टाइमस्टैम्प जानकारी भी शामिल होगी।

रीसेट_ट्रेस (लक्ष्य) -> शून्य ()

प्रकार

इस फ़ंक्शन का उपयोग दिए गए मॉड्यूल (एस) के लिए ट्रेस (अक्षम) ट्रेस करने के लिए किया जाता है।

सेट_ट्रेस (लक्ष्य, ऑप्स) -> शून्य ()

प्रकार

इस फ़ंक्शन का उपयोग दिए गए मॉड्यूल या मॉड्यूल के लिए फ़ंक्शन (एस) पर ट्रेस सेट करने के लिए किया जाता है।

नीचे दिया गया उदाहरण मॉड्यूल snmp_generic के निर्यात किए गए कार्यों (डिफ़ॉल्ट) और मॉड्यूल snmp_generic सभी कार्यों पर ट्रेस सेट करता है। रिटर्न मान (जो डिफ़ॉल्ट है) और दोनों मामलों में टाइमस्टैम्प (जो डिफ़ॉल्ट भी है):

snmp:enable_trace(),
snmp:set_trace([snmp_generic, 
                          {snmp_generic_mnesia, [{scope, all_functions}]}]),
.
.
.
          snmp:set_trace(snmp_generic, disable),
.
.
.
snmp:disable_trace(),
	

यह भी देखें

कैलेंडर (3)