// Á¦ ¸ñ: ucd-snmp ¼³Ä¡
// ÀÛ¼ºÀÚ: ±è¿µ´ë( http://www.howto.pe.kr )
0.¼³Ä¡È¯°æ
O/S: Linux 2.4.18-3 (Redhat 7.3)
1.¼Ò°³
SNMP(Simple Network Management Protocol)´Â ³×Æ®¿÷ Àåºñµé·Î ºÎÅÍ ÇÊ¿äÇÑ Á¤º¸¸¦ °¡Á®¿Í Àåºñ»óŸ¦
¸ð´ÏÅ͸µÇϰųª ÇØ´ç ÀåºñÀÇ °ü·Ã ¼³Á¤°ªÀ» º¯°æÇÏ´Â µîÀÇ ÀÛ¾÷À» ÇÏ¿© ³×Æ®¿÷ ÀåºñÀÇ Àüü»óȲÀ» °ü¸®
ÇÒ¼ö ÀÖ´Â ÇÁ·ÎÅäÄÝÀÌ´Ù. °ü¸®´ë»óÀÌ µÇ´Â Àåºñµé¿¡´Â Agent °¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß Çϰí À̵é Agent ·ÎºÎÅÍ
Á¤º¸¸¦ ¹Þ´Â È£½ºÆ®¸¦ Manager ¶ó ÇÑ´Ù. SNMP´Â RFC-1157¿¡ Á¤ÀǵǾî ÀÖÀ¸¸ç ³×Æ®¿÷ Àåºñ¸¦ »ý»êÇÏ´Â
´ëºÎºÐÀÇ ¾÷ü¿¡¼´Â RFC-1157 À» µû¶ó »ý»êÇÔÀ¸·Î½á ´Ù¸¥ ³×Æ®¿÷ Àåºñ¿ÍÀÇ È£È¯¼ºÀ» À¯ÁöÇÏ°Ô ÇÑ´Ù
SNMPÀÇ RFC-1157 ¹®¼´Â ¾Æ·¡ÀÇ URL¿¡¼ º¼¼ö ÀÖ´Ù
ftp://ftp.isi.edu/in-notes/rfc1157.txt
ucd-snmp ´Â ¸Á°ü¸® ÇÁ·ÎÅäÄÝÀÎ SNMP ¸¦ ÀÌ¿ëÇÒ¼ö ÀÖµµ·Ï ÇØÁÖ´Â °ø°³ ¼ÒÇÁÆ®¿þ¾îÀÌ´Ù. ucd-snmp ´Â
ÇöÀç ¹öÀü 5´ë·Î ¿Ã¶ó°¡¸é¼ ÇÁ·ÎÁ§Æ®ÀÇ À̸§À» net-snmp ·Î º¯°æÇÑ »óÅÂÀÌ´Ù. ÀϹÝÀûÀ¸·Î ¸¹ÀÌ »ç¿ëµÇ°í
ÀÖ´Â ucd-snmpÀÇ ¹öÀüÀº 4´ëÀÌ´Ù.
0.´Ù¿î¹Þ±â(¼Ò½º)
ucd-snmp-4.2.6.tar.gz ( http://net-snmp.sourceforge.net )
1.¼³Ä¡Çϱâ
ÀÌÀü¿¡ Redhat ¼³Ä¡½Ã RPM ÇüÅ·Π¼³Ä¡µÈ snmp °¡ ÀÖ´ÂÁö È®ÀÎÇϰí À̸¦ Á¦°ÅÇÑ´Ù.
¶ÇÇÑ ½ÇÇàÁßÀÎ snmpd µ¥¸óµµ Á¾·á½ÃŲ´Ù
±âº»À¸·Î ¼³Ä¡µÈ ucd-snmp ´Â Àüü ÆÐŰÁö°¡ ¼³Ä¡µÈ°ÍÀÌ ¾Æ´Ï¹Ç·Î ´Ù½Ã ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ¼Ò½º·Î ¼³Ä¡ÇÒ °ÍÀÌ´Ù
´Ù¿î¹ÞÀº ÆÄÀÏÀ» ÀÓÀÇÀÇ µð·ºÅ丮¿¡¼ ¾ÐÃàÀ» Ç®°í »ý¼ºµÈ µð·ºÅ丮·Î À̵¿ÇÑ´Ù
[root root]# tar xvfz ucd-snmp-4.2.6.tar.gz
[root root]# cd ucd-snmp-4.2.6
configure ¸¦ ÇÏ°ÔµÇ¸é ¸î°¡Áö Áú¹®µéÀÌ ³ª¿À´Âµ¥ ±×³É ±âº»°ªÀ» »ç¿ëÇÒ°ÍÀ̹ǷΠ¿£ÅÍ۸¦ Ä¡°í ³Ñ¾î°£´Ù
[root ucd-snmp-4.2.6]# ./configure
configure ÀÛ¾÷ÀÌ ³¡³µÀ¸¹Ç·Î ÀÌÁ¦ ÄÄÆÄÀÏÀ» ÇÑ´Ù
[root ucd-snmp-4.2.6]# make
[root ucd-snmp-4.2.6]# make install
¼³Ä¡°¡ ¿Ï·áµÇ¸é ¾Æ·¡ÀÇ À§Ä¡¿¡ ÆÄÀϵéÀÌ ¼³Ä¡µÈ´Ù
/usr/local/bin ÀϹÝÀûÀÎ ¸í·É¾îµé
/usr/local/sbin µ¥¸óµé
/usr/local/lib ¶óÀ̺귯¸®µé
/usr/local/include/ucd-snmp Çì´õÆÄÀϵé
2.SNMP Agent(snmpd)¸¦ À§ÇÑ È¯°æ¼³Á¤
/usr/local/share/snmp ¿¡ snmpd.conf ÆÄÀÏÀ» ¸¸µé¾î¾ß Çϴµ¥ ¹Ì¸® ¸¸µé¾îÁø°ÍÀ» º¹»çÇÏ¿© »ç¿ëÇÏ¸é µÈ´Ù
[root ucd-snmp-4.2.6]# cp EXAMPLE.conf /usr/local/share/snmp/snmpd.conf
/usr/local/share/snmp ·Î À̵¿ÇÏ¿© Á»Àü¿¡ º¹»çÇÑ ÆÄÀÏÀ» ÀϺΠ¼öÁ¤ÇÑ´Ù
[root ucd-snmp-4.2.6]# cd /usr/local/share/snmp
[root snmp] vi snmpd.conf
...
com2sec local localhost private
com2sec mynetwork 211.225.118.0/24 public
...
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
group MyROGroup usm mynetwork
À§ÀÇ ³»¿ëÀº private ¶ó´Â ±×·ì(community) ÀÇ IP ´Â localhost À̰í Á¢±Ù ±ÇÇÑÀº Read/Write À̸ç,
public À̶ó´Â ±×·ìÀÇ IP´Â 211.225.118.0/255.255.255.0 À̰í Á¢±Ù ±ÇÇÑÀº Read Only ¸¦ ÀǹÌÇÑ´Ù
Agent ·Î µ¿ÀÛÇÒ °æ¿ì ¾Æ¹«µ¥¼³ª Á¢±ÙÇÏÁö ¸øÇϵµ·Ï Çϴ°ÍÀÌ´Ù
3.Å×½ºÆ®
snmpd µ¥¸óÀ» ¾Æ·¡¿Í °°ÀÌ ¶ç¿î´Ù
[root root]# /usr/local/sbin/snmpd
¾Æ·¡Ã³·³ ÇÏ¿© private ±×·ì ±ÇÇÑÀ¸·Î localhost¸¦ system OID ÀÇ Á¤º¸¸¦ ÀÐÀ» ¼ö ÀÖ´Ù
[root root]# snmpwalk localhost private system
¾Æ·¡Ã³·³ ÇÏ¿© public ±×·ì ±ÇÇÑÀ¸·Î ¿ÜºÎÀÇ 211.255.118.38 ÀÇ system OID ÀÇ Á¤º¸¸¦ ÀÐÀ» ¼ö ÀÖ´Ù
¹°·Ð 211.255.118.38 ÀÇ snmpd.conf ¿¡ pubic ±×·ìÀÌ À§¿Í °°ÀÌ °°Àº ³×Æ®¿öÅ© ´ëÀÇ Á¢±ÙÀ» Çã¿ëÇß¾î¾ß ÇÑ´Ù
[root root]# snmpwalk 211.255.118.38 public system
4.À¯¿ëÇÑ OID ¸ðÀ½
1.CPU
1.1 Á¤º¸
[root root]# snmpwalk localhost private systemStats
enterprises.ucdavis.systemStats.ssIndex.0 = 1
enterprises.ucdavis.systemStats.ssErrorName.0 = systemStats
enterprises.ucdavis.systemStats.ssSwapIn.0 = 0
enterprises.ucdavis.systemStats.ssSwapOut.0 = 0
enterprises.ucdavis.systemStats.ssIOSent.0 = 7
enterprises.ucdavis.systemStats.ssIOReceive.0 = 8
enterprises.ucdavis.systemStats.ssSysInterrupts.0 = 131
enterprises.ucdavis.systemStats.ssSysContext.0 = 62
enterprises.ucdavis.systemStats.ssCpuUser.0 = 0
enterprises.ucdavis.systemStats.ssCpuSystem.0 = 0
enterprises.ucdavis.systemStats.ssCpuIdle.0 = 98
enterprises.ucdavis.systemStats.ssCpuRawUser.0 = Counter32: 31282
enterprises.ucdavis.systemStats.ssCpuRawNice.0 = Counter32: 102
enterprises.ucdavis.systemStats.ssCpuRawSystem.0 = Counter32: 10047
enterprises.ucdavis.systemStats.ssCpuRawIdle.0 = Counter32: 3421252
1.2 ºÎÇÏ(1/5/15 ºÐ)
[root root]# snmpwalk localhost private enterprises.ucdavis.laTable.laEntry
[root root]# snmpwalk localhost private enterprises.ucdavis.laTable.laEntry.laLoad.1
[root root]# snmpwalk localhost private enterprises.ucdavis.laTable.laEntry.laLoad.2
[root root]# snmpwalk localhost private enterprises.ucdavis.laTable.laEntry.laLoad.3
2.Disk
[root root]# snmpwalk localhost private dskEntry
enterprises.ucdavis.dskTable.dskEntry.dskIndex.1 = 1
enterprises.ucdavis.dskTable.dskEntry.dskPath.1 = /
enterprises.ucdavis.dskTable.dskEntry.dskDevice.1 = /dev/hda2
enterprises.ucdavis.dskTable.dskEntry.dskMinimum.1 = 10000
enterprises.ucdavis.dskTable.dskEntry.dskMinPercent.1 = -1
enterprises.ucdavis.dskTable.dskEntry.dskTotal.1 = 38574396
enterprises.ucdavis.dskTable.dskEntry.dskAvail.1 = 33272604
enterprises.ucdavis.dskTable.dskEntry.dskUsed.1 = 3342264
enterprises.ucdavis.dskTable.dskEntry.dskPercent.1 = 9
enterprises.ucdavis.dskTable.dskEntry.dskPercentNode.1 = 3
enterprises.ucdavis.dskTable.dskEntry.dskErrorFlag.1 = 0
enterprises.ucdavis.dskTable.dskEntry.dskErrorMsg.1 =
3.Memory
[root root]# snmpwalk localhost private memory
enterprises.ucdavis.memory.memIndex.0 = 0
enterprises.ucdavis.memory.memErrorName.0 = swap
enterprises.ucdavis.memory.memTotalSwap.0 = 779144
enterprises.ucdavis.memory.memAvailSwap.0 = 779144
enterprises.ucdavis.memory.memTotalReal.0 = 385112
enterprises.ucdavis.memory.memAvailReal.0 = 19064
enterprises.ucdavis.memory.memTotalFree.0 = 798208
enterprises.ucdavis.memory.memMinimumSwap.0 = 16000
enterprises.ucdavis.memory.memShared.0 = 0
enterprises.ucdavis.memory.memBuffer.0 = 33460
enterprises.ucdavis.memory.memCached.0 = 236116
enterprises.ucdavis.memory.memSwapError.0 = 0
enterprises.ucdavis.memory.memSwapErrorMsg.0 =
5.Network
5.1 bandwidth
[root root]# snmpwalk localhost private interfaces.ifTable.ifEntry.ifSpeed
interfaces.ifTable.ifEntry.ifSpeed.1 = Gauge32: 10000000 -> lo
interfaces.ifTable.ifEntry.ifSpeed.2 = Gauge32: 10000000 -> eth0
[root root]# snmpwalk localhost private interfaces.ifTable.ifEntry.ifPhysAddress
interfaces.ifTable.ifEntry.ifPhysAddress.1 =
interfaces.ifTable.ifEntry.ifPhysAddress.2 = 0:1:2:fd:17:45
5.2 traffic
[root root]# snmpwalk localhost private interfaces.ifTable.ifEntry.ifInOctets
interfaces.ifTable.ifEntry.ifInOctets.1 = Counter32: 39057 -> lo
interfaces.ifTable.ifEntry.ifInOctets.2 = Counter32: 43247592 -> eth0
[root root]# snmpwalk localhost private interfaces.ifTable.ifEntry.ifOutOctets
interfaces.ifTable.ifEntry.ifOutOctets.1 = Counter32: 39509
interfaces.ifTable.ifEntry.ifOutOctets.2 = Counter32: 2168525
[root root]$ snmpwalk localhost private interfaces.ifTable.ifEntry.ifInUcastPkts
interfaces.ifTable.ifEntry.ifInUcastPkts.1 = Counter32: 574
interfaces.ifTable.ifEntry.ifInUcastPkts.2 = Counter32: 592010
[root root]$ snmpwalk localhost private interfaces.ifTable.ifEntry.ifOutUcastPkts
interfaces.ifTable.ifEntry.ifOutUcastPkts.1 = Counter32: 580
interfaces.ifTable.ifEntry.ifOutUcastPkts.2 = Counter32: 18896
6.¼º´ÉÃøÁ¤½Ã ÀÚÁÖ »ç¿ëµÇ´Â OID
Network I/O:
incoming network traffic: .1.3.6.1.2.1.2.2.1.10
outgoing network traffic: .1.3.6.1.2.1.2.2.1.16
Sysyem Load:
Load5, Load10 and Load15:.1.3.6.1.4.1.2021.10.1.3
CPU Usage:
CPU_usr, CPU_nice, CPU_nice and CPU_idle:.1.3.6.1.4.1.2021.11
Memory Usage:
MEM_free, Swap_MEM_Free:.1.3.6.1.4.1.2021.4
Disk Usage:
FreeDSK, UsedDsk:.1.3.6.1.4.1.2021.9 |
|