Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

ติดตั้งและกำหนดค่า SNMP บน RHEL/CentOS/Fedor

โปรโตคอลการจัดการเครือข่ายอย่างง่าย (SNMP ) ใช้เพื่อรับข้อมูลเกี่ยวกับสถานะปัจจุบันของเซิร์ฟเวอร์ อุปกรณ์เครือข่าย เครื่องพิมพ์ หรืออุปกรณ์ IP อื่นๆ คุณสามารถรับเมตริกต่างๆ ผ่าน SNMP:การใช้ CPU, จำนวนกระบวนการ, สถานะของบริการ ฯลฯ ข้อได้เปรียบที่สำคัญของ SNMP คือมีการสนับสนุนโดยอุปกรณ์เกือบทุกชนิด และไม่จำเป็นต้องติดตั้งเอเจนต์ระบบตรวจสอบแยกต่างหาก ในบทความนี้เราจะแสดงวิธีการติดตั้งและกำหนดค่า SNMP (และ SNMP v3) ตัวแทน บน Linux โฮสต์ที่ใช้ CentOS, RHEL หรือ Fedora

การติดตั้ง SNMP Agent และเครื่องมือวินิจฉัยบน Linux

ก่อนที่คุณจะติดตั้งแพ็คเกจ SNMP ให้ติดตั้งการอัปเดตล่าสุดบนเซิร์ฟเวอร์ของคุณโดยใช้ dnf (yum):

# dnf update -y

จากนั้นติดตั้งเอเจนต์ SNMP และเครื่องมือเพิ่มเติมจากที่เก็บฐาน:

# dnf install net-snmp net-snmp-utils -y

ติดตั้งและกำหนดค่า SNMP บน RHEL/CentOS/Fedor

จะเปิดใช้งานและกำหนดค่า SNMP Agent บน Linux ได้อย่างไร

ก่อนกำหนดค่า 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 agent แต่เราไม่สามารถครอบคลุมทุกอย่างในบทความเดียว

บันทึกไฟล์ (ขอแนะนำให้ป้อนตำแหน่งที่ถูกต้องและที่อยู่อีเมลที่ถูกต้อง) จากนั้นเปิดใช้งานบริการ snmpd และเริ่มต้น:

# systemctl enable snmpd.service
# systemctl start snmpd

ตรวจสอบให้แน่ใจว่าบริการกำลังทำงาน:

# systemctl status snmpd

ติดตั้งและกำหนดค่า SNMP บน RHEL/CentOS/Fedor

หากคุณกำลังใช้ไฟร์วอลล์บนเซิร์ฟเวอร์ของคุณ ให้อนุญาตการเชื่อมต่อกับพอร์ต 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

สำรวจตัวแทน SNMP โดยใช้ Snmpwalk

คุณสามารถสำรวจตัวแทน SNMP โดยใช้ snmpwalk เครื่องมือ. ในการตรวจสอบบริการภายในเครื่องโดยใช้โปรโตคอล 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 บน RHEL/CentOS/Fedor

อย่างที่คุณเห็น เซิร์ฟเวอร์ระยะไกลได้รับข้อมูลจากเซิร์ฟเวอร์ผ่าน SNMP . ตอนนี้คุณสามารถเพิ่มเซิร์ฟเวอร์ในระบบการตรวจสอบ SNMP ใดๆ (เช่น Zabbix หรือ Cacti) .

นี่คือบทความเกี่ยวกับ “วิธีกำหนดค่า SNMP บนโฮสต์ VMWare ESXi?”

กำหนดค่า SNMPv3 บน Linux CentOS/RHEL/Fedora

ในตอนต้นของบทความ เราได้แสดงวิธีกำหนดค่าเอเจนต์ SNMP ที่ใช้ SNMP v1 และ v2 SNMPv3 เป็นโปรโตคอลเวอร์ชันใหม่และปลอดภัยยิ่งขึ้นพร้อมรองรับการตรวจสอบสิทธิ์และการเข้ารหัส ในการกำหนดค่า SNMPv3 ให้สร้างผู้ใช้ด้วยรหัสผ่าน ตั้งรหัสผ่านการเข้ารหัส สิทธิ์การเข้าถึง และอัลกอริธึมการเข้ารหัส (MD5 หรือ SHA)

ในการสร้างผู้ใช้สำหรับ SNMPv3 ให้หยุด snmpd daemon:

# systemctl stop snmpd

จากนั้นคุณสามารถสร้างผู้ใช้:

# net-snmp-create-v3-user -ro -A o2ps2w0dD -a SHA -X r30svV33 -x AES snmpuser

นี่คือไวยากรณ์ของ net-snmp-create-v3-user :

net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]

  • -ro – หมายความว่าผู้ใช้มีสิทธิ์อ่านอย่างเดียว
  • Authpass – รหัสผ่านการตรวจสอบ
  • Privpass – คีย์ส่วนตัว

หลังจากรันคำสั่งแล้ว ระบบจะสร้างผู้ใช้ที่มีรหัสผ่านและคีย์ที่ระบุ:

ติดตั้งและกำหนดค่า SNMP บน RHEL/CentOS/Fedor

เริ่มบริการ:

# systemctl start snmpd

ลองสำรวจตัวแทน SNMP โดยใช้ snmpwalk โปรดทราบว่าหากต้องการสำรวจผ่าน SNMPv3 คุณต้องระบุชื่อผู้ใช้ รหัสผ่าน และคีย์

# snmpwalk -v3 -a SHA -A o2ps2w0dD -x AES -X r30svV33 -l authPriv -u snmpuser 192.168.21.205 | head