सरल नेटवर्क प्रबंधन प्रोटोकॉल (SNMP
) सर्वर, नेटवर्क उपकरण, प्रिंटर या अन्य आईपी उपकरणों की वर्तमान स्थिति के बारे में जानकारी प्राप्त करने के लिए उपयोग किया जाता है। आप एसएनएमपी के माध्यम से विभिन्न मेट्रिक्स प्राप्त कर सकते हैं:सीपीयू उपयोग, प्रक्रियाओं की संख्या, सेवाओं की स्थिति, आदि। प्रमुख एसएनएमपी लाभ यह है कि यह लगभग किसी भी डिवाइस द्वारा समर्थित है और इसे स्थापित करने के लिए एक अलग निगरानी प्रणाली एजेंट की आवश्यकता नहीं है। इस लेख में हम दिखाएंगे कि कैसे एक SNMP . को स्थापित और कॉन्फ़िगर किया जाए (और एसएनएमपी v3) एजेंट एक लिनक्स . पर CentOS, RHEL, या फेडोरा चलाने वाला होस्ट।
लिनक्स पर SNMP एजेंट और डायग्नोस्टिक टूल इंस्टॉल करना
इससे पहले कि आप एसएनएमपी पैकेज स्थापित करें, dnf (yum) का उपयोग करके अपने सर्वर पर नवीनतम अपडेट इंस्टॉल करें:
# dnf update -y
फिर आधार भंडार से एसएनएमपी एजेंट और अतिरिक्त उपकरण स्थापित करें:
# dnf install net-snmp net-snmp-utils -y
स्थापित करें
लिनक्स पर एसएनएमपी एजेंट को कैसे सक्षम और कॉन्फ़िगर करें?
SNMP कॉन्फ़िगरेशन से पहले, मूल कॉन्फ़िग फ़ाइल की एक प्रति बनाएँ:
# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
फिर SNMP एजेंट सेटिंग संपादित करें:
# nano /etc/snmp/snmpd.conf
निम्नलिखित पंक्तियाँ जोड़ें:
rocommunity public syslocation GE-DC2 syscontact [email protected]ये तीन बुनियादी एसएनएमपी पैरामीटर हैं। नेट-एसएनएमपी एजेंट को कॉन्फ़िगर करने के लिए कई अन्य विकल्प हैं, लेकिन हम एक लेख में सब कुछ शामिल नहीं कर सकते।
फ़ाइल सहेजें (यह एक सही स्थान और एक मान्य ईमेल पता दर्ज करने की अनुशंसा की जाती है)। फिर snmpd सेवा को सक्षम करें और इसे शुरू करें:
# systemctl enable snmpd.service
# systemctl start snmpd
सुनिश्चित करें कि सेवा चल रही है:
# systemctl status snmpd
यदि आप अपने सर्वर पर फ़ायरवॉल का उपयोग कर रहे हैं, तो TCP/UDP पोर्ट 161 और 162 से कनेक्शन की अनुमति दें। फ़ायरवॉल में SNMP पोर्ट खोलने के लिए निम्न कमांड का उपयोग करें:
# firewall-cmd --zone=public --add-port=161/udp --permanent
# firewall-cmd --zone=public --add-port=161/tcp –permanent
# firewall-cmd --zone=public --add-port=162/udp --permanent
# firewall-cmd --zone=public --add-port=162/tcp --permanent
# firewall-cmd --reload
स्नैम्पवॉक का उपयोग कर पोल एसएनएमपी एजेंट
आप snmpwalk . का उपयोग करके SNMP एजेंट को मतदान कर सकते हैं उपकरण। SMMPv2 प्रोटोकॉल का उपयोग करके स्थानीय रूप से सेवा की जाँच करने के लिए, कमांड का उपयोग करें:
# snmpwalk -v 2c -c public -O e 127.0.0.1
यदि SNMP सही तरीके से कॉन्फ़िगर किया गया है, तो आपको एजेंट से SNMP डेटा का एक सेट प्राप्त होगा।
कॉन्फ़िगरेशन फ़ाइल सेट करने और परीक्षण कमांड चलाने के बाद, मुझे नीचे त्रुटि मिली:Timeout: No Response from localhost
मैंने कॉन्फ़िगरेशन फ़ाइल को साफ़ करके और ऊपर निर्दिष्ट केवल पंक्तियों को जोड़कर इसे ठीक किया। यदि आपको कुछ विशिष्ट सेटिंग्स की आवश्यकता है, तो सब कुछ अच्छी तरह से जांचें, क्योंकि सेवा बिना किसी समस्या के शुरू होती है, लेकिन यह काम नहीं कर रही है।
आप इस कमांड का उपयोग करके अपने सर्वर को स्थानीय रूप से क्वेरी भी कर सकते हैं:
# snmpwalk -v2c -c public localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux server1.test.com 4.18.0-147.8.1.el8_1.x86_64 #1 SMP Thu Apr 9 13:49:54 UTC 2020 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (106564) 0:17:45.64 SNMPv2-MIB::sysContact.0 = STRING: [email protected] SNMPv2-MIB::sysName.0 = STRING: server1.test.com SNMPv2-MIB::sysLocation.0 = STRING: GE-DC2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.9 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.10 = Timeticks: (0) 0:00:00.00
फिर सुनिश्चित करें कि आपका एसएनएमपी एजेंट दूर से उपलब्ध है। इस कमांड को दूसरे सर्वर पर रन करें (इसे करने से पहले snmp टूल्स इंस्टॉल करें):
# snmpwalk -v2c -c public 192.168.21.205 system
जैसा कि आप देख सकते हैं, दूरस्थ सर्वर ने सर्वर से SNMP . पर जानकारी प्राप्त की . अब आप सर्वर को किसी भी SNMP मॉनिटरिंग सिस्टम (जैसे Zabbix या Cacti) में जोड़ सकते हैं ।
यहाँ "VMWare ESXi होस्ट पर SNMP को कैसे कॉन्फ़िगर करें?" पर एक लेख दिया गया है।लिनक्स CentOS/RHEL/Fedora पर SNMPv3 कॉन्फ़िगर करें
लेख की शुरुआत में हमने दिखाया है कि एसएनएमपी एजेंट को कैसे कॉन्फ़िगर किया जाए जो एसएनएमपी v1 और v2 का उपयोग करता है। SNMPv3 प्रमाणीकरण और एन्क्रिप्शन के समर्थन के साथ प्रोटोकॉल का एक नया और अधिक सुरक्षित संस्करण है। SNMPv3 को कॉन्फ़िगर करने के लिए, पासवर्ड के साथ एक उपयोगकर्ता बनाएं, एक एन्क्रिप्शन पासवर्ड, एक्सेस अधिकार और एक एन्क्रिप्शन एल्गोरिथम (MD5 या SHA) सेट करें।
SNMPv3 के लिए एक उपयोगकर्ता बनाने के लिए, snmpd डेमॉन को रोकें:
# systemctl stop snmpd
तब आप एक उपयोगकर्ता बना सकते हैं:
# net-snmp-create-v3-user -ro -A o2ps2w0dD -a SHA -X r30svV33 -x AES snmpuser
net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]
- -ro - इसका मतलब है कि उपयोगकर्ता के पास केवल-पढ़ने के लिए विशेषाधिकार हैं
- प्रमाणीकरण - प्रमाणीकरण पासवर्ड
- प्राइवपास - निजी कुंजी
कमांड चलाने के बाद, निर्दिष्ट पासवर्ड और कुंजी वाला एक उपयोगकर्ता बनाया जाएगा:
सेवा शुरू करें:
# systemctl start snmpd
स्नैम्पवॉक का उपयोग करके एसएनएमपी एजेंट को मतदान करने का प्रयास करें। ध्यान दें कि SNMPv3 पर मतदान करने के लिए, आपको उपयोगकर्ता नाम, पासवर्ड और कुंजी निर्दिष्ट करनी होगी।
# snmpwalk -v3 -a SHA -A o2ps2w0dD -x AES -X r30svV33 -l authPriv -u snmpuser 192.168.21.205 | head