RRD - Round Robin Databse
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Contents

1 ¼Ò°³
2 RRD »ç¿ëÇϱâ
2.1 ¼³Ä¡
2.1.1 cgilib ¼³Ä¡
2.1.2 RRD ¼³Ä¡
2.2 RRD Tutorial
2.2.1 RRD¿¡ ´ëÇØ¼­
2.2.2 RRD¿¡¼­ ´Ù·ç´Â µ¥ÀÌÅ͵é
2.2.3 RRD·Î ÇÒ ¼ö ÀÖ´Â °Íµé
2.3 ù¹øÂ° ¿¹Á¦ : ¼Óµµ º¯È­ ÃßÀÌ
2.3.1 µ¥ÀÌÅÍ º£À̽º »ý¼º
2.3.2 RRA
2.3.3 µ¥ÀÌÅÍ ÀÔ·Â
2.3.4 µ¥ÀÌÅÍ °¡Á®¿À±â
2.3.5 ±×·¡ÇÁ ¸¸µé±â
2.3.6 ±×·¡ÇÁ ¼öÁ¤
3 rrd server ¸¦ ÀÌ¿ëÇÑ ¿ÜºÎ update
4 °ü·Ã¹®¼­

1 ¼Ò°³

Round Robin Database ÀÇ ÁÙÀÓ¸»ÀÌ´Ù. RRD´Â µ¥ÀÌÅ͸¦ ÀúÀåÇϰí, ÀúÀåÇÑ µ¥ÀÌÅ͸¦ ½Ã°£È帧¿¡ µû¶ó º¸¿©ÁÖ´Â ÀÏÀ» ÇÑ´Ù. (¿¹. ³×Æ®¿öÅ© Æ®·¡ÇÈ, CPU ¿Âµµ, ¼­¹öÀÇ load Æò±Õµî) ½Ã°£À» ±âÁØÀ¸·Î µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ¸¹Àº ½Ã½ºÅÛÀÌ ½Ã°£ÀÌ ´Ã¾î³¯ ¼ö·Ï µ¥ÀÌÅͺ£À̽ºÀÇ Å©±â°¡ Ä¿Áö´Â °æÇâÀÌ ÀÖÁö¸¸, RRD´Â ÀÚüÀûÀ¸·Î ¾ÆÄ«À̺긦 °ü¸®ÇÏ°Ô µÇ¹Ç·Î ¸Å¿ì ÀÛÀº µ¥ÀÌÅͺ£À̽º¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Ù.

¾î¶»°Ô º¸¸é MRTG¿Í ºñ½ÁÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ½ÇÁ¦ [http]RRD ȨÆäÀÌÁöÀÇ ¼Ò°³±ÛÀ» º¸¸é RRD´Â MRTG¿¡¼­ ¾ÆÀ̵ð¾î¸¦ ¾ò¾î¼­ °³¹ßµÇ¾ú´Ù´Â ¹®±¸¸¦ ã¾Æº¼ ¼ö ÀÖ´Ù.

±×·¯³ª ´ç¿¬ÇÏÁö¸¸ MRTG¸¦ Âü°íÇØ¼­ Á»´õ ´Ê°Ô °³¹ßµÈ °ü°è·Î MRTG·Î´Â Èûµé°Å³ª ºÒ°¡´É Çß´ø ¿©·¯°¡Áö ±â´ÉÀÌ È®ÀåµÇ°í Ãß°¡µÇ¾ú´Ù.

³×Æ®¿öÅ© Æ®·¡ÇÈÀ» ¸ð´ÏÅ͸µÇÏ´Â ¿¹¸¦ µé¾îº¸ÀÚ. °ü¸®ÇϰíÀÚ ÇÏ´Â ¿ä¼Ò°¡ In/Out bps¿Í In/Out pps¶ó°í ÇÒ¶§ MRTG·Î À̵éÀ» °ü¸®Çϱâ À§Çؼ­´Â bps¿Í pps¸¦ À§ÇÑ º°µµÀÇ ±×·¡ÇÁ°¡ ¸¸µé¾î¾ß ÇÑ´Ù. ±×·¯³ª RRD·Î ÇÒ°æ¿ì ÇϳªÀÇ ±×·¡ÇÁ¿¡ bps¿Í pps¸¦ ¸ðµÎ °ü¸®ÇÒ ¼ö ÀÖ´Ù. bps¿Í ppsÀÇ ÃßÀ̸¦ ÇÔ²² ºñ±³ÇÔÀ¸·Î½á À¯ÀԵǰųª À¯ÃâµÇ´Â ÆÐŶÀÇ »óÅÂ(¿¹¸¦ µéÀÚ¸é SYN °ø°Ý..)¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Ù´Â °üÁ¡¿¡¼­ »ý°¢Çغ¸¸é ±×·¡ÇÁ°¡ ºÐ¸®µÇ´Â MRTG·Î´Â Á÷°üÀûÀ¸·Î ¸ð´ÏÅ͸µ ÇϱⰡ Èûµé ¼ö ¹Û¿¡ ¾øÀ½À» ¾Ë ¼ö ÀÖ´Ù. CPU »ç¿ëÀ²À» ¸ð´ÏÅ͸µ ÇÒ¶§µµ ¸¶Âù°¡Áö´Ù. RRD¸¦ ÀÌ¿ëÇϸé User»ç¿ëÀ², System»ç¿ëÀ², Idle, Nice, I/O Wait µîÀÇ Á¤º¸¸¦ ÇϳªÀÇ ±×·¡ÇÁ¸¦ ÅëÇØ¼­ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.

À§ÀÇ ÀåÁ¡µéÀ» ÀÌ¿ëÇϸé ÀÓ°èÄ¡ ¼±À» ±×¾î¼­, ÀÓ°èÄ¡¸¦ ³ÑÀ¸¸é ´Ù¸¥ »öÀ¸·Î Ç¥½ÃµÇ°Ô ÇϴµîÀÇ Àϵµ ÇÒ ¼ö ÀÖ´Ù. º¸±â¿¡ ÁÁ´Ù´Â Á¡µµ ¹«½ÃÇÒ ¼ö ¾ø´Â ÀåÁ¡Áß ÇϳªÀÌ´Ù.

ÀüüÀûÀ¸·Î MRTG¿¡ ºñÇØ¼­ ¸Å¿ì À¯¿¬Çϰí, È®À强 ÀÖ´Â µµ±¸ÀÓÀ» ¾Ë ¼ö ÀÖ´Ù

2 RRD »ç¿ëÇϱâ

2.1 ¼³Ä¡

RRD 1.2 ¹öÁ¯À» ±âÁØÀ¸·Î ¼³¸íÇϵµ·Ï ÇÑ´Ù.

2.1.1 cgilib ¼³Ä¡

RRDÀÇ ¼³Ä¡¸¦ À§Çؼ­´Â cgilib(¹öÁ¯ 0.5ÀÌ»ó)ÀÌ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. http://www.infodrom.org/projects/cgilib ¿¡¼­ cgilibÀÇ ÃֽŹöÁ¯À» ¹ÞÀ» ¼ö ÀÖ´Ù. ¾ÐÃàÀ» Ç®¸é configure ½ºÅ©¸³Æ®µµ ¾øÀÌ ±×³É make¸¸ ¶§¸®¸é µÇ´Â°É ¾Ë ¼ö ÀÖ´Ù. ÄÄÆÄÀÏÇÏ°í ³ª¸é libcgi.a°¡ ¸¸µé¾îÁö´Âµ¥, Àû´çÇÑ °æ·Î¿¡ ¿Å±âµµ·Ï ÇÑ´Ù. cgi.h ¿ª½Ã ³ªÁß¿¡ rrd¸¦ ÄÄÆÄÀÏ ÇÒ¶§ »ç¿ëÇÏ°Ô µÇ´Ï /usr/local/include µî¿¡ ¿Å°Ü ³õµµ·Ï ÇÑ´Ù.

2.1.2 RRD ¼³Ä¡

http://people.ee.ethz.ch/~oetiker/webtools/rrdtool ¿¡¼­ ÃÖ½ÅÀÇ rrd¼Ò½º¸¦ ´Ù¿î·Îµå ¹Þ´Â´Ù. ¼³Ä¡´Â °£´ÜÇѵ¥, ¾à°£ÀÇ ¹®Á¦°¡ ÀÖ´Ù. ±×°ÍÀº rrd°¡ libcgiÀÇ °øÀ¯¶óÀ̺귯¸®¸¦ ÂüÁ¶ÇÏ°Ô µÇ¾î ÀÖ´Ù´Â Á¡ÀÌ´Ù. ÀÌ·± ÀÌÀ¯·Î configure ½ºÅ©¸³Æ®¸¦ µ¹¸± ¶§ libcgiÀÇ °øÀ¯¶óÀ̺귯¸®¸¦ ãÀ» ¼ö ¾ø´Ù´Â ¸Þ½ÃÁö°¡ ¶ß¸é¼­ ½ÇÆÐÇÏ°Ô µÈ´Ù. configure¿¡¼­ libcgi¸¦ Å×½ºÆ®ÇÏ´Â ºÎºÐÀ» ÁÖ¼®Ã³¸® Çϵµ·Ï ÇÑ´Ù.

ÀÌ·¸°Ô ÇØ¼­ configure¸¦ ¼º°øÀûÀ¸·Î ¼öÇàÀ» Çߴµ¥, makeÇÒ ¶§ ´Ù½ÃÇѹø libcgi.so¸¦ ãÀ» ¼ö ¾ø´Ù¸é¼­ ÄÄÆÄÀÏÀÌ ½ÇÆÐÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±ÍÂúÁö¸¸ Á÷Á¢ MakefileÀ» ¼öÁ¤Çؼ­ Á¤Àû¶óÀ̺귯¸®¸¦ ¸µÅ©Çϵµ·Ï ¼öÁ¤À» ÇØÁÖ¾î¾ß ÇÑ´Ù.

2.2 RRD Tutorial

RRD¿¡ ´ëÇÑ ¼³¸í°ú »ç¿ë ¹æ¹ý¿¡ ´ëÇÑ ³»¿ëÀ» ´Ù·é´Ù.

2.2.1 RRD¿¡ ´ëÇØ¼­

Round Robin Database toolÀÇ ÁÙÀÓ¸»ÀÌ´Ù. Database toolÀ̶ó´Âµ¥¿¡¼­ ¾Ë ¼ö ÀÖµíÀÌ, RRD´Â µ¥ÀÌÅ͵éÀ» µ¥ÀÌÅͺ£À̽ºÈ­ Çϰí, ¿©±â¿¡¼­ °ªÀ» Àоî¿Í¼­ ó¸®ÇÏ´Â ÀÏÀ» ÇÑ´Ù.
¾î¶² ¿¬¼ÓµÈ ±×·¡ÇÁ¸¦ ±×¸®´Â ÀÏÀ» ÇØ¾ßÇÑ´Ù°í °¡Á¤Çغ¸ÀÚ. ±×·¡ÇÁ´Â Á¡ÀÇ ¿¬¼ÓÀ¸·Î ±×·¡ÇÁ¸¦ ±×¸±·Á¸é Á¡¿¡ ´ëÇÑ ÁÂÇ¥ µ¥ÀÌÅͰ¡ ¿¬¼ÓÀûÀ¸·Î °ü¸® µÉ ¼ö ÀÖ¾î¾ß ÇÒ°ÍÀÌ´Ù.
±×·¡¼­ µ¥ÀÌÅͺ£À̽º·Î ºÎÅÍ Ã¹¹øÂ° ÁÂÇ¥ µ¥ÀÌÅ͸¦ °¡Á®¿Ô´Ù¸é, Æ÷ÀÎÅ͸¦ ¿Å°Ü¼­ µÎ¹øÂ° ÁÂÇ¥ µ¥ÀÌÅ͸¦ °¡Á®¿À´Â ÀÏ·ÃÀÇ ÀÛ¾÷À» ¹Ýº¹ÇÔÀ¸·Î½á ±×·¡ÇÁ¸¦ ±×¸± ¼ö ÀÖÀÖ°Ô µÉ°ÍÀÌ´Ù.

2.2.2 RRD¿¡¼­ ´Ù·ç´Â µ¥ÀÌÅ͵é

¿¬¼ÓµÈ µ¥ÀÌÅ͸¦ ´Ù·ç±â À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ´Ù. º¸ÅëÀº ½Ã°£¼øÀ¸·Î ¿¬¼ÓµÈ µ¥ÀÌÅ͸¦ ´Ù·ç´Âµ¥ °¡Àå È¿°úÀûÀÎ ÅøÀÌ´Ù. Áï ½Ã°£¼øÀ¸·Î ÁÂÇ¥°ªÀ» ÀúÀåÇϰí ÇÊ¿äÇÒ °æ¿ì À̰ÍÀ» ²¨³»¼­ °¡°øÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

½Ã°£¼øÀ¸·Î µ¥ÀÌÅͰ¡ ÀúÀåµÉ ¼ö ÀÖ´Ù¸é ¾î´À ºÐ¾ß¿¡³ª »ç¿ëÀÌ °¡´ÉÇÒ °ÍÀÌ´Ù. ÄÄÇ»ÅÍ ºÐ¾ß¶ó¸é CPUÀÇ ¼º´ÉÃßÀ̶óµçÁö, ³×Æ®¿öÅ© Æ®·¡ÇÈÀÇ º¯È­µîÀ» ´Ù·ç´Âµ¥¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿©±â¿¡¼­´Â SNMP¸¦ ÅëÇØ¼­ ¾òÀ» ¼ö ÀÖ´Â ³×Æ®¿öÅ© Á¤º¸À» ¿¹Á¦·Î ÇØ¼­ RRD¸¦ ´Ù·ç´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.

2.2.3 RRD·Î ÇÒ ¼ö ÀÖ´Â °Íµé

RRD´Â MRTG¿¡¼­ ¾ÆÀ̵ð¾î¸¦ ¾ò¾î¼­ °³¹ßµÈ µµ±¸´Ù. ±×·± ÀÌÀ¯·Î MRTG°¡ ÇÒ ¼ö ÀÖ´Â ÀϵéÀ» È¿°úÀûÀ¸·Î ¼öÇàÇÒ ¼ö ÀÖ´Ù. SNMP¸¦ ÀÌ¿ëÇØ¼­ µ¥ÀÌÅ͸¦ ¼öÁýÇÏ°í ¼öÁýµÈ µ¥ÀÌÅ͸¦ ±×·¡ÇÁÈ­ ÇØ¼­ PNG³ª JPGÇüÅÂÀÇ ±×·¡ÇÁ·Î Ãâ·ÂÇÏ´Â µîÀÇ ÀÏÀÌ ±×°ÍÀÌ´Ù. RRD´Â ÀÌ·¯ÇÑ ÀϵéÀ» MRTG¿¡¼­º¸´Ù ´õ¿í È¿°úÀûÀÌ°í ´Ù¾çÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.

2.3 ù¹øÂ° ¿¹Á¦ : ¼Óµµ º¯È­ ÃßÀÌ

±×·³ ¿¹Á¦¸¦ ¸¸µé¾î º¸µµ·Ï ÇϰڴÙ.

¿©±â¿¡¼­´Â Çѽ𣠵¿¾È °¢ 5ºÐ ´ÜÀ§·Î ÀÚ°¡¿ëÀÇ ¿òÁ÷ÀÎ °Å¸®¸¦ ÃøÁ¤Çϰí À̸¦ µ¥ÀÌÅÍ·Î ³²±âµµ·Ï ÇÒ °ÍÀÌ´Ù. ³²°ÜÁø µ¥ÀÌÅÍ´Â ½±°Ô È®ÀÎ °¡´ÉÇϵµ·Ï ±×·¡ÇÁ¸¦ Æ÷ÇÔÇÑ À̹ÌÁö·Î Ãâ·Â½Ãų °ÍÀÌ´Ù.

2.3.1 µ¥ÀÌÅÍ º£À̽º »ý¼º

RRD´Â µ¥ÀÌÅͺ£À̽º ÅøÀÌ´Ù. ÀÌ´Â µ¥ÀÌÅ͸¦ ÀúÀåÇÒ µ¥ÀÌÅÍ º£À̽º¸¦ »ý¼ºÇϰí, ½ºÅ°¸¶¸¦ ÁöÁ¤ÇØÁà¾ß ÇÔÀ» ÀǹÌÇÑ´Ù. µ¥ÀÌÅͺ£À̽º »ý¼º°ú ½ºÅ°¸¶ ÁöÁ¤Àº rrdtool À̶ó´Â ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¸é µÈ´Ù.
  rrdtool create test.rrd             \ 
           --start 1129190400         \ 
           --step 300                 \ 
           DS:speed:COUNTER:600:U:U   \ 
           RRA:AVERAGE:0.5:1:24       \ 
           RRA:AVERAGE:0.5:6:10 
 
  • create ¿É¼ÇÀ» ÀÌ¿ëÇØ¼­ »õ·Î¿î µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù. µ¥ÀÌÅÍ º£À̽ºÀÇ À̸§Àº test.rrd·Î Á¤Çß´Ù.
  • start¸¦ ÀÌ¿ëÇØ¼­ µ¥ÀÌÅͰ¡ ½×ÀÌ´Â ½Ã°£À» ¸í½ÃÇØÁØ´Ù. ´ÜÀ§´Â Unix TimeÀ¸·Î ¿©±â¿¡¼­´Â 2005-10-13 17:00:00 ºÐÀ» ½ÃÀÛ ½Ã°£À¸·Î Çß´Ù.
  • step´Â µ¥ÀÌÅÍÀÇ ÀúÀåÁÖ±â´Ù.
  • DS´Â Data SourceÀÇ ÁÙÀÓ¸»·Î µ¥ÀÌÅͺ£À̽º¿¡ ½×ÀÌ°Ô µÉ µ¥ÀÌÅÍÀÇ Å¸ÀÔ(ÇʵåŸÀÔ)À» °áÁ¤Çϱâ À§Çؼ­ »ç¿ëµÈ´Ù. DS´Â ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ±¸¼ºµÈ´Ù.

    DS:variable_name:DST:heartbeat:min:max 
     
  • variable_name : µ¥ÀÌÅ͸¦ °¡¸®Å°´Â À̸§À¸·Î Çʵå¸íÀ̶ó°í »ý°¢ÇÏ¸é µÈ´Ù.
  • DST : Data Source Type·Î µ¥ÀÌÅÍÀÇ Çü½Ä(ÇʵåŸÀÔ)ÀÌ´Ù. ´ÙÀ½°ú °°Àº Çü½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
    • COUNT : ´©ÀûµÇ´Â Áõ°¡°ªÀÌ´Ù. SNMP(12)¸¦ ÅëÇØ¼­ ¼öÁýµÇ´Â ´ëºÎºÐÀÇ ³×Æ®¿öÅ© Æ®·¡ÇÈ °ü·Ã µ¥ÀÌÅ͵éÀÌ ÀÌ¿¡ ÇØ´çµÈ´Ù.
    • GAUGE : ÇöÀç ÃøÁ¤µÈ °ªÀ» ÀúÀåÇÑ´Ù. µð½ºÅ© »ç¿ëÀ², ¸Þ¸ð¸® »ç¿ëÀ², ¿ÂµµµîÀÇ µ¥ÀÌÅͰ¡ ÀÌ¿¡ ÇØ´çµÈ´Ù.
    • ABSOLUTE : µ¥ÀÌÅÍÀÇ º¯È­À²À» ÀúÀåÇÑ´Ù. Àý´ë°ªÀ̶õ ¶æ¿¡¾Ë ¼ö ÀÖµíÀÌ ¹Ù·Î ÀÌÀüÀÇ µ¥ÀÌÅ͸¦ Ç×»ó 0À¸·Î º¸°í ÃøÁ¤µÈ º¯È­À²À» ÀúÀåÇÑ´Ù.
    • DERIVE : COUNT¿Í ºñ½ÁÇÏÁö¸¸ À½¼ö±îÁö ±â·ÏÀÌ °¡´ÉÇÏ´Ù.
    • heartbeat
      step¿¡ ÁöÁ¤µÈ °£°Ý¸¸Å­ µ¥ÀÌÅͰ¡ ÀúÀåµÇ¾î¾ß °ÚÁö¸¸, ¿©·¯°¡Áö ÀÌÀ¯·Î Á¤È®ÇÑ stepÀ» À¯ÁöÇϸ鼭 µ¥ÀÌÅͰ¡ ÀúÀåµÇ´Â °ÍÀº »ç½Ç»ó ºÒ°¡´É ÇÏ´Ù. ´ëºÎºÐ ½Ã°£ Áö¿¬ÀÌ ¹ß»ýÇÒ °ÍÀÌ´Ù. heartbead¸¦ ÀÌ¿ëÇØ¼­ ¾î´ÀÁ¤µµÀÇ ½Ã°£Áö¿¬À» ¹«½ÃÇÒ °ÍÀÎÁö¸¦ °áÁ´ÇÒ ¼ö ÀÖ´Ù. º¸ÅëÀº step * 2¸¸Å­ ÁöÁ¤µÈ´Ù. À§ÀÇ °æ¿ì 600ÀÌ ÁöÁ¤µÇ¾ú´Âµ¥, ÀÌ´Â 300Ãʸ¸Å­ÀÇ Áö¿¬À» ±â´Ù¸°´Ù´Â Àǹ̴Ù. ¿¹¸¦ µé¾î 12:10:00 ¿¡ µ¥ÀÌÅͰ¡ µé¾î¿À±â·Î µÇ¾î ÀÖ´Ù¸é 12:14:59 ±îÁöÀÇ µ¥ÀÌÅÍ´Â 12:10:00ÀÇ µ¥ÀÌÅÍ·Î °£ÁÖÇϰí ÀÔ·ÂÇÑ´Ù´Â ¶æÀÌ µÇ°Ú´Ù.
    • min,max: µ¥ÀÌÅÍÀÇ ÃÖ´ë ÃÖ¼Ò ¹üÀ§´Ù. ¾Ë ¼ö ¾øÀ» °æ¿ì U(Unknown)À» »ç¿ëÇÑ´Ù.

2.3.2 RRA

RRA´Â Round Robin Archive ÀÇ ÁÙÀÓ¸»·Î, µ¥ÀÌÅ͸¦ ¾î¶²¹æ½ÄÀ¸·Î ArchiveÈ­ ÇÒ°ÍÀÎÁö¸¦ °áÁ¤Çϱâ À§Çؼ­ »ç¿ëÇÑ´Ù. RRA´Â ´ÙÀ½°ú °°Àº Æ÷¸ËÀ¸·Î ÀÛ¼ºµÈ´Ù.
RRA:CF:xff:step:rows 
 
CF´Â consolidation function À¸·Î µ¥ÀÌÅ͸¦ ÃëÇÕÇÒ ¶§, ¾î¶² ¿¬»êÀ» Àû¿ëÇÒÁö¸¦ °áÁ¤ÇÑ´Ù. CF·Î AVERAGE, MINIMUM, MAXIMUM, LASTÁß ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ¸¸¾à AVERAGE·Î Çß´Ù¸é, µ¥ÀÌÅ͸¦ ÃëÇÕÇØ¼­ ±× Æò±Õ°ªÀ» ¾ÆÄ«À̺ê·Î ¸¸µé°Í ÀÌ´Ù.

xff´Â ½Å°æ¾²Áö ¸»ÀÚ. 0.5·Î ÇÏ¸é µÈ´Ù.

step¿Í rows´Â ¾ÆÄ«À̺긦 ¸¸µå´Â °£°Ý°ú ¹üÀ§¸¦ °áÁ¤ÇÑ´Ù. 1:24´Â 24°³ÀÇ µ¥ÀÌÅÍ °ªÀ» °¡Áö°í ÇϳªÀÇ ¾ÆÄ«À̺긦 ¸¸µé¶ó´Â ¶æÀÌ´Ù. ÀúÀå½Ã°£ÀÌ 300ÃÊ´ÜÀ§¶ó¸é, ÀÌ RRA Á¤º¸´Â 2½Ã°£ÀÇ µ¥ÀÌÅ͸¦ À¯ÁöÇÏ´Â ¾ÆÄ«À̺긦 »ý¼ºÇÏ°Ô µÉ °ÍÀÌ´Ù. RRA:AVERAGE:0.5:1:600·Î Á¤ÀÇ Çß´Ù¸é, 5ºÐ´ÜÀ§ µ¥ÀÌÅͰ¡ 600°³·Î ÀÌ·ç¾îÁø ÇϳªÀÇ ¾ÆÄ«À̺긦 »ý»êÇÑ´Ù. ÀÌ´Â ¾à 2ÀÏÁ¤µµÀÇ µ¥ÀÌÅͰ¡ µÈ´Ù. RRA´Â ¿©·¯°³¸¦ ¸¸µé ¼ö Àִµ¥, ÀÌ·¸°Ô Çϸé, ÀÏ´ÜÀ§ ½Ã°£´ÜÀ§ ¿¬´ÜÀ§·Î º¸¿©ÁÖ±â À§ÇÑ ´Ù¾çÇÑ ¾ÆÄ«À̺긦 ¸¸µé ¼ö ÀÖ°Ô µÈ´Ù.

2.3.3 µ¥ÀÌÅÍ ÀÔ·Â

ÀÌÁ¦ µ¥ÀÌÅ͸¦ ÀÔ·Â ÇØº¸µµ·Ï ÇϰڴÙ. ÁغñµÈ µ¥ÀÌÅÍ´Â ´ÙÀ½°ú °°´Ù.
17:05  12345 KM 
17:10  12357 KM 
17:15  12363 KM 
17:20  12363 KM 
17:25  12363 KM 
17:30  12373 KM 
17:35  12383 KM 
17:40  12393 KM 
17:45  12399 KM 
17:50  12405 KM 
17:55  12411 KM 
18:00  12415 KM 
18:05  12420 KM 
18:10  12422 KM 
18:15  12423 KM 
 

µ¥ÀÌÅÍ ÀÔ·ÂÀº °£´ÜÇÏ´Ù. rrdtoolÀº ¿©·¯°³ÀÇ ·¹Äڵ带 Çѹø¿¡ ¾÷µ¥ÀÌÆ® ½Ãų ¼ö ÀÖµµ·Ï Áö¿øÇÑ´Ù.
rrdtool update test.rrd 1129190700:12345 1129191000:12357 1129191300:12363 
rrdtool update test.rrd 1129191600:12363 1129191900:12363 1129192200:12373 
rrdtool update test.rrd 1129192500:12383 1129192800:12393 1129193100:12399 
rrdtool update test.rrd 1129193400:12405 1129193700:12411 1129194000:12415 
rrdtool update test.rrd 1129194300:12420 1129194600:12422 1129194900:12423 
 

2.3.4 µ¥ÀÌÅÍ °¡Á®¿À±â

rrdtool fetch ¸¦ ÀÌ¿ëÇÏ¸é µ¥ÀÌÅͺ£À̽º·Î ºÎÅÍ µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¼ö ÀÖ´Ù.
# rrdtool fetch test.rrd AVERAGE --start 1129190700 --end 1129194900 
                          speed 
 
1129191000: 4.0000000000e-02 
1129191300: 2.0000000000e-02 
1129191600: 0.0000000000e+00 
1129191900: 0.0000000000e+00 
1129192200: 3.3333333333e-02 
1129192500: 3.3333333333e-02 
1129192800: 3.3333333333e-02 
1129193100: 2.0000000000e-02 
1129193400: 2.0000000000e-02 
1129193700: 2.0000000000e-02 
1129194000: 1.3333333333e-02 
1129194300: 1.6666666667e-02 
1129194600: 6.6666666667e-03 
1129194900: 3.3333333333e-03 
 

2.3.5 ±×·¡ÇÁ ¸¸µé±â

rrdtool graph¸¦ ÀÌ¿ëÇÏ¸é °£´ÜÇÏ°Ô ±×·¡ÇÁ¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù.
#rrdtool  graph speed.png --start 1129190700 --end 1129194900  \ 
     DEF:myspeed=test.rrd:speed:AVERAGE \ 
     LINE2:myspeed#FF0000 
 
´ÙÀ½Àº À§ÀÇ ¸í·ÉÀ» ÀÌ¿ëÇØ¼­ »ý¼ºµÈ ±×·¡ÇÁ´Ù.

speed.png

  • DEF¸¦ ÀÌ¿ëÇØ¼­ ÇØ´ç µ¥ÀÌÅÍÆäÀ̽ºÀÇ ¾î¶² µ¥ÀÌÅ͸¦ °¡Á®¿Ã °ÇÁö¸¦ Á¤ÀÇ ÇÒ ¼ö ÀÖ´Ù. ¿©±â¿¡¼­´Â test.rrd µ¥ÀÌÅͺ£À̽º·Î ºÎÅÍ speed °ªÀ» °¡Á®¿Àµµ·Ï ¸í½ÃÇϰí ÀÖÀ¸¸ç, º¯¼ö¸íÀ¸·Î myspeed¸¦ »ç¿ëÇϰí ÀÖ´Ù.
  • ´ÙÀ½Àº ±×·¡ÇÁÀÇ ÇüŸ¦ Á¤ÀÇ Çϰí ÀÖ´Ù. myspeed°¡ °¡¸®Å°´Â °ªµé¿¡ ´ëÇØ¼­ ºÓÀº»ö(#FF0000)ÀÇ LINE2ŸÀÔÀÇ ±×·¡ÇÁ¸¦ ±×¸± °ÍÀ» ¸í·ÉÇϰí ÀÖ´Ù. ¾Æ·¡´Â ÀÚÁÖ »ç¿ëµÇ´Â »öµéÀÇ °ªÀÌ´Ù.

      red     #FF0000 
      green   #00FF00 
      blue    #0000FF 
      magenta #FF00FF     (mixed red with blue) 
      gray    #555555     (one third of all components) 
     
  • Àû´çÇÑ »öÀÇ ¼±ÅÃÀº gimp°°Àº ¹«°Å¿î ÇÁ·Î±×·¥ º¸´Ù´Â KColorChooser°ú °°Àº Àü¿ëÀÇ °£´ÜÇÑ ÇÁ·Î±×·¥À» ÀÌ¿ëÇϵµ·Ï ÇÏÀÚ.

2.3.6 ±×·¡ÇÁ ¼öÁ¤

¿ì¼± ±âº»´ÜÀ§ ºÎÅÍ ¼öÁ¤À» ÇØº¸µµ·Ï ÇÏÀÚ. ÃÖÁ¾ÀûÀ¸·Î Ãâ·ÂµÈ °ªÀº ´ÙÀ½ÀÇ °ø½Ä¿¡ ÀÇÇØ¼­ ±¸ÇØÁø´Ù.
((ÇöÀç°ª) - (ÀÌÀü°ª))/300 = ÃÊ´ç À̵¿ÇÑ °Å¸® 
 
±×·¯¹Ç·Î ´ÜÀ§´Â m/s °¡ µÈ´Ù.

±×·±µ¥ ÃÖÃÊ ¿ì¸®°¡ ÀÔ·ÂÇÑ µ¥ÀÌÅÍ´Â km´ÜÀ§ÀÌ´Ù. °í·Î À̰ÍÀ» m´ÜÀ§·Î ȯ»êÇÒ Çʿ䰡 ÀÖ´Ù. *100À» ÇØÁÖµµ·Ï ÇÏÀÚ.

# rrdtool  graph speed2.png --start 1129190700 --end 1129194900 --vertical-label m/s \ 
   DEF:myspeed=test.rrd:speed:AVERAGE    \ 
   CDEF:realspeed=myspeed,1000,\*        \ 
   LINE2:realspeed#FF0000 
 
´ÙÀ½Àº À§ÀÇ ¸í·ÉÀ» ÀÌ¿ëÇØ¼­ »ý¼ºµÈ ±×·¡ÇÁ´Ù.

speed2.png

±×·°Àú·° º¼¸¸ÇÏ°Ô ¹Ù²Ù±ä ÇßÁö¸¸ ¿©ÀüÈ÷ ¸¹Àº°Ô ºÎÁ·ÇÏ´Ù. Á»´õ ±×·²µíÇÏ°Ô ¹Ù²Ù¾î º¸µµ·Ï ÇÏÀÚ.
  • m/s ´Â Á÷°üÀûÀ¸·Î ¼Óµµ¸¦ ÆÄ¾ÇÇϱâ Èûµé´Ù km/h·Î ¹Ù²Ü Çʿ䰡 ÀÖ´Ù.

    m/s == (km/h * 3600) 
     
  • 100kmh¸¦ ÀÓ°èÄ¡·Î ÇØ¼Ò 100kmh¸¦ ³Ñ¾úÀ» °æ¿ì »¡°£»öÀ¸·Î Ç¥½ÃµÇµµ·Ï ÇØ¼­, ¾î´À ½ÃÁ¡¿¡¼­ °ú¼ÓÀ» Çß´ÂÁö È®ÀÎÇÏ°í ½Í´Ù.

    # °ú¼Ó È®Àοë 
    kmh°¡ 100º¸´Ù Å«Áö ºñ±³ÇÑ´Ù.                                      (kmh, 100) GT 
    ¸¸¾à 100º¸´Ù Å©´Ù¸é kmhÀ» ¸®ÅÏÇϰí, ±×·¸Áö ¾Ê´Ù¸é 0¸¦ ¸®ÅÏÇÑ´Ù.   (((kmh, 100) GT), kmh, 0) IF 
     
    # Á¤»ó¿îÇà È®Àοë 
    kmh°¡ 100º¸´Ù Å«Áö ºñ±³ÇÑ´Ù.                                      (kmh, 100) GT 
    ¸¸¾à 100º¸´Ù Å©´Ù¸é 0À» ¸®ÅÏÇϰí, ±×·¸Áö ¾Ê´Ù¸é kmh¸¦ ¸®ÅÏÇÑ´Ù.   (((kmh, 100) GT), 0, kmh) IF 
     

´ÙÀ½ ¸í·ÉÀº À§ÀÇ Äڵ带 Æ÷ÇÔ½ÃŲ°Çµ¥, Á» º¹ÀâÇØ º¸ÀÏ °ÍÀÌ´Ù.
rrdtool graph speed3.png                             \ 
     --start 1129190700 --end 1129194900             \ 
     --vertical-label km/h                           \ 
     DEF:myspeed=test.rrd:speed:AVERAGE              \ 
     "CDEF:kmh=myspeed,3600,*"                       \ 
     CDEF:fast=kmh,100,GT,kmh,0,IF                   \ 
     CDEF:good=kmh,100,GT,0,kmh,IF                   \ 
     HRULE:100#0000FF:"Maximum allowed"              \ 
     AREA:good#00FF00:"Good speed"                   \ 
     AREA:fast#FF0000:"Too fast" 
 

´ÙÀ½Àº ¸í·É ½ÇÇà ÈÄ »ý¼ºµÈ ±×·¡ÇÁ´Ù.

speed3.png

3 rrd server ¸¦ ÀÌ¿ëÇÑ ¿ÜºÎ update

It is known, that rrd files are architecture-dependant. So, if you're updating external rrd files and graphing them via cacti, there's a need to make cacti access these rrd files, e.g. by nfs. This will not succeed when mixing architectures.

And nfs may not be the best choice for all cases. But with rrdtool 1.2.x there's a new feature, rrd server. Pasted from rrdtool homepage:

RRD Server

If you want to create a RRD-Server, you must choose a TCP/IP Service number and add them to /etc/services like this:

rrdsrv 13900/tcp # RRD server

Attention: the TCP port 13900 isn't officially registered for rrdsrv. You can use any unused port in your services file, but the server and the client system must use the same port, of course.

With this configuration you can add RRDtool as meta-server to /etc/inetd.conf. For example:

rrdsrv stream tcp nowait root /opt/rrd/bin/rrdtool rrdtool - /var/rrd

Don't forget to create the database directory /var/rrd and reinitialize your inetd.

If all was setup correctly, you can access the server with perl sockets, tools like netcat, or in a quick interactive test by using 'telnet localhost rrdsrv'.

NOTE: that there is no authentication with this feature! Do not setup such a port unless you are sure what you are doing.
For my local setup (RHEL 4.0), I had to modify this a bit. My /etc/services 
Code: 
rrdsrv         13900/tcp                       # RRD server 
is standard. And I put 
Code: 
# default: off 
# description: RRDTool as a service 
service rrdsrv 
{ 
        disable         = no 
        socket_type     = stream 
        protocol        = tcp 
        wait            = no 
        user            = cactiuser 
        server          = /usr/bin/rrdtool 
        server_args     = - /var/www/html/cacti/rra 
} 
 

as /etc/xinetd.d/rrdsrv. Then xinetd is updated to start rrdsrv.
user should be set to the user defined in include/config.php.
server_args should be set to cacti's rra directory.
server contains the full path to rrdtool's binary. To verify this, try
Code:
telnet localhost 13900
info external.rrd
assuming, that the rrd file "external.rrd" used in this howto is located in the ./rra directory.
Now its time for some remote script to use this new feature. As an example, see
Code:
#!/usr/bin/perl 
use IO::Socket; 
 
my $host = shift @ARGV; 
my $port = shift @ARGV; 
my $rrd  = shift @ARGV; 
 
my $socket = IO::Socket::INET->new(PeerAddr=> $host, 
                                PeerPort=> $port, 
                                Proto=> 'tcp', 
                                Type=> SOCK_STREAM) 
                                or die "Can't talk to $host at $port"; 
 
my $_cmd = "update " . $rrd . " N:" . int(rand(10)) . ":" . int(rand(10)) . ":" . int(rand(10)); 
print $socket $_cmd . "\n"; 
close $socket; 
 

my $_cmd = "update " . $rrd . " N:" . int(rand(10)) . ":" . int(rand(10)) . ":" . int(rand(10)); 
 
is only an example prepared for the "external.rrd" of our example. To use this for updating your own rrd files, this must fit to the data source definitions of your special rrd file. In our example, I put
Code:
*/5 * * * *     cactiuser       /usr/bin/perl /var/www/html/cacti/scripts/rrd-remote-update.pl localhost 13900 external.rrd 
 
into crontab to perform regular updates.

Disadvantages
This handling has the great disadvantage, that you must configure the rrd file name to each single updating script. This rrd file name on the remote system must match the one on cacti's host. There's a good chance to mess things up when used for lots of rrds. But for some few files this may be appropriate.

Reinhard

4 °ü·Ã¹®¼­

¹®¼­°¡ µµ¿òÀÌ µÇ¾ú³ª¿ä?
¾ÆÁÖ ¸¹ÀÌ 21 (91.30 %)
¸¹ÀÌ 1 (4.35 %)
±×·°Àú·° 0 (0.00 %)
º°·Î 0 (0.00 %)
ÀüÇô 1 (4.35 %)
ÃÑ ÅõÇ¥23

º¸³½ Æ®·¢¹é Á¤º¸
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.