সাধারণ নেটওয়ার্ক ম্যানেজমেন্ট প্রোটোকল (SNMP
) সার্ভার, নেটওয়ার্ক সরঞ্জাম, প্রিন্টার বা অন্যান্য আইপি ডিভাইসের বর্তমান অবস্থা সম্পর্কে তথ্য পেতে ব্যবহৃত হয়। আপনি SNMP এর মাধ্যমে বিভিন্ন মেট্রিক্স পেতে পারেন:CPU ব্যবহার, প্রসেসের সংখ্যা, পরিষেবার অবস্থা ইত্যাদি। প্রধান SNMP সুবিধা হল যে এটি প্রায় যেকোনো ডিভাইস দ্বারা সমর্থিত এবং এর জন্য আলাদা মনিটরিং সিস্টেম এজেন্ট ইনস্টল করার প্রয়োজন হয় না। এই নিবন্ধে আমরা দেখাব কিভাবে একটি SNMP ইনস্টল এবং কনফিগার করতে হয় (এবং SNMP v3) এজেন্ট একটি লিনাক্সে হোস্ট চলমান CentOS, RHEL, বা Fedora.
লিনাক্সে SNMP এজেন্ট এবং ডায়াগনস্টিক টুল ইনস্টল করা হচ্ছে
আপনি SNMP প্যাকেজগুলি ইনস্টল করার আগে, dnf (yum) ব্যবহার করে আপনার সার্ভারে সর্বশেষ আপডেটগুলি ইনস্টল করুন:
# dnf update -y
তারপর বেস রিপোজিটরি থেকে SNMP এজেন্ট এবং অতিরিক্ত টুল ইনস্টল করুন:
# 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]এই তিনটি মৌলিক SNMP পরামিতি। Net-SNMP এজেন্ট কনফিগার করার জন্য অন্যান্য অনেক বিকল্প আছে, কিন্তু আমরা একটি নিবন্ধে সবকিছু কভার করতে পারি না।
ফাইলটি সংরক্ষণ করুন (এটি একটি সঠিক অবস্থান এবং একটি বৈধ ইমেল ঠিকানা প্রবেশ করার পরামর্শ দেওয়া হয়)। তারপর 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 এজেন্ট
আপনি 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 এজেন্ট দূর থেকে উপলব্ধ। অন্য সার্ভারে এই কমান্ডটি চালান (এটি করার আগে snmp টুল ইনস্টল করুন):
# snmpwalk -v2c -c public 192.168.21.205 system
আপনি দেখতে পাচ্ছেন, রিমোট সার্ভার সার্ভার থেকে SNMP এর উপর তথ্য পেয়েছে . এখন আপনি যেকোনো SNMP মনিটরিং সিস্টেমে সার্ভার যোগ করতে পারেন (যেমন Zabbix বা Cacti) .
এখানে একটি নিবন্ধ রয়েছে "কীভাবে একটি VMWare ESXi হোস্টে SNMP কনফিগার করবেন?"Linux CentOS/RHEL/Fedora-এ SNMPv3 কনফিগার করুন
নিবন্ধের শুরুতে আমরা SNMP v1 এবং v2 ব্যবহার করে এমন একটি SNMP এজেন্টকে কীভাবে কনফিগার করতে হয় তা দেখিয়েছি। 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 – এর মানে হল একজন ব্যবহারকারীর শুধুমাত্র পড়ার সুবিধা আছে
- অথপাস – প্রমাণীকরণ পাসওয়ার্ড
- Privpass – ব্যক্তিগত কী
কমান্ড চালানোর পরে, নির্দিষ্ট পাসওয়ার্ড এবং কী সহ একজন ব্যবহারকারী তৈরি হবে:
পরিষেবা শুরু করুন:
# systemctl start snmpd
snmpwalk ব্যবহার করে SNMP এজেন্ট পোল করার চেষ্টা করুন। মনে রাখবেন যে SNMPv3-এ পোল করতে, আপনাকে অবশ্যই ব্যবহারকারীর নাম, পাসওয়ার্ড এবং কী উল্লেখ করতে হবে।
# snmpwalk -v3 -a SHA -A o2ps2w0dD -x AES -X r30svV33 -l authPriv -u snmpuser 192.168.21.205 | head