Erlang 21

snmpa




erlang

snmpa

मॉड्यूल

snmpa

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

SNMP टूलकिट एजेंट के इंटरफ़ेस फ़ंक्शंस

विवरण

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

जानकारी का प्रकार

oid() = [byte()] 
atl_type() = read | write | read_write
notification_delivery_info() = #snmpa_notification_delivery_info{}

oid() प्रकार का उपयोग ASN.1 OBJECT IDENTIFIER का प्रतिनिधित्व करने के लिए किया जाता है।

रिकॉर्ड snmpa_notification_delivery_info में निम्नलिखित फ़ील्ड शामिल हैं:

tag = term()

एक उपयोगकर्ता परिभाषित पहचान जो इस अधिसूचना को दर्शाती है ऑपरेशन भेजती है।

mod = module()

snmpa_notification_delivery_info_receiver व्यवहार को लागू करने snmpa_notification_delivery_info_receiver एक मॉड्यूल। इस मॉड्यूल के जानकारी कार्यों को डिलीवरी के विभिन्न चरणों में बुलाया जाएगा।

extra = term()

यह कोई भी अतिरिक्त जानकारी है जिसे उपयोगकर्ता कॉलबैक मॉड्यूल में कार्य करने के लिए आपूर्ति करना चाहता है।

निर्यात

add_agent_caps (SysORID, SysORDescr) -> SysORIndex

प्रकार

इस फ़ंक्शन का उपयोग एजेंट में अतिसंवेदनशील के लिए AGENT-CAPABILITY विवरण जोड़ने के लिए किया जा सकता है। तालिका SNMPv2-MIB में परिभाषित की गई है।

del_agent_caps (SysORIndex) -> शून्य ()

प्रकार

इस फ़ंक्शन का उपयोग एजेंट में अतिसंवेदनशील के लिए एजेंट-क्षमता कथन को हटाने के लिए किया जा सकता है। यह तालिका SNMPv2-MIB में परिभाषित की गई है।

get_agent_caps () -> [[SysORIndex, SysORID, SysORDescr, SysORUpTime]]

प्रकार

एजेंट में सभी एजेंडा-कैपिटलबिलिटी स्टेटमेंट्स को रिटर्न करता है। यह तालिका SNMPv2-MIB में परिभाषित की गई है।

get (Agent, Vars) -> मूल्य | {त्रुटि, कारण}
get (Agent, Vars, Context) -> मान | {त्रुटि, कारण}

प्रकार

एजेंट पर GET ऑपरेशन करता है। सभी भरी हुई MIB ऑब्जेक्ट इस ऑपरेशन में दिखाई दे रहे हैं। एजेंट इसी इंस्ट्रूमेंटेशन फ़ंक्शन को कॉल करता है जैसे कि यह एक प्रबंधक से आने वाला GET अनुरोध था।

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

get_next (एजेंट, वर्स) -> मूल्य | {त्रुटि, कारण}
get_next (एजेंट, वर्सेस, संदर्भ) -> मूल्य | {त्रुटि, कारण}

प्रकार

एजेंट पर GET-NEXT ऑपरेशन करता है। सभी भरी हुई MIB ऑब्जेक्ट इस ऑपरेशन में दिखाई दे रहे हैं। एजेंट इसी इंस्ट्रूमेंटेशन फ़ंक्शन को कॉल करता है जैसे कि यह एक प्रबंधक से आने वाला GET अनुरोध था।

ध्यान दें कि अनुरोध विशिष्ट पैरामीटर (जैसे कि snmpa:current_request_id/0 इस फ़ंक्शन का उपयोग करने पर इंस्ट्रूमेंटेशन फ़ंक्शन के लिए सुलभ नहीं हैं।

बैकअप (BackupDir) -> ठीक | {त्रुटि, कारण}
बैकअप (एजेंट, BackupDir) -> ठीक है | {त्रुटि, कारण}

प्रकार

एजेंट (जैसे स्थानीय-डीबी, mib-data और vacm) द्वारा संभाला बैकअप लगातार / स्थायी डेटा।

मानेसिया द्वारा संग्रहीत डेटा को संभाला नहीं जाता है।

BackupDir DbDir के समान नहीं हो सकता।

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

जानकारी () -> [{कुंजी, मान}]
जानकारी (एजेंट) -> [{कुंजी, मूल्य}]

प्रकार

एक सूची (एक शब्दकोश) देता है जिसमें एजेंट के बारे में जानकारी होती है। जानकारी में लोड किए गए MIB, पंजीकृत उप-एजेंट, स्मृति आवंटन के बारे में कुछ जानकारी शामिल है।

संस्करण 4.4 के रूप में जानकारी का प्रारूप बदल दिया गया है। जानकारी को पुराने प्रारूप में बदलने के लिए, old_info_format फ़ंक्शन को कॉल करें।

old_info_format (NewInfo) -> OldInfo

प्रकार

संस्करण 4.4 के रूप में जानकारी का प्रारूप बदल दिया गया है। इस फ़ंक्शन का उपयोग पुराने (प्री-4.4) जानकारी प्रारूप में बदलने के लिए किया जाता है।

load_mib (Mib) -> ठीक है | {त्रुटि, कारण}
load_mib (एजेंट, Mib) -> ठीक | {त्रुटि, कारण}

प्रकार

किसी एक Mib को एक एजेंट में लोड करें। MibName का नाम है, जहां संकलित mib पाया जाता है, उस पथ सहित। उदाहरण के लिए:

Dir = code:priv_dir(my_app) ++ "/mibs/",
snmpa:load_mib(snmp_master_agent, Dir ++ "MY-MIB").
load_mibs (Mibs) -> ठीक | {त्रुटि, कारण}
load_mibs (Mibs, Force) -> ठीक | {त्रुटि, कारण}
load_mibs (एजेंट, Mibs) -> ठीक | {त्रुटि, कारण}
load_mibs (एजेंट, Mibs, Force) -> ठीक | {त्रुटि, कारण}

प्रकार

एक एजेंट में Mibs लोड करें। यदि एजेंट सभी MIB को लोड नहीं कर सकता ( Force तर्क का डिफ़ॉल्ट मान false ), तो यह इंगित करेगा कि लोडिंग कहां निरस्त की गई थी। MibName का नाम है, जहां संकलित mib पाया जाता है, उस पथ सहित। उदाहरण के लिए,

Dir = code:priv_dir(my_app) ++ "/mibs/",
snmpa:load_mibs(snmp_master_agent, [Dir ++ "MY-MIB"]).

यदि Force = true तो एजेंट पिछले mib को लोड करने में विफल होने के बाद भी प्रत्येक mib को लोड करने का प्रयास जारी रखेगा। देखभाल के साथ उपयोग करें।

unload_mib (Mib) -> ठीक | {त्रुटि, कारण}
unload_mib (एजेंट, Mib) -> ठीक | {त्रुटि, कारण}

प्रकार

किसी एक Mib को किसी एजेंट से अनलोड करें।

unload_mibs (Mibs) -> ठीक है | {त्रुटि, कारण}
unload_mibs (Mibs, Force) -> ठीक | {त्रुटि, कारण}
unload_mibs (एजेंट, Mibs) -> ठीक | {त्रुटि, कारण}
unload_mibs (एजेंट, Mibs, Force) -> ठीक | {त्रुटि, कारण}

प्रकार

किसी एजेंट से Mibs को अनलोड करें। यदि यह सभी MIB को लोड नहीं कर सकता ( Force तर्क का डिफ़ॉल्ट मान false ), तो यह इंगित करेगा कि उतराई निरस्त कर दी गई थी।

यदि Force = true तो एजेंट पिछले mib को अनलोड करने में विफल होने के बाद भी प्रत्येक mib को उतारने का प्रयास जारी रखेगा। देखभाल के साथ उपयोग करें।

जो_मिब () -> मिब
जो_मिब (एजेंट) -> मिब

प्रकार

इस एजेंट में भरी हुई सभी mibs की सूची को पुनः प्राप्त करें। डिफ़ॉल्ट मास्टर एजेंट है।

whereis_mib (MibName) -> {ठीक है, MibFile} | {त्रुटि, कारण}
whereis_mib (एजेंट, MibName) -> {ठीक है, MibFile} | {त्रुटि, कारण}

प्रकार

(संकलित) mib- फ़ाइल के लिए पूर्ण पथ प्राप्त करें।

current_request_id () -> {मान, RequestId} | असत्य
current_context () -> {मूल्य, संदर्भ} | असत्य
current_community () -> {मूल्य, समुदाय} | असत्य
current_address () -> {मान, पता} | असत्य

प्रकार

एजेंट द्वारा वर्तमान में संसाधित किए जा रहे अनुरोध का आईडी, संदर्भ, समुदाय और पता प्राप्त करें।

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

enum_to_int (नाम, एनम) -> {मूल्य, इंट} | असत्य
enum_to_int (Db, नाम, Enum) -> {मान, Int} | असत्य

प्रकार

प्रतीकात्मक मान Enum को संबंधित ऑब्जेक्ट के संबंधित पूर्णांक या MIB में Name टाइप करें। MIB को लोड किया जाना चाहिए।

यदि किसी लोड किए गए MIB में ऑब्जेक्ट या प्रकार को परिभाषित नहीं किया गया है, या अगर यह प्रतीकात्मक मान को प्रगणित नहीं करता है तो false वापस कर दिया जाता है

Db प्रतीकात्मक स्टोर डेटाबेस ( get_symbolic_store_db/0 ) के लिए कॉल द्वारा प्राप्त) का एक संदर्भ है।

int_to_enum (नाम, इंट) -> {मान, Enum} | असत्य
int_to_enum (Db, नाम, इंट) -> {मान, Enum} | असत्य

प्रकार

किसी पूर्णांक के संबंधित प्रतीकात्मक मान के लिए पूर्णांक Int को कनवर्ट करता है या MIB में Name टाइप करता है। MIB को लोड किया जाना चाहिए।

यदि किसी लोड किए गए MIB में ऑब्जेक्ट या प्रकार को परिभाषित नहीं किया गया है, या अगर यह प्रतीकात्मक मान को प्रगणित नहीं करता है तो false वापस कर दिया जाता है

Db प्रतीकात्मक स्टोर डेटाबेस ( get_symbolic_store_db/0 ) के लिए कॉल द्वारा प्राप्त) का एक संदर्भ है।

name_to_oid (नाम) -> {मान, oid ()} | असत्य
name_to_oid (Db, नाम) -> {मान, oid ()} | असत्य

प्रकार

प्रतीकात्मक नाम को देखते हुए एक MIB ऑब्जेक्ट के OJJECT IDENTIFIER को देखता है। ध्यान दें, OBJECT IDENTIFIER वस्तु के लिए दिया जाता है, उदाहरण के लिए नहीं।

किसी भी लोड किए गए MIB में ऑब्जेक्ट परिभाषित नहीं है, तो false वापस आ गया है।

Db प्रतीकात्मक स्टोर डेटाबेस ( get_symbolic_store_db/0 ) के लिए कॉल द्वारा प्राप्त) का एक संदर्भ है।

oid_to_name (OID) -> {मान, नाम} | असत्य
oid_to_name (Db, OID) -> {मान, नाम} | असत्य

प्रकार

OBJECT IDENTIFIER को दिए गए एक MIB ऑब्जेक्ट का प्रतीकात्मक नाम दिखता है।

किसी भी लोड किए गए MIB में ऑब्जेक्ट परिभाषित नहीं है, तो false वापस आ गया है।

Db प्रतीकात्मक स्टोर डेटाबेस ( get_symbolic_store_db/0 ) के लिए कॉल द्वारा प्राप्त) का एक संदर्भ है।

जो_लियास्नाम () -> परिणाम

प्रकार

एजेंट को ज्ञात सभी उपनाम-नामों को पुनः प्राप्त करें।

जो_टैबल्स () -> परिणाम

प्रकार

एजेंट को ज्ञात सभी तालिकाएँ पुनर्प्राप्त करें।

जो_परिवर्तन () -> परिणाम

प्रकार

एजेंट को ज्ञात सभी चरों को पुनः प्राप्त करें।

जो_नोटबंदी () -> परिणाम

प्रकार

एजेंट को ज्ञात सभी सूचनाएँ (और जाल) को पुनः प्राप्त करें।

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

प्रकार

एक ऑडिट ट्रेल लॉग को एक पठनीय टेक्स्ट फ़ाइल में परिवर्तित करता है। "./Snmpa_log.txt" के लिए OutFile डिफॉल्ट करता है। LogName "snmpa_log" के लिए डिफॉल्ट करता है। LogFile "snmpa.log" के लिए डिफ़ॉल्ट है।

Block विकल्प इंगित करता है कि क्या रूपांतरण के दौरान लॉग को अवरुद्ध किया जाना चाहिए। बड़े लॉग्स को कनवर्ट करते समय यह उपयोगी हो सकता है (जब अन्यथा लॉग रूपांतरण के दौरान लपेट सकता है)। true अवहेलना।

अधिक जानकारी के लिए देखें snmp:log_to_txt

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

प्रकार

एक ऑडिट ट्रेल को एक पठनीय प्रारूप में परिवर्तित करता है और इसे stdio पर प्रिंट करता है। LogName "snmpa_log" के लिए डिफॉल्ट करता है। LogFile "snmpa.log" के लिए डिफ़ॉल्ट है।

Block विकल्प इंगित करता है कि क्या रूपांतरण के दौरान लॉग को अवरुद्ध किया जाना चाहिए। बड़े लॉग्स को कनवर्ट करते समय यह उपयोगी हो सकता है (जब अन्यथा लॉग रूपांतरण के दौरान लपेट सकता है)। true अवहेलना।

अधिक जानकारी के लिए देखें snmp:log_to_io

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

प्रकार

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

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

set_log_type (NewType) -> {ok, OldType} | {त्रुटि, कारण}
set_log_type (एजेंट, NewType) -> {ठीक है, OldType} | {त्रुटि, कारण}

प्रकार

रन-टाइम ऑडिट ट्रेल लॉग प्रकार बदलता है।

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

यह फ़ंक्शन मुख्य रूप से परीक्षण / डिबगिंग परिदृश्यों में उपयोगी है।

mib_of (Oid) -> {ठीक है, MibName} | {त्रुटि, कारण}
mib_of (एजेंट, Oid) -> {ठीक है, MibName} | {त्रुटि, कारण}

प्रकार

Oid अनुरूप mib ढूँढता है। यदि यह एक चर है, तो Oid होना चाहिए <Oid for var> .0 और यदि यह एक तालिका है, तो Oid को <तालिका> <प्रविष्टि> <col> <किसी भी> होना चाहिए।

me_of (Oid) -> {ठीक है, मुझे} | {त्रुटि, कारण}
me_of (एजेंट, Oid) -> {ठीक है, मुझे} | {त्रुटि, कारण}

प्रकार

Oid अनुरूप mib प्रविष्टि को ढूँढता है। यदि यह एक चर है, तो Oid होना चाहिए <Oid for var> .0 और यदि यह एक तालिका है, तो Oid को <तालिका> <प्रविष्टि> <col> <किसी भी> होना चाहिए।

अमान्य_mibs_cache () -> शून्य ()
अमान्य_mibs_cache (एजेंट) -> शून्य ()

प्रकार

Mib सर्वर कैश अमान्य करें।

कैश की संपूर्ण सामग्री हटा दी जाएगी।

enable_mibs_cache () -> शून्य ()
enable_mibs_cache (एजेंट) -> शून्य ()

प्रकार

Mib सर्वर कैश सक्षम करें।

disable_mibs_cache () -> शून्य ()
disable_mibs_cache (एजेंट) -> शून्य ()

प्रकार

Mib सर्वर कैश अक्षम करें।

जो_माइब्स_चेचे_साइज़ () -> शून्य ()
कौन सा_mibs_cache_size (एजेंट) -> शून्य ()

प्रकार

Mib सर्वर कैश के आकार को पुनः प्राप्त करें।

gc_mibs_cache () -> {ठीक है, NumElementsGCed} | {त्रुटि, कारण}
gc_mibs_cache (Agent) -> {ठीक है, NumElementsGCed} | {त्रुटि, कारण}
gc_mibs_cache (आयु) -> {ठीक है, NumElementsGCed} | {त्रुटि, कारण}
gc_mibs_cache (एजेंट, आयु) -> {ठीक है, NumElementsGCed} | {त्रुटि, कारण}
gc_mibs_cache (आयु, GcLimit) -> {ठीक है, NumElementsGCed} | {त्रुटि, कारण}
gc_mibs_cache (एजेंट, आयु, GcLimit) -> {ठीक है, NumElementsGCed} | {त्रुटि, कारण}

प्रकार

Mib सर्वर कैश gc निष्पादित करें।

मैन्युअल रूप से एक mib सर्वर कैश जीसी करता है। यह autogc विकल्प के मूल्य की परवाह किए बिना किया जा सकता है। NumElementsGCed मूल्य इंगित करता है कि वास्तव में कैश से कितने तत्व निकाले गए हैं।

enable_mibs_cache_autogc () -> शून्य ()
enable_mibs_cache_autogc (Agent) -> शून्य ()

प्रकार

Mib सर्वर कैश का स्वचालित gc सक्षम करें।

अक्षम_मिब्ज़_चेचा_आतंक () -> शून्य ()
अक्षम करें_मिस्से_चेचे_ओटोगेक (एजेंट) -> शून्य ()

प्रकार

Mib सर्वर कैश का स्वचालित gc अक्षम करें।

update_mibs_cache_age (NewAge) -> ठीक | {त्रुटि, कारण}
update_mibs_cache_age (एजेंट, NewAge) -> ठीक | {त्रुटि, कारण}

प्रकार

Mib सर्वर कैश age संपत्ति बदलें।

update_mibs_cache_gclimit (NewGcLimit) -> ok | {त्रुटि, कारण}
update_mibs_cache_gclimit (Agent, NewGCLimit) -> ठीक है | {त्रुटि, कारण}

प्रकार

gclimit server cache gclimit प्रॉपर्टी बदलें।

register_notification_filter (आईडी, मॉड, डेटा) -> ठीक | {त्रुटि, कारण}
register_notification_filter (एजेंट, आईडी, मॉड, डेटा) -> ठीक | {त्रुटि, कारण}
register_notification_filter (आईडी, मॉड, डेटा, कहां) -> ठीक | {त्रुटि, कारण}
register_notification_filter (एजेंट, आईडी, मॉड, डेटा, जहां) -> ठीक | {त्रुटि, कारण}

प्रकार

एक सूचना फ़िल्टर पंजीकृत करता है।

Mod एक snmpa_notification_filter व्यवहार को लागू करने वाला मॉड्यूल है।

व्यवहार के कार्यों को कॉल करते समय Data को फ़िल्टर पर पारित किया जाएगा।

unregister_notification_filter (Id) -> ठीक | {त्रुटि, कारण}
unregister_notification_filter (एजेंट, आईडी) -> ठीक | {त्रुटि, कारण}

प्रकार

एक अधिसूचना फ़िल्टर अपंजीकृत करें।

जो_नोटिफिकेशन_फिल्टर () -> फिल्टर
जो_नोटिफिकेशन_फिल्टर (एजेंट) -> फिल्टर

प्रकार

एक एजेंट में सभी अधिसूचना फिल्टर सूचीबद्ध करें।

set_request_limit (NewLimit) -> {ठीक है, ओल्डलिमिट} | {त्रुटि, कारण}
set_request_limit (एजेंट, NewLimit) -> {ठीक है, OldLimit} | {त्रुटि, कारण}

प्रकार

अनुरोध सीमा में परिवर्तन।

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

यह फ़ंक्शन लोड विनियमन परिदृश्यों में मुख्य रूप से उपयोगी है।

register_subagent (एजेंट, सबट्रीऑइड, सबैजेंट) -> ok | {त्रुटि, कारण}

प्रकार

किसी अन्य एजेंट के उप-ट्री के तहत एक उप-एजेंट को पंजीकृत करता है।

उप-एजेंटों को पंजीकृत करते समय गलतियां करना आसान है और इस गतिविधि को सावधानी से किया जाना चाहिए। उदाहरण के लिए, एक अजीब व्यवहार निम्नलिखित कॉन्फ़िगरेशन से परिणाम होगा:

snmp_agent:register_subagent(MAPid,[1,2,3,4],SA1),
snmp_agent:register_subagent(SA1,[1,2,3], SA2).
        

SA2 नहीं होने से SA2 को ऑब्जेक्ट आइडेंटिफायर [1,2,3] से शुरू होने वाले अनुरोध नहीं मिलेंगे।

unregister_subagent (Agent, SubagentOidOrPid) -> ठीक है | {ठीक है, सबएजेंटपिड} | {त्रुटि, कारण}

प्रकार

एक उप-एजेंट को अपंजीकृत करें। यदि दूसरा तर्क पीआईडी ​​है, तो वह सब-एजेंट एजेंट के सभी पेड़ों से अपंजीकृत होगा।

send_notification2 (एजेंट, अधिसूचना, प्रेषक) -> शून्य ()

प्रकार

निर्दिष्ट context से SNMP-NOTIFICATION-MIB में snmpNotifyTable में सूचना-नाम ( name ) के लिए परिभाषित प्रबंधन लक्ष्यों को अधिसूचना Notification भेजें।

यदि कोई name निर्दिष्ट नहीं है (या यदि यह "" ), तो अधिसूचना सभी प्रबंधन लक्ष्यों को भेजी जाती है।

यदि कोई context निर्दिष्ट नहीं है, तो डिफ़ॉल्ट संदर्भ, "" का उपयोग किया जाता है।

भेजें विकल्प receiver निर्दिष्ट करता है जहां सूचना-अनुरोधों के वितरण के बारे में जानकारी भेजी जानी चाहिए। एजेंट सूचना-अनुरोध भेजता है और प्रबंधन लक्ष्यों से स्वीकृति का इंतजार करता है। receiver तीन मान हो सकते हैं:

  • no_receiver - कोई जानकारी नहीं दी जाती है।

  • notification_delivery_info() - इस डेटा के अनुसार एक फ़ंक्शन कॉल के माध्यम से जानकारी दी जाती है। विवरण के लिए ऊपर दिए गए DATA TYPES देखें।

  • {tag(), tag_receiver()} - जानकारी या तो संदेश के माध्यम से या function_receiver tag_receiver() के मान के अनुसार फ़ंक्शन कॉल के माध्यम से वितरित की tag_receiver()

    वितरण अलग तरीके से किया जाता है जो tag_receiver() के मान के आधार पर किया जाता है:

    • pid() | registered_name() pid() | registered_name() - जानकारी निम्नलिखित संदेशों में वितरित की जाएगी:

      • {snmp_targets, tag(), Addresses}

        यह उस उपयोगकर्ता को सूचित करता है जो लक्ष्य को संबोधित करता है कि अधिसूचना को भेजा गया था।

      • {snmp_notification, tag(), {got_response, Address}}

        यह उपयोगकर्ता को सूचित करता है कि इस लक्ष्य पते ने अधिसूचना को स्वीकार कर लिया है।

      • {snmp_notification, tag(), {no_response, Address}}

        यह उपयोगकर्ता को सूचित करता है कि इस लक्ष्य पते ने अधिसूचना को स्वीकार नहीं किया है।

      अधिसूचना को प्रत्येक लक्ष्य पते में सूचना-अनुरोध के रूप में भेजा जाता है और यदि कोई लक्ष्य नहीं है जिसके लिए एक सूचना-अनुरोध भेजा जाता है, तो Addresses रिक्त सूची []

      tag_receiver() को सबसे पहले snmp_targets संदेश भेजा जाएगा, और फिर Addresses सूची में प्रत्येक पते के लिए, दो snmp_notification संदेशों में से एक।

    • {Mod, Func, Args} - यह जानकारी फंक्शन कॉल के माध्यम से दी जाएगी:

      Mod:Func([Msg | Args])

      Msg में Msg की सामग्री और उद्देश्य समान है।

ध्यान दें

extra जानकारी आम तौर पर एजेंट द्वारा व्याख्या नहीं की जाती है, इसके बजाय इसे net-if प्रक्रिया के माध्यम से पारित किया जाता है। यह इस डेटा के उपयोग के लिए उस प्रक्रिया के कार्यान्वयनकर्ता पर निर्भर है।

इस एप्लिकेशन द्वारा प्रदान किए गए नेट-वर्जन के संस्करण में एक अपवाद के साथ, इस डेटा का कोई उपयोग नहीं किया जाता है: परमाणु snmpa_default_notification_extra_info युक्त कोई भी टपल एजेंट द्वारा उपयोग किया जा सकता है और इसके लिए आरक्षित है

अधिक जानकारी के लिए एक trap और notification भेजने के लिए नेट-अगर इनकमिंग संदेश देखें।

send_notification (एजेंट, अधिसूचना, रिसीवर)
send_notification (एजेंट, अधिसूचना, रिसीवर, वर्बाइंड)
send_notification (एजेंट, अधिसूचना, रिसीवर, नोटिनेम, वर्बाइंड)
send_notification (एजेंट, अधिसूचना, रिसीवर, नोटिफ़नेम, संदर्भनाम, वर्बाइंड) -> शून्य ()
send_notification (एजेंट, अधिसूचना, रिसीवर, नोटिफ़ेनाम, संदर्भ, नाम, Varbinds, LocalEngineID) -> शून्य ()

प्रकार

निर्दिष्ट संदर्भ से SNMP-NOTIFICATION-MIB में snmpNotifyTable में snmpNotifyTable लिए परिभाषित प्रबंधन लक्ष्यों के लिए अधिसूचना Notification भेजता है।

यदि कोई NotifyName निर्दिष्ट नहीं है (या यदि यह "" ), तो अधिसूचना सभी प्रबंधन लक्ष्यों (नीचे दिए गए Addresses ) को भेजी जाती है।

यदि कोई ContextName निर्दिष्ट नहीं है, तो डिफ़ॉल्ट "" संदर्भ का उपयोग किया जाता है।

पैरामीटर Receiver निर्दिष्ट करता है जहां सूचना-अनुरोधों के वितरण के बारे में जानकारी भेजी जानी चाहिए। एजेंट सूचित-अनुरोध भेजता है और प्रबंधकों से स्वीकृति का इंतजार करता है। Receiver तीन मान हो सकते हैं:

  • no_receiver - कोई जानकारी नहीं दी जाती है।

  • notification_delivery_info() - इस डेटा के अनुसार एक फ़ंक्शन कॉल के माध्यम से जानकारी दी जाती है। विवरण के लिए ऊपर दिए गए DATA TYPES देखें।

  • {Tag, Recv} - यह जानकारी या तो संदेशों के माध्यम से दी जाती है या फिर Recv के मान के अनुसार फ़ंक्शन कॉल के माध्यम से।

यदि Receiver का मान {Tag, Recv} , तो डिलीवरी Recv अनुसार की जाती है:

  • pid() | atom() pid() | atom() - जानकारी निम्नलिखित संदेशों में वितरित की जाएगी:

    • {snmp_targets, Tag, Addresses}

      यह सूचित करने वाले उपयोगकर्ता को सूचित करता है कि अधिसूचना किस पते पर भेजी गई थी।

    • {snmp_notification, Tag, {got_response, Address}}

      यह उपयोगकर्ता को सूचित करता है कि इस लक्ष्य पते ने अधिसूचना को स्वीकार कर लिया है।

    • {snmp_notification, Tag, {no_response, Address}}

      यह उपयोगकर्ता को सूचित करता है कि यह लक्ष्य पता अधिसूचना को स्वीकार नहीं करता था।

    अधिसूचना को प्रत्येक लक्ष्य पते में सूचना-अनुरोध के रूप में भेजा जाता है और यदि कोई लक्ष्य नहीं है जिसके लिए एक सूचना-अनुरोध भेजा जाता है, तो Addresses रिक्त सूची []

    receiver को सबसे पहले snmp_targets संदेश भेजा जाएगा, और फिर Addresses सूची में प्रत्येक पते के लिए, दो snmp_notification संदेशों में से एक।

  • {Mod, Func, Args} - यह जानकारी फंक्शन कॉल के माध्यम से दी जाएगी:

    Mod:Func([Msg | Args])

    Msg में Msg की सामग्री और उद्देश्य समान है।

Address एक प्रबंधन लक्ष्य पता है और पते प्रबंधन लक्ष्य पते की एक सूची है। उन्हें निम्नानुसार परिभाषित किया गया है:

Addresses  = [address()]
Address    = address()
address()  = v1_address() | v3_address()
v1_address() = {TDomain, TAddress}
v3_address() = {{TDomain, TAddress}, V3MsgData}
TDomain    = tdoamin()
TAddress   = taddress()
tdomain()  = The oid of snmpUDPDomain 
             This is the only supported transport domain.
taddress() = [A1, A2, A3, A4, P1, P3]
             The 4 first bytes makes up the IP-address and the last 2,
             the UDP-port number.
V3MsgData  = v3_msg_data()
v3_msg_data() = term()

यदि Receiver एक notification_delivery_info() रिकॉर्ड है, तो अधिसूचना सूचना की सूचना receiver पहुंच जाएगी, जिसे कॉलबैक फ़ंक्शंस के माध्यम से snmpa_notification_delivery_info_receiver अनुसार snmpa_notification_delivery_info_receiver व्यवहार के द्वारा दिया snmpa_notification_delivery_info_receiver

वैकल्पिक तर्क Varbinds अधिसूचना में वस्तुओं के लिए मूल्यों को परिभाषित करता है। यदि किसी वस्तु के लिए कोई मूल्य नहीं दिया जाता है, तो Agent मूल्य को पुनः प्राप्त करने के लिए एक ऑपरेशन करता है।

Varbinds , Varbinds की एक सूची है, जहां प्रत्येक Varbind से एक है:

  • {Variable, Value} , जहां Variable अधिसूचना विनिर्देश में संदर्भित स्केलर चर का प्रतीकात्मक नाम है।
  • {Column, RowIndex, Value} , जहां Column कॉलम वैरिएबल का सांकेतिक नाम है। RowIndex निर्दिष्ट तत्व के लिए सूचकांक की एक सूची है। यदि यह स्थिति है, तो सूचना में भेजा गया OBJECT IDENTIFIER टेबल कॉलम के लिए OBJECT IDENTIFIER से संलग्न RowIndex है। यह OBJECT IDENTIFIER है जो तत्व को निर्दिष्ट करता है।
  • {OID, Value} , जहां OID ऑब्जेक्ट, स्केलर वैरिएबल या कॉलम वैरिएबल के उदाहरण के लिए OBJECT IDENTIFIER है।

उदाहरण के लिए, यह बताने के लिए कि sysLocation का मान "upstairs" होना चाहिए, हम इनमें से किसी एक का उपयोग कर सकते हैं:

  • {sysLocation, "upstairs"} या
  • {[1,3,6,1,2,1,1,6,0], "upstairs"} या
  • {?sysLocation_instance, "upstairs"} (बशर्ते कि .hrl फ़ाइल शामिल हो)।

यदि अधिसूचना में एक चर एक तालिका तत्व है, तो तत्व के लिए Varbinds को Varbinds सूची में दिया जाना चाहिए। इस स्थिति में, सूचना में भेजा गया OBJECT IDENTIFIER इस तत्व की पहचान करने वाला OBJECT IDENTIFIER है। इस OBJECT IDENTIFIER को बाद में एक ऑपरेशन में इस्तेमाल किया जा सकता है।

यह फ़ंक्शन अतुल्यकालिक है, और किसी भी जानकारी को वापस नहीं करता है। यदि कोई त्रुटि होती है, तो त्रुटि रिपोर्ट मॉड्यूल के user_err/2 को कॉल किया जाता है और अधिसूचना को छोड़ दिया जाता है।

ध्यान दें

ध्यान दें कि LocalEngineID तर्क का उपयोग केवल विशेष मामलों के लिए किया जाता है, यदि एजेंट को कई EngineID का "अनुकरण" करना है! डिफ़ॉल्ट रूप से, एजेंट SnmpEngineID (SNMP-FRAMEWORK-MIB देखें) के मान का उपयोग करता है।

एजेंट द्वारा किसी भी तरह से ExtraInfo का उपयोग नहीं किया जाता है। इसे नेट-इफ प्रक्रिया के साथ पारित करने का इरादा है, जो एक घटक है जो एक उपयोगकर्ता अपने आप को लागू कर सकता है। यूजर्स खुद नेट करते हैं-अगर फिर एक्स्ट्राइनफो का इस्तेमाल कर सकते हैं। नेट-अगर इस एप्लिकेशन के साथ प्रदान किया जाता है, तो एक्सट्राइंफो को संसाधित नहीं किया जाता है।

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

खोज (TargetName, अधिसूचना) -> {ठीक है, ManagerEngineID} | {त्रुटि, कारण}
खोज (TargetName, अधिसूचना, Varbinds) -> {ठीक है, ManagerEngineID} | {त्रुटि, कारण}
खोज (लक्ष्यनाम, अधिसूचना, डिस्कोन्डलर) -> {ठीक है, ManagerEngineID} | {त्रुटि, कारण}
खोज (TargetName, Notification, ContextName, Varbinds) -> {ठीक है, ManagerEngineID} | {त्रुटि, कारण}
खोज (TargetName, Notification, Varbinds, DiscoHandler) -> {ठीक है, ManagerEngineID} | {त्रुटि, कारण}
खोज (TargetName, Notification, ContextName, Varbinds, DiscoHandler) -> {ठीक है, ManagerEngineID} | {त्रुटि, कारण}
खोज (TargetName, Notification, ContextName, Varbinds, DiscoHandler, ExtraInfo) -> {ठीक है, ManagerEngineID} | {त्रुटि, कारण}

प्रकार

अधिसूचना Notification का उपयोग करके TargetName पहचाने गए प्रबंधक के साथ खोज प्रक्रिया शुरू करें।

यह फ़ंक्शन सिंक्रोनस है, जिसका अर्थ है कि यह खोज की प्रक्रिया पूरी होने या विफल होने पर वापस आ जाएगी।

DiscoHandler मॉड्यूल का उपयोग डिस्कवरी प्रक्रिया के दौरान किया जाता है। अधिक जानकारी के लिए discovery handler देखें।

ExtraInfo तर्क ExtraInfo के कॉलबैक फ़ंक्शन पर पारित किया गया है।

ध्यान दें

यदि हम सुरक्षा-स्तर पर नहीं हैं, तो यह जटिल हो सकता है, क्योंकि एजेंट तब चरण 2 के साथ जारी रहेगा, जिसके पहले usm से संबंधित अद्यतन किया जाना चाहिए।

ध्यान दें

डिफ़ॉल्ट खोज हैंडलर को कॉलर द्वारा अतिरिक्त क्रियाओं की आवश्यकता होगी और खोज काम नहीं करेगी यदि सुरक्षा-स्तर अधिक है तो noAuthNoPriv

Convert_config (OldConfig) -> AgentConfig

प्रकार

इस ऑफ-लाइन यूटिलिटी फंक्शन का उपयोग पुराने स्नैम्प एप्लिकेशन कॉन्फिगरेशन (प्री स्नैम्प-4.0) को नए एसएनएम एजेंट कॉन्फिगरेशन (एसएनपी-4.0 के रूप में) में बदलने के लिए किया जा सकता है।

पुराने कॉन्फ़िगरेशन ( OldConfig ) के बारे में जानकारी के लिए OTP R9C प्रलेखन देखें।

वर्तमान एजेंट कॉन्फ़िगरेशन ( AgentConfig ) के बारे में जानकारी के लिए, संदर्भ मैनुअल के SNMP application भाग को देखें या SNMP उपयोगकर्ता के गाइड Configuring the application अध्याय को Configuring the application करें।

पुनरारंभ_कारक () -> शून्य ()
पुनरारंभ_कारक (एजेंट) -> शून्य ()

प्रकार

मल्टी-थ्रेडेड एजेंट की कार्यकर्ता प्रक्रिया को पुनरारंभ करें।

यह एक यूटीलिटी फंक्शन है, जो उपयोगी हो सकता है, जैसे कि डीबगिंग इंस्ट्रूमेंटेशन फ़ंक्शन

पुनरारंभ_सेट_वर्कर () -> शून्य ()
पुनरारंभ_सेट_वर्कर (एजेंट) -> शून्य ()

प्रकार

मल्टी-थ्रेडेड एजेंट की सेट वर्कर प्रक्रिया को पुनरारंभ करें।

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

Print_mib_info () -> शून्य ()

सभी (स्नैम्प) टेबल और चर की सभी सामग्रियों को प्रिंट एजेंट द्वारा संभाला जाता है।

Print_mib_tables () -> शून्य ()

स्नाइप एजेंट द्वारा संभाला सभी mibs के लिए सभी (snmp) तालिकाओं की सामग्री को प्रिंट करता है।

Print_mib_variables () -> शून्य ()

स्नाइप एजेंट द्वारा संभाला सभी mibs के लिए सभी (snmp) चर की सामग्री को प्रिंट करता है।

वर्बोसिटी (रेफ, वर्बोसिटी) -> शून्य ()

प्रकार

निर्धारित प्रक्रिया के लिए शब्दशः निर्धारित करता है। सबसे कम वाचालता के लिए silence , कुछ भी नहीं छपा है। क्रिया जितनी अधिक होती है, उतनी ही अधिक छपती है।

यह भी देखें

कैलेंडर (3), erlc (1)