คอนฟิก SNMP บน Solaris 10

SNMP เป็นเครื่องมือหนึ่งที่สามารถใช้ดูการทำงานของเครื่อง เก็บประวัติการใช้ resource ต่างๆ ของเครื่อง ไม่ว่าจะเป็น CPU, Memory, Disk, Network แล้วสามารถนำมาใช้สร้างเป็นกราฟ รายงาน เพื่อวางแผนการเพิ่ม hardware เมื่อจำเป็นได้

ในบทความนี้จะอธิบายวิธีการคอนฟิกและรัน SNMP Server บน Solaris 10 เพื่อให้สามารถใช้โปรแกรม SNMP เช่น MRTG, Cacti, NMS  มาเก็บค่าต่างๆ ได้

ระบบทดสอบ

บทความนี้ทดสอบบน Solaris 10 (x86) 10/09

# cat /etc/release
                       Solaris 10 10/09 s10x_u8wos_08a X86
           Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                           Assembled 16 September 2009

รันเซอร์วิส sma

โปรแกรมชุด SNMP หรือ System Management Agent ใน Solaris 10 ได้มาจาก Net-SNMP ซึ่งเป็น freeware โดยจะถูกติดตั้งใน path ที่ชื่อ /usr/sfw/ ดังนี้น เวลารันคำสั่ง อาจต้องมีการระบุ PATH เพิ่มเติม

System Management Agent บน Solaris 10 ถูกควบคุมด้วยเซอร์วิสที่ชื่อ sma

ใช้คำสั่ง svcs เพื่อตรวจสอบว่ารันเซอร์วิส sma อยู่หรือไม่

# svcs -a | grep sma
disabled       13:50:30 svc:/application/management/sma:default

หมายเหตุ ต้องระบุออปชั่น ‘-a’ เพื่อดูชื่อเซอร์วิสทั้งหมด ทั้งที่ enable และ disable ไว้

ไฟล์คอนฟิกของ SNMP Server คือ /etc/sma/snmp/snmpd.conf

# cat /etc/sma/snmp/snmpd.conf
...
###########################################################################
#
# SECTION: Access Control Setup
#
#   This section defines who is allowed to talk to your running
#   snmp agent.
# rocommunity: a SNMPv1/SNMPv2c read-only access community name
#   arguments:  community [default|hostname|network/bits] [oid]
rocommunity  public
...

ดีฟอลต์ SNMP Community String แบบ read-only คือ “public” แนะนำให้เปลี่ยน เช่นเปลี่ยนเป็น “test_public_read”

# cat /etc/sma/snmp/snmpd.conf
...
rocommunity  test_public_read
...

ใช้คำสั่ง svcadm เพื่อรันเซอร์วิส sma

# svcadm enable svc:/application/management/sma:default
# svcs -a  | grep sma
online         14:18:37 svc:/application/management/sma:default

ใช้คำสั่ง ps เพื่อตรวจสอบ process ของ snmpd (SNMP Server)

# ps -ef | grep snmp
    root  1008     1   0 14:18:38 ?           0:00 /usr/sfw/sbin/snmpd

ทดลองใช้คำสั่ง snmpwalk เพื่อ walk ค่าต่างๆ ผ่านทาง SNMP

# /usr/sfw/bin/snmpwalk -v 1 -c test_public_read 127.0.0.1 system
SNMPv2-MIB::sysDescr.0 = STRING: SunOS sol10u8-zfs64a 5.10 Generic_141445-09 i86pc
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.3
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (12062) 0:02:00.62
SNMPv2-MIB::sysContact.0 = STRING: "System administrator"
SNMPv2-MIB::sysName.0 = STRING: sol10u8-zfs64a
SNMPv2-MIB::sysLocation.0 = STRING: "System administrators office"
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (64) 0:00:00.64
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
...

ข้อมูลอ้างอิง

Leave a Reply