ตัวอย่างการติดตั้ง snmpd บน ubuntu

โดย อดิศร ขาวสังข์
จัดทำเมื่อ
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

ขั้นตอนการติดตั้งและคอนฟิก

  1. ติดตั้งแพ็กเกต SNMP บน Server ที่เป็น SNMP daemon (snmpd) ด้วยคำสั่ง :
    sudo apt-get install snmpd

  2. การคอนฟิกให้แก้ไขไฟล์ /etc/default/snmpd โดยให้มีค่าที่จำเป็นดังนี้
    SNMPDRUN=yes
    SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'


  3. ค่า 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

  4. สุดท้ายก็แก้ไขค่าของไฟล์คอนฟิกของ 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


  5. และสุดท้าย (จริง ๆ) เราสามารถตรวจสอบ 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:~#

จบครับ