यदि आप अपने मॉनिटरिंग सिस्टम में अपने VMware ESXi सर्वरों की स्थिति की निगरानी करना चाहते हैं, तो आपको अपने होस्ट पर SNMP एजेंट कॉन्फ़िगर करना होगा। इस लेख में हम दिखाएंगे कि VMware ESXi 6.7 में SNMP को कैसे सक्षम और कॉन्फ़िगर करें (गाइड ESXi 5.5 और नए के लिए लागू है)।
ESXi में एक बिल्ट-इन SNMP एजेंट होता है जो SNMP अनुरोध और ट्रैप भेज और प्राप्त कर सकता है। आप ESXi होस्ट पर SNMP एजेंट को कई तरीकों से सक्षम और कॉन्फ़िगर कर सकते हैं: vCLI, PowerCLI का उपयोग करके (लेकिन vSphere क्लाइंट GUI के माध्यम से नहीं)।
VMware ESXi में SNMP सर्वर
vSphere वेब इंटरफ़ेस से, आप केवल यह सुनिश्चित कर सकते हैं कि "SNMP सर्वर" सेवा चल रही है, इसकी स्टार्टअप सेटिंग्स बदलें या सेवा को रोकें/शुरू करें। अपने ESXi होस्ट पर जाएं → Configure → Services → SNMP Server. सेवा डिफ़ॉल्ट रूप से बंद है। इसे शुरू करें।

ESXi होस्ट पर SSH एक्सेस सक्षम करें और किसी भी SSH क्लाइंट का उपयोग करके इससे कनेक्ट करें (मैं बिल्ट-इन Windows 10 SSH क्लाइंट का उपयोग कर रहा हूं)।
वर्तमान SNMP सेटिंग्स जांचने के लिए, यह कमांड चलाएं:
esxcli system snmp get

SNMP कॉन्फ़िगर नहीं है: सभी पैरामीटर खाली हैं, और एजेंट अक्षम है।
Authentication: Communities: Enable: false Engineid: Hwsrc: indications Largestorage: true Loglevel: info Notraps: Port: 161 Privacy: Remoteusers: Syscontact: Syslocation: Targets: Users: V3targets:
ESXi में SNMP एजेंट पैरामीटर कॉन्फ़िगर करना
मॉनिटरिंग सर्वर IP पता (SNMP टारगेट), पोर्ट (डिफ़ॉल्ट रूप से, 161 UDP) और SNMP कम्युनिटी नाम (आमतौर पर public) निर्दिष्ट करें:
esxcli system snmp set --targets=192.168.99.99@161/public
या आप कम्युनिटी नाम इस प्रकार सेट कर सकते हैं:
esxcli system snmp set --communities YOUR_COMMUNITY_STRING
इसके अतिरिक्त, आप स्थान निर्दिष्ट कर सकते हैं:
esxcli system snmp set --syslocation "Allee 16, Mun, DE"
संपर्क जानकारी:
esxcli system snmp set --syscontact admin@woshub.com
फिर ESXi होस्ट पर SNMP सेवा सक्षम करें:
esxcli system snmp set --enable true
SNMP कॉन्फ़िगरेशन टेस्ट करने के लिए:
esxcli system snmp test

सेटिंग्स लागू करने के लिए, इस कमांड का उपयोग करके SNMP एजेंट रीस्टार्ट करें:
/etc/init.d/snmpd restart

वर्तमान सेटिंग्स रीसेट करने के लिए, निम्न कमांड का उपयोग करें:
esxcli system snmp set –r
SNMP अक्षम करने के लिए:
esxcli system snmp set --disable true
SNMP ट्रैफिक के लिए ESXi फ़ायरवॉल कॉन्फ़िगरेशन
आप अपने ESXi होस्ट फ़ायरवॉल में SNMP ट्रैफिक को दो तरीकों से अनुमति दे सकते हैं। नेटवर्क पर किसी भी डिवाइस से SMNP अनुरोधों की अनुमति देने के लिए:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
या आप अपने मॉनिटरिंग सर्वर के IP पते या IP सबनेट से इनबाउंड ट्रैफिक की अनुमति दे सकते हैं जहां आपके SNMP सर्वर स्थित हैं:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.100.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
अब आप SNMP पर अपने VMware ESXi होस्ट की निगरानी कर सकते हैं।
PowerCLI का उपयोग करके ESXi होस्ट पर SNMP सेटिंग्स बदलें
यदि आप कई ESXi होस्ट पर SNMP पैरामीटर्स को जल्दी से कॉन्फ़िगर करना चाहते हैं, तो आप इस PowerCLI स्क्रिप्ट का उपयोग कर सकते हैं:
$ESXi = 'mun-esxi01'
$Community = 'Public'
$Target = '192.168.99.99'
$Port = '161'
# ESXi होस्ट से कनेक्शन
Connect-VIServer -Server $sESXiHost
# वर्तमान SNMP सेटिंग्स क्लियर करें
Get-VMHostSnmp | Set-VMHostSnmp -ReadonlyCommunity @()
# SNMP पैरामीटर्स कॉन्फ़िगर करें
Get-VMHostSnmp | Set-VMHostSnmp -Enabled:$true -AddTarget -TargetCommunity $Community -TargetHost $Target -TargetPort $Port -ReadOnlyCommunity $Community
# वर्तमान SNMP पैरामीटर्स प्रदर्शित करें
$Cmd= Get-EsxCli -VMHost $ESXiHost
$Cmd.System.Snmp.Get()
यदि आपके पास उन्नत VMware एंटरप्राइज़ प्लस लाइसेंस है, तो आप होस्ट प्रोफाइल का उपयोग करके अपने ESXi होस्ट पर SNMP पैरामीटर्स कॉन्फ़िगर कर सकते हैं (Management → Host Profiles → आपका प्रोफाइल → SNMP एजेंट कॉन्फ़िगरेशन)।
VMware ESXi SNMPv3 कॉन्फ़िगरेशन
हमने ऊपर चर्चा की है कि ESXi होस्ट पर SNMP एजेंट v1 और v2 को कैसे सक्षम और कॉन्फ़िगर करें। ESXi 5.1 से, एक अधिक आधुनिक प्रोटोकॉल संस्करण उपयोग किया जाता है: SNMP v3। अधिक सुरक्षित SNMPv3 कॉन्फ़िगर करने के लिए निम्न कमांड्स का उपयोग करें।
प्रमाणीकरण और एन्क्रिप्शन प्रोटोकॉल सेट करें:
esxcli system snmp set -a MD5 -x AES128
प्रमाणीकरण और एन्क्रिप्शन पासवर्ड के लिए हैश उत्पन्न करें (authpass और privhash को अपने पासवर्ड से बदलें):
esxcli system snmp hash --auth-hash authpass --priv-hash privhash --raw-secret
हैश (authhash और privhash) का उपयोग करके उपयोगकर्ता जोड़ें:
esxcli system snmp set -e yes -C snmp@woshub.com -u snmpuser/authhash/privhash/priv
फिर SNMP टारगेट पता निर्दिष्ट करें:
esxcli system snmp set –v3targets 192.168.99.99@161/user/priv/trap
आप Linux snmpwalk टूल का उपयोग करके SNMP कॉन्फ़िगरेशन को दूर से जांच सकते हैं:
snmpwalk -v3 -u snmpuser -l AuthPriv -a SHA -A P@ssw0rd1 -x AES-X P@ssword2 192.168.1.120