โดย อดิศร ขาวสังข์
จัดทำเมื่อ 14/05/2008
อ้างอิง http://www.debuntu.org/how-to-monitor-your-servers-with-snmp-and-cacti
ติดตั้งบน Ubuntu 8.04
บทนำ
SNMP (Simple Network Management Protocol) เป็นโปรโตคอลสำหรับการจัดการเครือข่าย แต่ละ Entity ที่ถูกจัดการในเครือข่ายจะรัน snmp server (snmpd) ซึ่งจะรวบรวมข้อมูลจาก Server เช่น networking, load, cpu
ขั้นตอนการติดตั้งและคอนฟิก
- ติดตั้งแพ็กเกต SNMP บน Server ที่เป็น SNMP daemon (snmpd) ด้วยคำสั่ง :
sudo apt-get install snmpd
- การคอนฟิกให้แก้ไขไฟล์ /etc/default/snmpd โดยให้มีค่าที่จำเป็นดังนี้
SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
- ค่า 127.0.0.1 ในข้อ 2 เป็นการอนุญาตให้ Server รอการเชื่อมต่อจาก Interface ที่เป็น localhost เท่านั้น ถ้าต้องการให้ Server รอการเชื่อมต่อจากทุก Interface (listen on all interface) ก็ทำได้ด้วยการเอาค่า 127.0.0.1 ออก หรือถ้าต้องการอนุญาตจาก Network หรือ host ใด ๆ ก็สามารถทำได้ด้วยการระบุค่า Network หรือ host ใด ๆ แทนค่า 127.0.0.1
- สุดท้ายก็แก้ไขค่าของไฟล์คอนฟิกของ snmpd คือไฟล์ /etc/snmp/snmpd.conf ซึ่งที่จำเป็นก็คือค่าของ community ซึ่งจะเป็นดังค่าข้างล่าง
# sec.name source community
com2sec paranoid default public
#com2sec readonly default public
#com2sec readwrite default private
ที่ผมเลือกใช้จะเป็นดังนี้ครับ
# sec.name source community
#com2sec paranoid default public
com2sec readonly default public
#com2sec readwrite default private
- และสุดท้าย (จริง ๆ) เราสามารถตรวจสอบ snmp configuration ด้วยการใช้ snmpwalk ซึ่งเป็น utility ที่จะพิสูจน์ว่า Server ทำงานตามที่เราต้องการเหรือเปล่า ซึ่งสามารถจะใช้งานเป็นดังนี้ :
$ snmpwalk -Os -c public -v 1 localhost system
อาจจะเจอข้อความดังต่อไปนี้ ถ้ายังไม่มีการติดตั้ง snmp
The program 'snmpwalk' is currently not installed. You can install it by typing: apt-get install snmp
ก็ให้ติดตั้ง snmp ตามคำแนะนำก่อนนะครับ
ถ้าทุกอย่าง OK ก็ควรจะได้ผลประมาณต่อไปนี้ :
root@ubuntu-mail:~# snmpwalk -Os -c public -v 1 localhost system
sysDescr.0 = STRING: Linux ubuntu-mail 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686
sysObjectID.0 = OID: netSnmpAgentOIDs.10
sysUpTimeInstance = Timeticks: (68957) 0:11:29.57
sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)
sysName.0 = STRING: ubuntu-mail
sysLocation.0 = STRING: Unknown (configure /etc/snmp/snmpd.local.conf)
sysORLastChange.0 = Timeticks: (0) 0:00:00.00
sysORID.1 = OID: snmpFrameworkMIBCompliance
sysORID.2 = OID: snmpMPDCompliance
sysORID.3 = OID: usmMIBCompliance
sysORID.4 = OID: snmpMIB
sysORID.5 = OID: tcpMIB
sysORID.6 = OID: ip
sysORID.7 = OID: udpMIB
sysORID.8 = OID: vacmBasicGroup
sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
sysORDescr.5 = STRING: The MIB module for managing TCP implementations
sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
sysORDescr.7 = STRING: The MIB module for managing UDP implementations
sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
sysORUpTime.1 = Timeticks: (0) 0:00:00.00
sysORUpTime.2 = Timeticks: (0) 0:00:00.00
sysORUpTime.3 = Timeticks: (0) 0:00:00.00
sysORUpTime.4 = Timeticks: (0) 0:00:00.00
sysORUpTime.5 = Timeticks: (0) 0:00:00.00
sysORUpTime.6 = Timeticks: (0) 0:00:00.00
sysORUpTime.7 = Timeticks: (0) 0:00:00.00
sysORUpTime.8 = Timeticks: (0) 0:00:00.00
root@ubuntu-mail:~#
จบครับ