½Ã½ºÅÛ ¸ð´ÏÅ͸µÀ̶ó°í ÇÏ¸é ¹º°¡ º¹ÀâÇÏ°í ¾î·Á¿î °ÍºÎÅÍ »ý°¢µÇ°í ½ÇÁ¦·Î ±ÍÂúÀº ÀÛ¾÷À̱⵵ ÇÕ´Ï´Ù. ÀÌÀ¯ÀÖ´Â ¹®Á¦µµ ÀÖÁö¸¸ ±×·¸Áö ¾ÊÀº °æ¿ìµµ ¸¹½À´Ï´Ù. ½Ã½ºÅÛ ¿¡·¯ÀÇ ¿øÀÎÀ» ¾Ë ¼ö ¾øÀ» ¶§´Â Âü ´ä´äÇÕ´Ï´Ù. ±×·¸´Ù¸é ±× ÇØ°áÃ¥À» ¹«¾ùÀϱî¿ä? ½º½º·Î °£´ÜÇÑ ½Ã½ºÅÛ ¸ð´ÏÅ͸µ ÅøÀ» ¸¸µé¾î º¸´Â °ÍÀÔ´Ï´Ù. SNMP¿¡ ´ëÇÑ ±âº» Áö½ÄÀÌ ÀÖ´Ù¸é PHP¸¦ ÀÌ¿ëÇØ °£´ÜÇÏ°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¸®´ª½º¿¡¼ PHP¿Í SNMP¸¦ ÀÌ¿ëÇÑ °£´ÜÇÑ ½Ã½ºÅÛ ¸ð´ÏÅ͸µ¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
ÇÁ·Î±×·¡¹ÖÇÏ´Ù º¸¸é ÀÌÀ¯ ¾øÀÌ ½Ã½ºÅÛÀÌ ´Ù¿îµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¹°·Ð ÀÌÀ¯°¡ ¾ø´Ù´Â ¸»Àº ÀÌÀ¯¸¦ ¾Ë ¼ö ¾ø´Â °æ¿ìÀÔ´Ï´Ù. ±×·¸´Ù°í 24½Ã°£ ¼¹ö¸¸ ºÙÀâ°í ÀÖÀ» ¼öµµ ¾øÀ» °ÍÀÔ´Ï´Ù. ±×·¡¼ ³ª¿Â °ÍÀÌ ½Ã½ºÅÛ ¸ð´ÏÅ͸µ ÅøÀÏ °ÍÀÔ´Ï´Ù. ½Ã½ºÅÛ ¸ð´ÏÅ͸µÀÇ ¿µ¿ªÀº ³Ð°í ¹æ´ëÇÏÁö¸¸ ¿©±â¼ ¸¸µé¾îº¸°íÀÚ ÇÏ´Â °ÍÀº SNMP¸¦ °¡Áö°í Á÷Á¢ ½Ã½ºÅÛÀÇ ÇÊ¿äÇÑ ºÎºÐÀ» ¸ð´ÏÅ͸µÇØ º¸´Â °ÍÀÔ´Ï´Ù. Á÷Á¢ ¸¸µé¾îº¸¸é ÇÊ¿äÇÑ ºÎºÐÀ» ¿øÇÏ´Â ¹æ½ÄÀ¸·Î ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð Á÷Á¢ ¸¸µå´Â °ÍÀÌ º¹ÀâÇÏ´Ù´Â »ý°¢ÀÌ µé ¼öµµ ÀÖ½À´Ï´Ù. ±×·± °ÍÀ» ¾î¶»°Ô ¸¸µé±î ÇÏ´Â »ý°¢ÀÌ µé ¼öµµ ÀÖ½À´Ï´Ù. ±×·¯³ª ÀǿܷΠ½¬¿î ¹æ¹ýÀÌ Àִµ¥, ¹Ù·Î SNMPÀÇ °ªÀ» Ȱ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. SNMP¸¦ ÀÌ¿ëÇÏ¸é ¸Å¿ì °£´ÜÇÏ°Ô ½Ã½ºÅÛ ¸ð´ÏÅ͸µ¿¡ ÇÊ¿äÇÑ °ªÀ» °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù.
±×·¸´Ù¸é ¾î¶² °ªÀ» °¡Á®¿Ã ¼ö ÀÖ´ÂÁö ¸ÕÀú ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. SNMP·Î ½±°Ô °ªÀ» °¡Á®¿Ã ¼ö ÀÖÁö¸¸ ±×·¸´Ù°í ÇØ¼ SNMP°¡ ±×¸® ¸¸¸¸ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. ¿Ö³ÄÇϸé SNMP·Î °¡Á®¿Ã ¼ö ÀÖ´Â ½Ã½ºÅÛ ¸ð´ÏÅ͸µ °ª ¶ÇÇÑ ¸Å¿ì ¹æ´ëÇϱ⠶§¹®ÀÔ´Ï´Ù. ±×·¯³ª °£´ÜÇÑ ¸ð´ÏÅ͸µ ÇÁ·Î±×·¥À» ¸¸µé¾î º¸±â À§Çؼ SNMPÀÇ ¸ðµç ºÎºÐÀ» ¾Ë ÇÊ¿ä´Â ¾øÀ» °ÍÀÔ´Ï´Ù. Áö±Ý ÇÊ¿äÇÑ ºÎºÐ¸¸ ÀÍÇô¼ »ç¿ëÇÏ¸é µÇ°í ³ªÁß¿¡ ÇÊ¿äÇÑ ºÎºÐÀÌ ÀÖÀ¸¸é Â÷±ÙÂ÷±Ù ¾Ë¾Æ°¡¸é µË´Ï´Ù.
±×·¸´Ù¸é ½Ã½ºÅÛ ¸ð´ÏÅ͸µ¿¡ ÀÖ¾î¼ °¡Àå ÇÊ¿äÇÑ °ª¿¡´Â ¾î¶² °ÍµéÀÌ ÀÖÀ»±î¿ä? ±×°ÍÀº ¹Ù·Î cpu¿Í ¸Þ¸ð¸®ÀÏ °ÍÀÔ´Ï´Ù. ±×¸®°í ÇöÀç ½Ã½ºÅÛ¿¡ ¾î¶² ÇÁ·Î¼¼½ºµéÀÌ ÀÖ´ÂÁöµµ ¾Ë¾Æ¾ßÇÒ °ÍÀÔ´Ï´Ù. ÀÌ Á¤µµ °ª¸¸ ¾Ë ¼ö À־ °£´ÜÇÏ°Ô ¿ø°ÝÀ¸·Î ¼¹ö¸¦ ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é ÀÌ·± °ªµéÀ» °¡Á®¿À±â À§Çؼ´Â ±âº»ÀûÀÎ ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¿©±â¼´Â ÇÁ·Î±×·¥ÀÇ ¼³Ä¡µÇ¾î ÀÖ´Ù´Â °¡Á¤ ¾Æ·¡ ½ÇÁ¦·Î SNMP °ªÀ» °¡Á®¿À´Â ºÎºÐ°ú SNMPÀÇ °£´ÜÇÑ ¸í·É¾î¸¦ ÀÍÈ÷°Ô µË´Ï´Ù. ±×¸®°í PHP¿¡¼ SNMP °ªÀ» °¡Á®¿À´Â ¹æ¹ý°ú PHP¿¡¼ °¡Á®¿À´Â °ªÀ» Ȱ¿ëÇØ¼ ¸ð´ÏÅ͸µ ÇÁ·Î±×·¥À» ¾î¶»°Ô ¸¸µé¾î¾ß ÇÏ´ÂÁöµµ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
SNMP ¸ð´ÏÅ͸µÀ» Çϱâ À§Çؼ ÇÊ¿äÇÑ °Íµé
½ÇÁ¦·Î ¸ð´ÏÅ͸µ ÇÁ·Î±×·¥À» ¸¸µé±â À§Çؼ ÇÊ¿äÇÑ °Í¿¡´Â ¾î¶² °ÍÀÌ ÀÖ´ÂÁö ¾Ë¾Æº¸°Ú½À´Ï´Ù. ¸ÕÀú ¸ð´ÏÅ͸µÇÒ ¼¹ö¿¡ SNMP°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. À©µµ¿ì ¼¹ö¿Í ¸®´ª½º ¼¹öÀÇ SNMP °ªÀº °¢°¢ ´Ù¸¨´Ï´Ù. ¿©±â¼ »ç¿ëÇÏ´Â °ÍÀº ¸®´ª½ºÀÔ´Ï´Ù. ¸®´ª½º¿¡ ÀÏ´Ü net-snmp(http://net-snmp.sourceforge.net/)°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê´Ù¸é ÀÌ »çÀÌÆ®¿¡¼ ¹Þ¾Æ¼ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í PHP¿¡¼ SNMP ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀÎ À¥»çÀÌÆ® ¼ºñ½º¸¦ À§Çؼ PHP°¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é SNMP °ü·Ã ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³Ä¡ÇØ ÁÖ¸é µË´Ï´Ù.
ÀÌ µÎ °¡Áö¸¸ °®Ãß¾îÁ® ÀÖ´Ù¸é ÀÌÁ¦ ÇÊ¿äÇÑ °ÍÀº SNMP °ªÀ» °¡Á®¿À´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ¾î¶² °ªÀ» °¡Á®¿Ã Áö¸¦ ¹Ì¸® Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í °¡Àå Áß¿äÇÑ °ÍÀº SNMP¿¡ ´ëÇÑ ±âº» Áö½ÄÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¹«Á¶°Ç SNMP °ªÀ» °¡Á®´Ù ¾²´Â °Íº¸´Ù´Â SNMP¿¡ ´ëÇÑ ±âº» Áö½ÄÀ» ¾Ë°í ÀÖÀ¸¸é ´õ ÁÁÀ» °ÍÀÔ´Ï´Ù. ¿©±â¼´Â ÇÑ ´ëÀÇ ¼¹ö¸¦ ¸ð´ÏÅ͸µÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¿©·¯ ´ëÀÇ ¼¹ö¸¦ ¸ð´ÏÅ͸µÇÒ ¼ö Àֱ⠶§¹®¿¡ ¸ð´ÏÅ͸µÇÏ´Â ¼¹ö ¶ÇÇÑ SNMP°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. SNMP ¶ÇÇÑ È¯°æ ¼³Á¤À» µû·Î ÇÒ ¼ö Àֱ⠶§¹®¿¡ °ªÀ» °¡Á®¿À´Â ¹æ½ÄÀÌ Á¶±Ý ´Ù¸¦ ¼ö ÀÖ°ÚÁö¸¸ ¿©±â¼´Â ±âº»ÀûÀÎ SNMP ¹æ½ÄÀ¸·Î ¼³¸íÇϰڽÀ´Ï´Ù.
SNMP ±âº» ¸í·É¾î ÀÍÈ÷±â
¼¹ö¿¡¼ SNMP °ªÀ» °¡Á®¿À´Â ¹æ¹ýÀº SNMP¸¦ ¼³Ä¡ÇÒ ¶§ °°ÀÌ ¼³Ä¡µÇ´Â SNMP °ü·Ã ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼ °¡´ÉÇÕ´Ï´Ù. ¸ÕÀú ÇØ´ç ¼¹ö¿¡ SNMP°¡ ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù. ¸®´ª½º¿¡¼´Â ÇØ´ç ¼¹ö¿¡ SNMP µ¥¸óÀÌ ½ÇÇàµÇ´Â ps ¸í·ÉÀ¸·Î ¸ÕÀú È®ÀÎÇØ º¾´Ï´Ù.
¡ß ¸®´ª½º¿¡¼ SNMP µ¥¸óÀÌ ÀÖ´ÂÁö È®ÀÎÇϱâ
- ps -aux | grep snmpd
±×¸®°í SNMP °ªÀ» °¡Á®¿À´Â µ¥ ÁÖ·Î »ç¿ëÇÏ´Â ¸í·É¾î´Â snmpwalkÀÔ´Ï´Ù. ¹°·Ð ÀÌ ¸í·É¾î À̿ܿ¡µµ ¸î °¡Áö°¡ ´õ ÀÖ½À´Ï´Ù. ±×·¯³ª snmpwalk ¸í·É¾î·Î À¢¸¸ÇÑ °ªÀ» °ÅÀÇ ´Ù °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù. snmpwalk´Â ÇÑ °¡Áö °ª¸¸ °¡Á®¿Ã ¼öµµ ÀÖ°í °ü·ÃµÈ °ªÀ» ¸ðµÎ °¡Á®¿Ã ¼öµµ ÀÖ½À´Ï´Ù.
¡ß SNMP system °ü·Ã °ª °¡Á®¿À±â
- snmpwalk localhost public system
- snmpwalk ****.com public system
ÀÌ ¸í·ÉÀº localhostÀÇ system °ü·Ã °ªÀ» °¡Á®¿À´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ÇØ´ç ¼¹ö¸¦ ÁöÁ¤ÇÏ¸é ±× ¼¹öÀÇ °ªµµ °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð ´Ù¸¥ ¼¹öÀÇ °ªÀ» °¡Á®¿À°íÀÚ ÇÒ °æ¿ì ±× ¼¹ö¿¡ SNMP°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¸´Ù¸é SNMP°¡ ¼³Ä¡µÇ¾î ÀÖ´Â ¼¹ö´Â ¹«Á¶°Ç ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖÀ»±î¿ä? ÀÏ´Ü ±× ¼¹ö¿¡ Á¢±Ù ±ÇÇÑÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×¸®°í SNMP ȯ°æ ¼³Á¤¿¡¼ ÁöÁ¤ÇÑ °ª¸¸À» ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ½À´Ï´Ù. º¸¾È»ó SNMP °ªÀ» ¸ðµÎ ¸ð´ÏÅ͸µÇϵµ·Ï Çã¿ëÇÑ °ÍÀÌ ¾Æ´Ï¶ó ÀϺΠ°ª¸¸ ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖµµ·Ï Çã¿ëÇßÀ» ¼öµµ ÀÖ½À´Ï´Ù.
¡ß SNMP system °ü·Ã °ªÀÇ ÀϺÎ
- system.sysDescr.0 = Linux localhost ...
- system.sysObjectID.0 = OID:
- enterprises.ucdavis.ucdSnmpAgent.linux
- system.sysUpTime.0 = Timeticks: (3526547) 15:33:12.22
- system.sysContact.0 = admin@****.com
- system.sysName.0 = ****.com
- system.sysLocation.0 = Unknown
= system.sysORLastChange.0 = Timeticks: (9) 0:00:00.09
system °ü·Ã °ªÀÇ ÀϺÎÀÔ´Ï´Ù. ½Ã½ºÅÛ¿¡ °ü·ÃµÈ °ªÀ» ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é ÀÌ·¸°Ô ÀüºÎ°¡ ¾Æ´Ñ ÇϳªÀÇ °ª¸¸ ±¸ÇÏ·Á¸é ¾î¶»°Ô ÇÒ±î¿ä?
¡ß ÇϳªÀÇ °ª¸¸ ±¸Çϱâ
- snmpwalk ****.com public system.sysDescr.0
- snmpwalk ****.com public sysDescr.0
ÇϳªÀÇ °ª¸¸ ±¸ÇϰíÀÚ ÇÒ °æ¿ì¿¡´Â ÀÌ·¸°Ô ÇØ´ç °ªÀ» ÁöÁ¤ÇØ ÁÖ¸é µË´Ï´Ù. ±×¸®°í SNMP´Â °ªÀ» ±¸ÇÏ´Â °Í¸¸ÀÌ ¾Æ´Ï¶ó ÇØ´ç °ªÀ» ¼³Á¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. °ªÀ» ±¸ÇÏ´Â °ÍÀº ´Ü¼øÈ÷ ÇØ´ç ¼¹öÀÇ °ªÀ» ±¸ÇÏ´Â °ÍÀ̱⠶§¹®¿¡ º°´Ù¸¥ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù. ±×·¯³ª °ªÀ» ¼³Á¤ÇÏ´Â °ÍÀº ÇØ´ç ¼¹ö¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼öµµ ÀÖ½À´Ï´Ù. ¿©±â¼´Â °£´ÜÇÑ ¸ð´ÏÅ͸µÀ» À§ÇÑ SNMP °ªÀ» ÀÌ¿ëÇϱ⠶§¹®¿¡ SNMP °ªÀ» ¼³Á¤ÇÏ´Â ºÎºÐÀº ´Ù·çÁö ¾Ê½À´Ï´Ù.
CPU, ¸Þ¸ð¸® °ª °¡Á®¿À±â
¸ð´ÏÅ͸µÇϱâ À§Çؼ ÁÖ·Î »ç¿ëµÇ´Â °ªÀÎ cpu, ¸Þ¸ð¸® ±×¸®°í Load Averages °ªÀ» °¡Á®¿À´Â ºÎºÐÀ» ¾Ë¾Æº¸°Ú½À´Ï´Ù. cpu °ªÀ» °¡Á®¿À±â À§Çؼ´Â ÇØ´ç MIB¸¦ ÀÔ·ÂÇØ ÁÖ¸é µË´Ï´Ù. ¿©±â¼ »ç¿ëµÇ´Â MIB °ªÀº °øÅëÀûÀ¸·Î »ç¿ëµÇ´Â °ÍÀÔ´Ï´Ù. MIB´Â OID¶ó´Â ¼ýÀڷεµ Ç¥±âµÉ ¼ö ÀÖÀ¸¸ç Á¤È®ÇÏ°Ô ssCpuUserÀÇ °èÃþ±¸Á¶±îÁö ´Ù Àû´Â´Ù¸é nterprises.ucdavis.systemStats.ssCpuUser Ç¥ÇöµÉ ¼öµµ ÀÖ½À´Ï´Ù. OID °ªÀ¸·Î Ç¥ÇöÇϸé 1.3.6.1.4.1.2021.11.9.0ÀÌ µË´Ï´Ù. ¸ðµÎ °°Àº ÀǹÌÀÔ´Ï´Ù.
¡ß cpu °ü·Ã °ª °¡Á®¿À±â
- snmpwalk ****.com public ssCpuUser
- snmpwalk ****.com public ssCpuSystem
- snmpwalk ****.com public ssCpuIdle
ÀÌ·¸°Ô ÇÏ¸é °¢°¢ cpu »ç¿ë ÆÛ¼¾Æ®¸¦ °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù. ÀÌ °ªÀº ¸®´ª½º¿¡¼ top ¸í·É¾î¸¦ ½ÇÇàÇßÀ» ¶§ cpu user, system, idle °ª°ú °°Àº °ªÀ» °¡Á®¿À°Ô µË´Ï´Ù. ÇØ´ç ¼¹ö¿¡ Á¢¼ÓÇÏÁö ¾Ê°íµµ SNMP¸¦ ÀÌ¿ëÇϸé ÇÑ ÁÙŸ× ¸í·ÉÀ¸·Î cpu °ªÀ» °¡Á®¿Ã ¼ö°¡ ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é ¸Þ¸ð¸® °ü·Ã °ªµé¿¡´Â ¾î¶² °ÍÀÌ ÀÖÀ»±î¿ä?
¡ß ¸Þ¸ð¸® °ü·Ã °ª °¡Á®¿À±â
- snmpwalk ****.com public memTotalReal
- snmpwalk ****.com public memTotalFree
- snmpwalk ****.com public memShared
- snmpwalk ****.com public memBuffer
- snmpwalk ****.com public memCached
ÀÌ·¸°Ô ÇÏ¸é ¸Þ¸ð¸® °ü·Ã SNMP °ªÀ» °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù. ÀÌ °ª ¶ÇÇÑ top ¸í·ÉÀ» ½ÇÇàÇßÀ» ¶§ Ãâ·ÂµÇ´Â ¸Þ¸ð¸® °ü·Ã °ªµé°ú °°½À´Ï´Ù.
¡ß Load Averages °ª °¡Á®¿À±â
- snmpwalk ****.com public laLoad.1
- snmpwalk ****.com public laLoad.2
- snmpwalk ****.com public laLoad.3
°¢°¢ 1, 5, 10ºÐÀÇ Load Averages °ªÀ» °¡Á®¿É´Ï´Ù. ÀÌ·¸µí SNMP¸¦ ÀÌ¿ëÇÏ¸é ½±°íµµ °£´ÜÇÏ°Ô ´Ù¸¥ ¼¹öÀÇ ¸ð´ÏÅ͸µ¿¡ ÇÊ¿äÇÑ °ªÀ» °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô SNMP °ªÀ» ¸ð´ÏÅ͸µ °ª¿¡ »ç¿ëÇÏ·Á¸é MIB ¶Ç´Â OID¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¸´Ù¸é MIB´Â ¾î¶»°Ô ¾Ë ¼ö ÀÖÀ»±î¿ä? ¿©·¯ »çÀÌÆ®¿Í ¹®¼°¡ ÀÖ°ÚÁö¸¸ net-snmp »çÀÌÆ®¿¡¼ Á¦°øÇÏ´Â ¹®¼¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. cpu, ¸Þ¸ð¸®, Load Averages MIB°¡ Æ÷ÇԵǾî ÀÖ´Â ¹®¼´Â http://net-snmp.sourceforge.net/mibs/UCD-SNMP-MIB.txt¿¡¼ º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®¼¿¡ ÀÖ´Â MIB °ªÀ» Âü°íÇÑ´Ù¸é Á» ´õ ´Ù¾çÇÑ °ªÀ» ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
MIB, OID´Â °°´Ù
ssCpuUser, memTotalFree, laLoad.1 µî ÀÌ·± °ªµéÀ» MIB¶ó°í ºÎ¸¨´Ï´Ù. MIB´Â °£´ÜÇÏ°Ô ¼³¸íÇϸé SNMPÀÇ °ªµéÀ» ºÐ·ùÇØ ³õÀº °ÍÀÔ´Ï´Ù. ±×¸®°í MIB¿¡ ÇØ´çÇÏ´Â OID °ªÀÌ ÀÖ½À´Ï´Ù. ssCpuUser´Â Ãà¾àÇÑ °ÍÀ¸·Î enterprises.ucdavis.systemStats.ssCpuUser¶ó°í ½áÁÖ¸é µË´Ï´Ù. ±×¸®°í À̰ÍÀÇ OID °ªÀº 1.3.6.1.4.1.2021.11.9°¡ µË´Ï´Ù.
¡ß MIB¿Í OID ¿¹
- MIB : enterprises.ucdavis.systemStats.ssCpuUser
(OID : 1.3.6.1.4.1.2021.11.9)
- MIB : enterprises.ucdavis.memory.memTotalFree
(OID : 1.3.6.1.4.1.2021.4.11)
- MIB : enterprises.ucdavis.laTable.laEntry.laLoad
(OID : 1.3.6.1.4.1.2021.10.1.3)
¡ß MIB, OID·Î °ª ¾ò±â
- snmpwalk ****.com public ssCpuUser
- snmpwalk ****.com public enterprises.ucdavis.systemStats.ssCpuUser
- snmpwalk ****.com public .1.3.6.1.4.1.2021.11.9
°¢°¢ MIB, OID·Î °ªÀ» °¡Á®¿À´Â °ÍÀÔ´Ï´Ù. MIB¿Í OID °ªÀº °°½À´Ï´Ù. MIB´Â °èÃþ±¸Á¶·Î ÀÌ·ïÁ® ÀÖ½À´Ï´Ù. ÃÖ»óÀ§ °èÃþÀ» º¸¸é System, Interface, IP, ICMP, TCP, UDP, EGP, Transmission, SNMP ±×·ìµé·Î ÀÌ·ïÁ® ÀÖ°í ÇÏÀ§ ±×·ìÀº Æ®¸®±¸Á¶¸¦ ÀÌ·ç°í ÀÖ½À´Ï´Ù.
SNMP´Â ¾î¶»°Ô PHP ¾È¿¡ µé¾î°¬À»±î?
ÀϹÝÀûÀ¸·Î PHP´Â À¥ »çÀÌÆ®¸¦ Á¦ÀÛÇϴµ¥ ÁÖ·Î »ç¿ëµÇ°í ÀÖ½À´Ï´Ù. ¹°·Ð ´Ù¸¥ °÷¿¡µµ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù. À¥ »çÀÌÆ®¸¦ ¸¸µå´Â µ¥¸¸ ÁÖ·Î »ç¿ëÇÏ´Ù º¸¸é ´Ù¸¥ °÷¿¡ »ç¿ëÇÒ »ý°¢À» Àؾî¹ö¸®´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¡®½Ã½ºÅÛ ¸ð´ÏÅ͸µÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î¾ß Çϴµ¥ ¾î¶² ¾ð¾î¸¦ ÀÌ¿ëÇØ¼ ¸¸µé ¼ö ÀÖÀ»±î?¡¯´Â Áú¹®¿¡¼ PHP¸¦ ¶°¿Ã¸®±â´Â ½±Áö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ±×·¯³ª µ¥ÀÌÅͺ£À̽º¸¦ ¿¬µ¿ÇÑ ÇÁ·Î±×·¥ À̿ܿ¡µµ PHP·Î ÇÒ ¼ö ÀÖ´Â °ÍÀº ¸¹ÀÌ ÀÖ½À´Ï´Ù.
Á» ´õ ÀÚ¼¼È÷ »ìÆìº¸¸é ÀǿܷΠPHP¿¡´Â ¸¹Àº ÇÔ¼öµéÀÌ Á¸ÀçÇϰí ÀÖ´Ù´Â °ÍÀ» ¾Ë °Ô µÉ °ÍÀÔ´Ï´Ù. ²À ÇÊ¿äÇÏÁö ¾Ê´Â ÇÔ¼ö¶ó¸é ±»ÀÌ »ç¿ëÇÒ Çʿ䰡 ¾ø°ÚÁö¿ä. PHP¸¦ ¿À·¡ »ç¿ëÇÑ »ç¶÷ÀÌ¶óµµ ¡®ÀÌ·± ÇÔ¼ö°¡ ÀÖ¾ú³ª?¡¯°í ÇÒ Á¤µµ·Î ´Ù¾çÇÑ ÇÔ¼ö±ºÀÌ Á¸ÀçÇÕ´Ï´Ù. ±× Áß¿¡¼µµ SNMP °ü·Ã ÇÔ¼öµéÀÌ ÀÖ½À´Ï´Ù.
±×·¸´Ù¸é ¾î¶»°Ô PHP¿¡¼ SNMP ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀϱî¿ä? ±×°ÍÀº ¹Ù·Î PHPÀÇ È®À强ÀÔ´Ï´Ù. È®À强À̶õ ÇÊ¿äÇÑ ÇÔ¼ö¸¦ Ãß°¡Çؼ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. SNMP ÇÔ¼ö´Â ÀÌ¹Ì ´©±º°¡ °³¹ßÀ» ÇØ¼ PHP¿¡¼ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Ãß°¡ÇØ ³õ¾Ò±â ¶§¹®¿¡ ¿ì¸®´Â ÇÔ¼ö¸¦ È£ÃâÇØ¼ »ç¿ëÇϱ⸸ ÇÏ¸é µÇ´Â °ÍÀÔ´Ï´Ù. ±×·¸´Ù¸é Á÷Á¢ SNMP ÇÔ¼ö¸¦ PHP¿¡¼ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¸¸µé·Á¸é ¾î¶»°Ô ÇÏ¸é µÉ±î¿ä? PHP´Â C¾ð¾î·Î ¸¸µé¾îÁ³±â ¶§¹®¿¡ È®ÀåÀ» ÇÏ·Á¸é C¾ð¾î·Î È®ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð C, C++¸¦ ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ±×¸®°í C, C++·Î PHP ExtensionsÀ» ¸¸µé¾î¼ Ãß°¡ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. SNMP ¶ÇÇÑ PHP ExtensionsÀ¸·Î ¸¸µé¾î¼ Ãß°¡µÈ °ÍÀÔ´Ï´Ù.
P
HP¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â SNMP ÇÔ¼öµé
PHP¿¡¼´Â SNMP °ªÀ» ¾î¶»°Ô °¡Á®¿Ã ¼ö ÀÖÀ»±î¿ä? ±×°ÍÀº °£´ÜÇÏ°Ô SNMP ÇÔ¼ö¸¦ È£ÃâÇÔÀ¸·Î¼ °¡´ÉÇÕ´Ï´Ù. ¸î °¡ÁöÀÇ ÇÔ¼öµéÀÌ Àִµ¥ ´ÙÀ½Àº PHP¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â SNMP ÇÔ¼ö ÀÔ´Ï´Ù.
¡ß PHPÀÇ SNMP ÇÔ¼ö
- snmp_get_quick_print
- snmp_get_valueretrieval
- snmp_read_mib
- snmp_set_enum_print
- snmp_set_oid_numeric_print
- snmp_set_quick_print
- snmp_set_valueretrieval
- snmpget
- snmpgetnext
- snmprealwalk
- snmpset
- snmpwalk
- snmpwalkoid
ÀÌ ÇÔ¼öµé Áß¿¡¼ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀº snmpget, snmpwalkoidÀÔ´Ï´Ù. snmpgetÀº ÇϳªÀÇ °ªÀ» °¡Á® ¿Ã ¼ö ÀÖÀ¸¸ç snmpwalkoid´Â °ü·ÃµÈ °ªµéÀ» ¸ðµÎ °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù. <¸®½ºÆ® 1>À» º¸¸é snmpget ÇÔ¼öÀÇ »ç¿ë ¿¹°¡ ÀÖ½À´Ï´Ù. ¸ÕÀú snmp·Î cpu »ç¿ë·®À» °¡Á®¿À±â À§Çؼ´Â °ªÀ» °¡Á®¿Ã ¼¹ö¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±×¸®°í cpu idle °ª¿¡ ÇØ´çÇÏ´Â oid¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.
¡ß cpu idle ¿¡ ÇØ´çÇÏ´Â snmp oid
- .1.3.6.1.4.1.2021.11.11.0
±×¸®°í snmp ¼³Á¤¿¡ µû¶ó¼ ´Ù¸£°ÚÁö¸¸ Ä¿¹Â´ÏƼ¿¡ ÇØ´çÇÏ´Â °ªÀº ¡®public¡¯À¸·Î ÇØÁÖ¸é µË´Ï´Ù. ÀÌ ¼¼ °¡Áö °ªÀ» ÁöÁ¤Çϸé snmpget ÇÔ¼ö´Â ÇØ´ç ¼¹öÀÇ cpu idleÀÇ °ªÀ» °¡Á®¿À°Ô µË´Ï´Ù. °ªÀ» °¡Á®¿ÀÁö ¸øÇßÀ» °æ¿ì false¸¦ ¸®ÅÏÇÏ°Ô µË´Ï´Ù. ±×¸®°í °ªÀ» Á¤»óÀûÀ¸·Î °¡Á®¿ÔÀ» °æ¿ì¿¡´Â 10, 20 µî ÀÌ·± ½ÄÀ¸·Î cpu idle ÆÛ¼¾Æ® °ªÀÌ µé¾î ÀÖ°Ô µË´Ï´Ù.
| <¸®½ºÆ® 1> CPU »ç¿ë·® °¡Á®¿À±â | | | |
<?php
// CPU »ç¿ë
$host = "www.*****.com";
$oid = ".1.3.6.1.4.1.2021.11.11.0";
$timeout = 1;
// enterprises.ucdavis.systemStats.ssCpuIdle.0
$ssCpuIdle = @snmpget($host, "public", $oid, $timeout);
// °ªÀ» ±¸ÇÏÁö ¹µÇß´Ù¸é
if ($ssCpuIdle === false) {
$ssCpuUser = "Error";
} else {
//(user, system) = 100 - idle
$ssCpuUser = 100 - $ssCpuIdle;
// CPU »ç¿ë
$ssCpuUser = $ssCpuUser . "%";
}
// cpu »ç¿ë·®
echo $ssCpuUser;
?>
| |
 |
Ãâ·ÂÀº 10%, 20% µîÀ¸·Î ÇØÁÖ¸é µË´Ï´Ù. ±×·¯³ª ¿©±â¼ ±¸ÇϰíÀÚ Çß´ø °ªÀº ÇöÀç cpu »ç¿ë·®À̾ú½À´Ï´Ù. ±×·±µ¥ ¿Ö cpu »ç¿ë·®À» ±¸ÇÏÁö ¾ÊÀº °ÍÀϱî¿ä? ±× ÀÌÀ¯¸¦ ¾Ë±â À§Çؼ´Â ¸ÕÀú snmp¿¡¼ °¡Á®¿Ã ¼ö ÀÖ´Â cpu °ü·Ã °ªÀ» ¾Ë¾Æ¾ß ÇÕ´Ï´Ù.
¡ß snmp cpu °ü·Ã °ª
- ssCpuUser
cpu user °ªÀ» °¡Á®¿É´Ï´Ù.
- ssCpuSystem
cpu system °ªÀ» °¡Á®¿É´Ï´Ù.
- ssCpuIdle
cput idle °ªÀ» °¡Á®¿É´Ï´Ù.
ssCpuUser + ssCpuSystem + ssCpuIdle = 100(%)
¡ß ÇöÀç cpu »ç¿ë·®
ssCpuUser + ssCpuSystem
cpu »ç¿ë·® °ªÀ» ÆÛ¼¾Æ®·Î °¡Á®¿À°Ô µË´Ï´Ù. ¼¼ °¡Áö °ªÀ» ÇÕÇϸé 100ÀÌ µË´Ï´Ù. ±×·¡¼ cpu idle °ªÀ» °¡Á®¿Â ÈÄ¿¡ ¡®100-idle¡¯ ÇØÁÖ¸é ÇöÀç cpu »ç¿ë·®ÀÌ ³ª¿À°Ô µË´Ï´Ù. ÀÌ °ªÀº cpu »ç¿ëÀÇ ÆÛ¼¾Æ®¸¦ ÀǹÌÇϹǷΠ%¸¦ ºÙ¿©¼ Ãâ·ÂÇØ ÁÖ¸é µË´Ï´Ù.
echo $ssCpuUser . "%";
snmpget ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ cpu °ü·Ã °ªµéÀ» °¡Á®¿À´Â ¹æ¹ýÀ» ¾Ë¾ÆºÃ½À´Ï´Ù.
¸Þ¸ð¸® °ü·Ã °ª °¡Á®¿À±â
snmpget ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ¸Þ¸ð¸® °ü·Ã °ªÀ» °¡Á®¿À´Â ¹æ¹ý ¶ÇÇÑ cpuÀÇ °ªÀ» °¡Á®¿À´Â °Í°ú ºñ½ÁÇÕ´Ï´Ù. ¿©±â¼ ¸ÕÀú ¾Ë¾Æ¾ßÇÒ °ÍÀº ¸Þ¸ð¸® °ªÀ» °¡Á®¿À´Âµ¥ ÇÊ¿äÇÑ SNMP OID °ªÀÔ´Ï´Ù. <¸®½ºÆ® 2>¸¦ º¸¸é ¸Þ¸ð¸® °ü·Ã °ªÀ» °¡Á®¿À´Â ¿¹°¡ ÀÖ½À´Ï´Ù. ¸ÕÀú °ªÀ» °¡Á®¿Ã ¼¹ö¿Í ¸Þ¸ð¸® °ü·Ã OID °ªÀ» ÁöÁ¤ÇÕ´Ï´Ù.
¡ß ¸Þ¸ð¸® Free ±¸Çϱâ
// enterprises.ucdavis.memory.memTotalFree.0
$memTotalFree = @snmpget($host, "public", $oid, $timeout);
¸Þ¸ð¸® Free·®À» ±¸ÇÏ´Â °ÍÀÔ´Ï´Ù. °ªÀ» ±¸ÇßÀ» °æ¿ì¿¡´Â 12444, 45442 ÀÌ·¸°Ô ³²Àº ¸Þ¸ð¸® ·®À» ¸®ÅÏÇÏ°Ô µË´Ï´Ù. ÀÌ °ªÀº KB ´ÜÀ§À̹ǷΠÃâ·ÂÇϰíÀÚ ÇÒ °æ¿ì¿¡´Â K¸¦ ºÙ¿©¼ 12444K ÀÌ·± ½ÄÀ¸·Î Ãâ·ÂÇØ ÁÖ¸é µË´Ï´Ù.
¡ß Àüü ¸Þ¸ð¸® Å©±â ±¸Çϱâ
// enterprises.ucdavis.memory.memTotalReal.0
$memTotalReal = @snmpget($host, "public", $oid, $timeout);
SNMP¿¡¼ ±¸ÇÏ´Â °ªÀº ½ÇÁ¦ ¸Þ¸ð¸® Å©±â¿Í´Â Â÷À̰¡ ÀÖ½À´Ï´Ù. ¸Þ¸ð¸®´Â µÎ °¡Áö °ªÀ» ±¸Çß½À´Ï´Ù. ±× ÀÌÀ¯´Â ¹«¾ùÀϱî¿ä? ±×°ÍÀº ³²Àº ¸Þ¸ð¸®ÀÇ Å©±â¸¦ ÆÛ¼¾Æ®·Î Ç¥ÇöÇϱâ À§Çؼ´Â Àüü ¸Þ¸ð¸®ÀÇ Å©±â¸¦ ¾Ë¾Æ¾ß Çϱ⠶§¹®ÀÔ´Ï´Ù. cpu´Â ÆÛ¼¾Æ® °ªÀ» ¸®ÅÏÇϱ⠶§¹®¿¡ »ó°üÀÌ ¾øÁö¸¸ ¸Þ¸ð¸®´Â Å©±â¸¦ ¸®ÅÏÇϱ⠶§¹®¿¡ Àüü ¸Þ¸ð¸® Å©±â¿Í Free ¸Þ¸ð¸® Å©±â¸¦ ±¸Çؼ ÆÛ¼¾Æ®¸¦ °è»êÇØ ÁÖ¸é µË´Ï´Ù.
| <¸®½ºÆ® 2> SNMP ÇÔ¼ö·Î ¸Þ¸ð¸® °ü·Ã °ª °¡Á®¿À±â | | | |
<?php
// ¸Þ¸ð¸® »ç¿ë·® ±¸Çϱâ
$host = "www.*****.com";
$oid = ".1.3.6.1.4.1.2021.4.11.0";
$timeout = 200000;
// enterprises.ucdavis.memory.memTotalFree.0
$memTotalFree = @snmpget($host, "public", $oid, $timeout);
if ($memTotalFree === false) {
memTotalFree = "Error";
} else {
$memTotalFree = $memTotalFree . "K";
}
id = ".1.3.6.1.4.1.2021.4.5.0";
// enterprises.ucdavis.memory.memTotalReal.0
$memTotalReal = @snmpget($host, "public", $oid, $timeout);
if ($memTotalReal === false) {
$memTotalReal = "Error";
} else {
$memTotalReal = $memTotalReal . "K";
}
echo "¸Þ¸ð¸® Å©±â : " . $memTotalReal;
echo "¸Þ¸ð¸® free : " . $memTotalFree;
?>
| |
 |
SNMP´Â ½Ã½ºÅÛ ¸®¼Ò½º¸¦ »ç¿ëÇÑ´Ù
SNMP °ªÀ» °¡Á®¿À·Á¸é ÀÏ´Ü ¸í·ÉÀ» ½ÇÇàÇÏ´Â ¼¹ö¿Í °ªÀ» °¡Á®¿À·Á°í ÇÏ´Â ¼¹ö¿¡ ¸ðµÎ SNMP°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. µÎ ¼¹ö¿¡ ¸ðµÎ ¼³Ä¡°¡ µÇ¾î ÀÖÀ¸¸é ¿øÇÏ´Â °ªÀ» °¡Á®¿Ã ¼ö ÀÖ°Ô µË´Ï´Ù. ±×·¸´Ù¸é SNMP °ªÀ» °¡Á®¿À´Âµ¥ ¾î´À Á¤µµÀÇ ½Ã½ºÅÛ ¸®¼Ò½º¸¦ »ç¿ëÇÏ°Ô µÉ±î¿ä? ±×°ÍÀº ¾î¶² SNMP °ªÀ» °¡Á®¿À´Â°¡¿¡ µû¶ó¼ ´Ù¸£°Ô µË´Ï´Ù. ±×¸®°í ½Ã½ºÅÛÀÇ »ç¾ç¿¡ µû¶ó¼µµ Á¶±Ý¾¿ Â÷À̰¡ ÀÖ½À´Ï´Ù.
SNMP °ªÀ» °¡Á®¿À´Â µ¥ ÇØ´ç ½Ã½ºÅÛÀÇ ¸®¼Ò½º¸¦ ³Ê¹« ¸¹ÀÌ Â÷ÁöÇÏ°Ô µÈ´Ù¸é ¼¹ö¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖÀ¸¹Ç·Î ¸ÕÀú Å×½ºÆ®ÇØ º¸´Â °ÍÀÌ ÁÁ½À´Ï´Ù. SNMP °ªÀ» °¡Á®¿À´Â µ¥´Â ÁÖ·Î cpu system ¸®¼Ò½º°¡ »ç¿ëµË´Ï´Ù. ¾Õ¿¡¼ Å×½ºÆ®Çß´ø cpu, Load Averages °ªÀ» °¡Á®¿À´Â °ÍÀº 1% ¹Ì¸¸ÀÇ cpu systemÀ» »ç¿ëÇÏ°Ô µË´Ï´Ù. ±×·¯³ª ¸Þ¸ð¸®ÀÇ °ªÀ» °¡Á®¿À´Â °ÍÀº 10% Á¤µµ±îÁö cpu system ¸®¼Ò½º¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¹°·Ð ¼¹ö¸¶´Ù Â÷À̰¡ ÀÖÀ¸´Ï Å×½ºÆ®ÇØ º¸¸é µË´Ï´Ù.
±×·¸´Ù¸é 1ÃÊ¿¡ Çѹø¾¿ cpu °ªÀ» °¡Á®¿À´Â °ÍÀº Å« ¹®Á¦°¡ ¾ø¾î º¸ÀÔ´Ï´Ù. ÇØ´ç ½Ã½ºÅÛÀ» ¸ð´ÏÅ͸µÇÏ·Á¸é 1ÃÊ¿¡ ÇÑ ¹ø¾¿ °ªÀ» °¡Á®¿Í¼ Ãâ·ÂÇØ ÁÖ±â À§ÇؼÀÔ´Ï´Ù. ±×·¯³ª ¸Þ¸ð¸®ÀÇ °ªÀ» 1ÃÊ¿¡ ÇÑ ¹ø¾¿ °¡Á®¿À´Â °ÍÀº ¹º°¡ ¹®Á¦°¡ ÀÖ¾î º¸ÀÔ´Ï´Ù. ¿ÖÀϱî¿ä? 1ÃÊ¿¡ ÇÑ ¹ø¾¿ ÇØ´ç ¼¹öÀÇ cpu system ¸®¼Ò½º¸¦ »ç¿ëÇÏ°Ô µÇ¸é 10% Á¤µµÀÇ cpu system ¸®¼Ò½º¸¦ »ç¿ëÇÏ°Ô µÇ±â ¶§¹®¿¡ ¹º°¡ ¹®Á¦°¡ ÀÖ¾î º¸ÀÔ´Ï´Ù. ±×¸®°í ÇÁ·Î±×·¥À» Çϳª¸¸ ½ÇÇà½ÃŰ´Â °ÍÀÌ ¾Æ´Ï¶ó ¿©·¯ »ç¶÷ÀÌ ¸ð´ÏÅ͸µ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄѼ »ç¿ëÇϰí ÀÖ´Ù¸é 1ÃÊ¿¡ ÇÑ ¹ø¾¿ ¸Þ¸ð¸® °ªÀ» °¡Á®¿À´Â °ÍÀº ¹®Á¦°¡ ÀÖ½À´Ï´Ù. ±×·² °æ¿ì¿¡´Â Àû´çÈ÷ °£°ÝÀ» Á¶Á¤ÇÏ¸é µË´Ï´Ù. ÇÑ 5ÃÊ Á¤µµÀÇ ÁÖ±â·Î °ªÀ» °¡Á®¿À¸é µÉ °ÍÀÔ´Ï´Ù. 1ÃÊ, 5ÃÊ¿¡ ÇÑ ¹ø¾¿ °ªÀ» °¡Á®¿À´Â ÀÌÀ¯´Â ½Ç½Ã°£ ¸ð´ÏÅ͸µÀ» À§ÇؼÀÔ´Ï´Ù.
¿©·¯ ¼¹öÀÇ Load Averages ±¸Çϱâ
¼¹ö°¡ ¿©·¯ ´ë ÀÖÀ» ¶§ ÇöÀç ¼¹öÀÇ Load Averages¸¦ º¸°íÀÚ ÇÒ °æ¿ì ÀϹÝÀûÀ¸·Î´Â ¸®´ª½º¿¡¼´Â ¼¹ö¿¡ Á¢¼ÓÇØ¼ top ¸í·É¾î¸¦ ½ÇÇàÇØ¼ ºÁ¾ß ÇÕ´Ï´Ù. ¹°·Ð ¼¹ö°¡ ¸î ´ë ¾ø´Ù¸é ÃæºÐÈ÷ °¡´ÉÇÑ ÀÏÀ̰ÚÁö¸¸ ¼¹ö°¡ ¸î ½Ê ´ë°¡ ÀÖÀ» °æ¿ì ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä? ÀÏÀÏÀÌ ¼¹ö¿¡ Á¢¼ÓÇØ¼ top ¸í·ÉÀ» ½ÇÇàÇØ¼ °á°ú¸¦ º¸·Á°í ÇØµµ ÇÑÂü °É¸± °ÍÀÔ´Ï´Ù. ±×·¯³ª PHP¿¡¼ SNMP ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ´Ù¸é °£´ÜÇÏ°Ô ¸ðµç ¼¹öÀÇ Load Averages °ªÀ» ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ´õ Áß¿äÇÑ °ÍÀº Load Averages °ªÀÌ Å« ¼ø¼´ë·Î Á¤·ÄÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù´Â °ÍÀÔ´Ï´Ù. Load Averages °ªÀÌ Å©´Ù´Â °ÍÀº ÇØ´ç ¼¹öÀÇ ºÎÇϰ¡ ³ô´Ù´Â °ÍÀÔ´Ï´Ù. ¾î¶² ¼¹öÀÇ Load Averages °ªÀÌ ³ôÀºÁö ½±°Ô ÆÄ¾ÇÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀÔ´Ï´Ù.
| <¸®½ºÆ® 3> ¿©·¯ ¼¹öÀÇ Load Averages ±¸Çϱâ | | | |
<?php
// ¸ð´ÏÅ͸µÇÒ ¼¹ö ¸ñ·Ï
$hostList = array("server***1.net",
"server***2.net",
"server***3.net",
"server***4.net",
"server***5.net");
// 1ºÐ Load Averages
$oid = ".1.3.6.1.4.1.2021.10.1.6.1";
$timeout = 1;
$sort = "Desc";
// °¢ ¼¹öÀÇ Load Averages °ª ±¸Çϱâ
for($z = 0; $z < $hostList; $z++) {
$host = $hostList[$z];
$valList[$host] = @snmpget($host, "public", $oid, $timeout);
}
// Asc, Desc Á¤·ÄÇϱâ
if ($sort == 'Asc')
asort($valList);
else if ($sort == 'Desc')
arsort($valList);
// Ãâ·ÂÇϱâ
foreach($valList as $host => $load) {
echo "<br> $host - $load";
}
// Ãâ·Â °á°ú ¿¹
//server***4.net - 0.124
//server***2.net - 0.110
//server***5.net - 0.012
//server***3.net - 0.003
//server***1.net - 0.001
?>
| |
 |
<¸®½ºÆ® 3>À» º¸¸é ¿©·¯ ¼¹öÀÇ Load Averages¸¦ ±¸ÇÏ´Â ¼Ò½º°¡ ÀÖ½À´Ï´Ù. ¸ÕÀú $hostList ¹è¿¿¡´Â ¼¹öÀÇ ¸ñ·ÏÀÌ ÀÖ½À´Ï´Ù. cpu, ¸Þ¸ð¸® °ªÀ» ±¸ÇÒ ¶§´Â ÇÑ ´ëÀÇ ¼¹ö °ª¸¸ ±¸Ç߱⠶§¹®¿¡ ÇÑ ¼¹ö¸¸ ÀÖ¾úÁö¸¸ Load Averages´Â ÇÑ ¹ø¿¡ ¿©·¯ ´ëÀÇ ¼¹ö¿¡¼ °ªÀ» ±¸ÇØ¾ß Çϱ⠶§¹®¿¡ ¹è¿¿¡ ¼¹öÀÇ ¸ñ·ÏÀÌ ÀÖ½À´Ï´Ù. ±×¸®°í Load AveragesÀÇ OID °ªµµ ÀÖ¾î¾ß ÇÕ´Ï´Ù. $sort °ªÀº Desc Á¤·ÄÀ» ÇÒÁö Asc Á¤·ÄÀ» ÇÒ Áö ÁöÁ¤ÇØ ÁÖ¸é µË´Ï´Ù. ±×¸®°í for ¹®À» ÀÌ¿ëÇØ¼ ¸ðµç ¼¹öÀÇ °ªÀ» ±¸ÇÕ´Ï´Ù. ±× °á°ú´Â $valList ¹è¿¿¡ ³Ö½À´Ï´Ù.
±×·¸´Ù¸é for ¹®¿¡¼ °ªÀ» ±¸Çؼ ¹Ù·Î Ãâ·ÂÇØ ¹ö·Áµµ µÇ´Âµ¥ ±»ÀÌ ¹è¿¿¡ °ªÀ» ÀúÀåÇÑ ÀÌÀ¯´Â ¹«¾ùÀϱî¿ä? ±×°ÍÀº Á¤·ÄÀ» Çϱâ À§ÇؼÀÔ´Ï´Ù. ±×³É ¼¹öÀÇ Load Averages °ªÀ» ¼ø¼´ë·Î Ãâ·ÂÇØµµ µÇ°ÚÁö¸¸ Load Averages °ªÀÌ ³ô°Å³ª ³·Àº ¼øÀ¸·Î Á¤·ÄÇØ¼ º¸¿©ÁØ´Ù¸é ´õ ÁÁÀ» °ÍÀÔ´Ï´Ù. ±×·¡¼ ÀÏ´Ü °ªÀ» ¹è¿¿¡ ³Ö¾ú½À´Ï´Ù. ±×¸®°í ¹è¿À» Á¤·ÄÇÏ´Â ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ Á¤·ÄÇØ ÁÖ¸é µË´Ï´Ù. Asc Á¤·ÄÀº asort() ÇÔ¼ö¸¦ Desc Á¤·ÄÀº arsort() ÇÔ¼ö¸¦ È£ÃâÇØ ÁÖ¸é µË´Ï´Ù. ÀÌ·¸°Ô Á¤·ÄÇÑ ´ÙÀ½¿¡ foreach ¹®À» ÀÌ¿ëÇØ¼ ÇØ´ç °ªÀ» Ãâ·ÂÇØ ÁÖ¸é µË´Ï´Ù. ±×·¯¸é Load Averages °ªÀÇ Å©±â¿¡ µû¶ó¼ Ãâ·ÂµË´Ï´Ù. °£´ÜÇÏ°Ô À¥ ºê¶ó¿ìÀú¿¡¼ ¿©·¯ ´ëÀÇ ¼¹öÀÇ Load Averages¸¦ ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ¼¹öÀÇ ´ë¼ö°¡ ¸¹À»¼ö·Ï ÀÏÀÏÀÌ ¼¹ö¿¡ Á¢¼ÓÇØ¼ top ¸í·ÉÀ» ½ÇÇàÇØ¼ º¸´Â °Íº¸´Ù´Â ¸î ¹èÀÇ È¿°ú¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
±×·¸´Ù¸é cpu, ¸Þ¸ð¸®µµ ÀÌ¿Í °°Àº ¹æ¹ýÀ¸·Î º¼ ¼ö ÀÖÁö ¾ÊÀ»±î ÇÏ´Â »ý°¢ÀÌ µé °ÍÀÔ´Ï´Ù. ±×·¯³ª cpu °ªÀº ¼ö½Ã·Î º¯ÇÏ´Â °ÍÀ̱⠶§¹®¿¡ ÇÑ ¼¹öÀÇ °ªÀ» °è¼Ó ¸ð´ÏÅ͸µÇÏ´Â °ÍÀº Àǹ̰¡ ÀÖ°ÚÁö¸¸ ÀÌ·± ½ÄÀ¸·Î ¿©·¯ ´ëÀÇ ¼¹ö¸¦ º¸´Â °ÍÀº º° Àǹ̰¡ ¾ø½À´Ï´Ù. ¸Þ¸ð¸® °ªÀº ÃæºÐÈ÷ ÇØº¼¸¸ ÇÕ´Ï´Ù. ´Ù¸¸ ¸Þ¸ð¸® °ªÀ» ±¸ÇÏ´Â µ¥´Â ½Ã°£ÀÌ Á¶±Ý °É¸®±â ¶§¹®¿¡ ¼¹öÀÇ ´ë¼ö°¡ ¸¹À»¼ö·Ï °ªÀ» ±¸ÇÏ´Â ¼Óµµ°¡ ´À¸± °ÍÀÔ´Ï´Ù.
TCP ¿¬°á »óÅ ±¸Çϱâ
ÇöÀç ¼¹öÀÇ ¾î¶² Æ÷Æ®¿¡ tcp ¿¬°áÀÌ ÀÖ´ÂÁö È®ÀÎÇϱâ À§Çؼ´Â ¸®´ª½º¿¡¼´Â netstat ¸í·ÉÀ¸·Î È®ÀÎÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±×¸®°í ÀÌ °ªÀ» SNMP¿¡¼µµ °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù. SNMP´Â MIB·Î ºÐ·ù°¡ µÇ¾î ÀÖ´Ù°í Çß¾ú´Âµ¥ tcp ±×·ì¿¡ ÇØ´çµÇ´Â °ªÀ» °¡Á®¿À¸é µË´Ï´Ù.
¡ß tcp °ª °¡Á®¿À±â
snmpwalk ****.net public tcp.tcpConnTable.tcpConnEntry.tcpConnState
ÀÌ·¸°Ô ¸í·ÉÀ» ³»¸®¸é ÇØ´ç ¼¹öÀÇ tcp ¿¬°á °ªµéÀÌ º¸ÀÏ °ÍÀÔ´Ï´Ù. ÇÑ °¡Áö ¿¹¸¦ µé¸é ´ÙÀ½°ú °°ÀÌ ¿¬°áµÈ °ªÀÌ º¸ÀÌ°Ô µË´Ï´Ù.
¡ß tcp °ªÀÇ ¿¹
tcp.tcpConnTable.tcpConnEntry.tcpConnState.211.***.***.***.80.210.***.***.
***.12454 = established(5)
À̰ÍÀº ÇϳªÀÇ ¿¹¸¦ µç °ÍÀÌ°í ¿¬°áµÈ ½ÇÁ¦·Î´Â ¸ðµç °ªÀÌ º¸ÀÌ°Ô µË´Ï´Ù. 211.***.***.***Àº ÇØ´ç ¼¹ö¸¦ ÀǹÌÇÕ´Ï´Ù. ±×¸®°í 80Àº ÇØ´ç ¼¹öÀÇ Æ÷Æ®¸¦ ÀǹÌÇÕ´Ï´Ù. 210.***.***.***Àº ÇØ´ç ¼¹ö¿¡ ¿¬°áµÈ IPÀÔ´Ï´Ù. 12454´Â ÇØ´ç ¼¹öÀÇ ÇÁ·Î¼¼½º ¾ÆÀ̵ðÀÔ´Ï´Ù. °á°úÀûÀ¸·Î 210.***.***.*** IP°¡ 211.***.***.*** ¼¹öÀÇ 80Æ÷Æ®¿¡ 12454 ÇÁ·Î¼¼½º ¾ÆÀ̵ð·Î ¿¬°áµÇ¾î ÀÖ´Ù´Â ÀǹÌÀÔ´Ï´Ù. ÇØ´ç ¼¹öÀÇ tcp ¿¬°á °³¼ö°¡ ÀÛ´Ù¸é º° ¹®Á¦°¡ µÇÁö ¾Ê°ÚÁö¸¸ ¿¬°áÀÌ ¸¹°í ½Ã½ºÅÛ ¸®¼Ò½º°¡ ºÎÁ·ÇÑ °æ¿ì¿¡´Â timeoutÀ¸·Î ÀÎÇØ¼ °ªÀ» °¡Á®¿ÀÁö ¸øÇÏ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ±×¸®°í tcp ¿¬°á °³¼ö¿¡ µû¶ó¼ cpu system ¸®¼Ò½º »ç¿ë·®µµ ´Þ¶óÁý´Ï´Ù.
¿¹¸¦ µé¾î¼ 200¢¦300 Á¤µµ ¿¬°áµÇ¾î ÀÖ´Ù¸é ¾à 10% À̳»ÀÇ cpu system ¸®¼Ò½º¸¦ »ç¿ëÇϰÚÁö¸¸ 1000°³ ÀÌ»óÀÇ ¿¬°áµÇ¾î ÀÖÀ» °æ¿ì¿¡´Â ¾à 40% Á¤µµÀÇ ¸®¼Ò½º¸¦ »ç¿ëÇÒ ¼öµµ ÀÖÀ¸¸ç timeoutÀ¸·Î °ªÀ» °¡Á®¿ÀÁö ¸øÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¹°·Ð À̰ÍÀº ¼¹ö »ç¾ç¿¡ µû¶ó¼ ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù. timeout °ªÀ» Å©°Ô ÁÖ¸é tcp °ªÀ» ¸ø °¡Á®¿À´Â °æ¿ì´Â ¾ø°ÚÁö¸¸ ÇØ´ç ¼¹öÀÇ ¸®¼Ò½º¸¦ ³Ê¹« ¸¹ÀÌ »ç¿ëÇÏ°Ô µÇ´Â ¹®Á¦°¡ ¹ß»ýÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¡¼ SNMP °ªÀ» °¡Á®¿À´Âµ¥ timeout ½Ã°£ ÁöÁ¤ ¶ÇÇÑ Áß¿äÇÕ´Ï´Ù.
PHP¿¡¼ TCP ¿¬°á »óÅ ±¸Çϱâ
<¸®½ºÆ® 4>¿¡ PHP¿¡¼ SNMP·Î tcp ¿¬°á »óŸ¦ °¡Á®¿À´Â ¼Ò½º°¡ ÀÖ½À´Ï´Ù. PHP¿¡¼ ÇØ´ç ¼¹öÀÇ tcp ¿¬°á »óŸ¦ º¼ ¼ö ÀÖ´Ù´Â °ÍÀº ¹º°¡ »õ·Î¿ï °ÍÀÔ´Ï´Ù. ¹°·Ð SNMP¸¦ ÅëÇØ¼ °¡Á®¿À´Â °ÍÀÌÁö¸¸¿ä. ±×¸®°í ÇÑ °¡Áö ´õ ¿¬°á »óź°·Î Ä«¿îÆ®¸¦ ¼¿ ¼öµµ ÀÖ½À´Ï´Ù. ¸ÕÀú $tcpConnStateCount¿¡´Â tcpÀÇ ¿¬°á Á¾·ù°¡ ÀÖ½À´Ï´Ù.
| <¸®½ºÆ® 4> tcp ¿¬°á »óÅ ±¸Çϱâ | | | |
<?php
// tcp ¿¬°á »óÅ ī¿îÆ®
$tcpConnStateCount = array('All' => 0,
'closed' => 0,
'listen' => 0,
'synSent' => 0,
'synReceived' => 0,
'established' => 0,
'finWait1' => 0,
'finWait2' => 0,
'closeWait' => 0,
'lastAck' => 0,
'closing' => 0,
'timeWait' => 0,
'deleteTCB' => 0);
$host = "*****.net";
$oid = ".1.3.6.1.2.1.6.13.1.1";
$timeout = 1;
// ex) tcp.tcpConnTable.tcpConnEntry.tcpConnState
// .211.***.***.***.80.210.***.***.***.12454 = established(5)
$tcpConn = @snmpwalkoid($host, "public", $oid, $timeout);
$tcpList = array();
// tcp °ªÀ» ±¸Çß´Ù¸é
if ($tcpConn) {
foreach($tcpConn as $key => $val) {
// ex) established(5) -> established
$tcpStateTmp = ereg_replace("(\([0-9]+\))+$", "", $val);
// tcp ¿¬°á »óź°·Î Ä«¿îÆ® Çϱâ
$tcpConnStateCount[$tcpStateTmp]++;
$tcpList[] = $key;
} // foreach end
// tcp ¿¬°á »óź°·Î Ä«¿îÆ® Ãâ·Â
foreach($tcpConnStateCount as $key => $val) {
echo "<br>$key : $val";
}
// tcp ¿¬°áµÈ °ªµé Ãâ·Â
foreach($tcpList as $key) {
echo "<br>$key";
}
} // if end
?>
| |
 |
SNMP¿¡¼ ºÐ·ùÇÏ´Â tcpÀÇ ¿¬°á Á¾·ùÀÔ´Ï´Ù. ±×¸®°í ´Ù¸¥ °ªÀ» °¡Á®¿Ã ¶§¿Í ¸¶Âù°¡Áö·Î ¼¹ö, OID °ªÀÌ ÀÖ½À´Ï´Ù. cpu, ¸Þ¸ð¸® °ªÀ» °¡Á®¿Ã ¶§´Â snmpget() ÇÔ¼ö¸¦ »ç¿ëÇß¾úÁö¸¸ ¿©±â¼´Â snmpwalkoid() ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù. snmpwalkoid() ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¾ß tcp¿¡ ¿¬°áµÈ ¸ðµç ¸ñ·ÏÀ» °¡Á®¿Ã ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. SNMP °ªÀ» Á¤»óÀûÀ¸·Î °¡Á®¿Ô´Ù¸é $tcpConn º¯¼ö¿¡ ¹è¿·Î °ªÀÌ ¸®ÅϵŠÀÖÀ» °ÍÀÔ´Ï´Ù. ±×·¸´Ù¸é ¿©±â¼ tcp ¿¬°á »óź°·Î Ä«¿îÆ®¸¦ ¼¼±â À§Çؼ foreach ¹®À¸·Î °¡°øÇÏ¸é µË´Ï´Ù. ¿©±â¼ ¿¬°á »óź°·Î Ä«¿îÆ®¸¦ Çϰí $tcpList ¹è¿¿¡ »óŸ¦ ÀúÀåÇØ ÁÖ¸é µË´Ï´Ù. ±×¸®°í ±× ´ÙÀ½ foreach ¹®¿¡¼ °ªÀ» Ãâ·ÂÇØ ÁÖ¸é µË´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á tcp ¿¬°á »óź°·Î °³¼ö¸¦ ÆÄ¾ÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ¾î¶² Æ÷Æ®¿¡ ¾î´À ¼¹ö°¡ ¿¬°áµÇ¾î ÀÖ´ÂÁöµµ ÆÄ¾ÇÇÒ ¼ö°¡ ÀÖ°Ô µË´Ï´Ù.
ÀÌ ¼Ò½ºÄÚµå´Â °£´ÜÇÏ°Ô ¿¬°á °³¼ö¿Í »óŸ¦ Ãâ·ÂÇØ ÁÖ´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª ´õ ±â´ÉÀ» Ãß°¡ÇØ º¸ÀÚ¸é ¾î¶² °ÍÀÌ ÀÖÀ»±î¿ä? ¿¬°áµÈ ¼¹öÀÇ IP°¡ Ãâ·ÂµÇµµ·Ï Çߴµ¥, IPº¸´Ù´Â hostnameÀ¸·Î Ãâ·ÂÇÑ´Ù¸é º¸±â ½¬¿ï °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¸é 210.***.***.***¸¦ hostname À¸·Î Ãâ·ÂÇÑ´Ù¸é *****.net ÀÌ·±½ÄÀ¸·Î ÇØ´ç ¼¹öÀÇ hostnameÀÌ Ãâ·Â µÇ¹Ç·Î Á» ´õ ¸íÈ®ÇÏ°Ô ÆÄ¾ÇÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×¸®°í ¸ðµç Æ÷Æ®°¡ °°ÀÌ Ãâ·ÂµÇ´Âµ¥ ƯÁ¤ Æ÷Æ®¸¸ °Ë»öÇØ¼ Ãâ·ÂÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ±×°ÍÀº ¹è¿À» Á» ´õ °¡°øÇؼ Ãâ·ÂÇØ ÁÖ¸é µË´Ï´Ù.
¡ß PHP¿¡¼ ip·Î hostname ±¸Çϱâ
- gethostbyaddr("210.***.***.***");
Á» ´õ ±íÀÌ »ý°¢Çغ¸°í ¹è¿À» °¡°øÇØ º»´Ù¸é ´õ º¸±â ½±°Ô tcp ¿¬°á »óŸ¦ Ãâ·ÂÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¿©±â¼´Â tcp ¿¬°á °ªÀ» ±¸ÇßÁö¸¸ udp ¿¬°á °ª ¶ÇÇÑ SNMP¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×·¡ÇÁ·Î ¸ð´ÏÅ͸µ Åø ¾÷±×·¹À̵å
Áö±Ý±îÁö SNMPÀÇ ±âº» °³³ä°ú PHP·Î SNMP °ªÀ» °¡Á®¿À´Â ºÎºÐÀ» ¼³¸íÇß½À´Ï´Ù. ±×·¯³ª °£´ÜÇÏ°Ô À¥ ºê¶ó¿ìÀú »ó¿¡¼ °ªÀ» Ãâ·ÂÇÏ´Â Á¤µµ¿¡ ±×ÃÆ½À´Ï´Ù. cpu, ¸Þ¸ð¸®, Load Averages °ªÀ» ±×·¡ÇÁ·Î Ãâ·ÂÇØ¼ º¼ ¼öµµ ÀÖ½À´Ï´Ù. PHP¿¡¼ ÀÌ·± °ªµéÀ» °¡Áö°í ±×·¡ÇÁ¸¦ ±×¸®°íÀÚ ÇÑ´Ù¸é ½±Áö´Â ¾ÊÀ» °ÍÀÔ´Ï´Ù. ´õ±º´Ù³ª cpu ¸ð´ÏÅ͸µ °á°ú¸¦ ½Ç½Ã°£À¸·Î ±×·Á¾ß ÇÑ´Ù¸é ¾Æ¸¶µµ ´äÀÌ º¸ÀÌÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¿©±â¼ ¸¸µé¾î º¸°íÀÚ Çß´ø °ÍÀº °£´ÜÇÑ ¸ð´ÏÅ͸µ ÅøÀÔ´Ï´Ù.
·Î±×¸¦ ³²±â°í <ȸé 1>ó·³ ±×·¡ÇÁ·Î ±×¸®°í ¹æ´ëÇÑ ·®ÀÇ Á¤º¸¸¦ ¼öÁýÇÏ°í ±×·¡¾ß ÇÏ´Â ÅøÀ̶ó¸é ´Ù¸¥ GUI ÅøÀ» ÀÌ¿ëÇØ¼ ¸¸µå´Â °ÍÀÌ È¿°úÀûÀÏ °ÍÀÔ´Ï´Ù. ¾Æ´Ï¸é ÀÌ¹Ì ¸¸µé¾îÁ® ÀÖ´Â ÅøÀ» »ç¿ëÇØµµ µÉ °ÍÀÔ´Ï´Ù. ±»ÀÌ PHP¿¡¼ ±×·¡ÇÁ·Î ±×·Áº¸´Â ÀÌÀ¯´Â ½º½º·Î ¸¸µé´Ùº¸¸é ´Ù¸¥ Åø¿¡¼ Áö¿øµÇÁö ¾Ê´Â ±â´É ¶ÇÇÑ °£´ÜÇÏ°í ½±°Ô Ãß°¡ÇØ º¼ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ±×°ÍÀÌ PHPÀÇ ÀåÁ¡À̱⵵ ÇÕ´Ï´Ù.
 |
| <ȸé 1> ¿øµµ¿ìÀÇ cpu, ¸Þ¸ð¸® »ç¿ë·® |
±×·¸´Ù¸é ¿©±â¼ Áö±Ý±îÁö SNMP·Î °¡Á®¿Â cpu, ¸Þ¸ð¸®, Load Averages °ªÀ» ½Ç½Ã°£À¸·Î ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¹«¾ùÀϱî¿ä? Á¦ÀÏ °£´ÜÇÑ ¹æ¹ýÀº ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÚ¹Ù½ºÅ©¸³Æ®·Î °ø°³µÈ ±×·¡ÇÁ ¼Ò½ºµéÀÌ ¸¹À¸´Ï ±×°É ÀÌ¿ëÇØ¼ ±×·Áº¸¸é µË´Ï´Ù. PHP¿¡¼ SNMP·Î ±¸ÇÑ °ªÀ» iframe¿¡¼ ÀÚ¹Ù½ºÅ©¸³Æ® ±×·¡ÇÁ·Î °ªÀ» °è¼ÓÇØ¼ °ø±ÞÇØ ÁÖ¸é µÇ´Â °ÍÀÔ´Ï´Ù. ±×·¯¸é <ȸé 1>°ú °°Àº ±×·¡ÇÁ°¡ ³ª¿Ã ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
»õ·Î¿î °Í°úÀÇ ¸¸³²
»õ·Î¿î °Í°úÀÇ ¸¸³²Àº Ç×»ó »ç¶÷ÀÇ ¸¶À½À» ¼³·¹°Ô ÇÕ´Ï´Ù. ÇÁ·Î±×·¡¸Ó ¶ÇÇÑ »õ·Î¿î °Í°úÀÇ ¸¸³²Àº Áñ°Å¿òÀÏ ¼ö ÀÖ½À´Ï´Ù. SNMP´Â ¿©·¯ °¡Áö ¾ð¾î¿¡¼ Áö¿øÇϰí ÀÖ½À´Ï´Ù. ±»ÀÌ PHP°¡ ¾Æ´Ï´õ¶óµµ ´Ù¸¥ ¾ð¾î·Î ½Ã½ºÅÛ ¸ð´ÏÅ͸µÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î ºÁµµ ÁÁÀ» °ÍÀÔ´Ï´Ù. Áß¿äÇÑ °ÍÀº ½Ã½ºÅÛ ¸ð´ÏÅ͸µ ÇÁ·Î±×·¥À» ¸¸µé¸é¼ ½Ã½ºÅÛÀ» ÀÌÇØÇÏ°í ¹è¿ö°£´Ù´Â °ÍÀÔ´Ï´Ù. ½Ã½ºÅÛÀ» ÀÌÇØÇϰí ÇÁ·Î±×·¥À» ¸¸µç´Ù¸é ±× ÇÁ·Î±×·¥Àº ÀÌÀüÀÇ °Í°ú ´Ù¸¦ °ÍÀÔ´Ï´Ù. ±×°ÍÀÌ ¹Ù·Î ÇÁ·Î±×·¡¸ÓÀÇ Áñ°Å¿òÀ̱⵵ ÇÕ´Ï´Ù. @