4. Scouter Server BuiltInPluginÀ» Á¦ÀÛÇغ¸ÀÚ - (2) Ç÷¯±×ÀÎ Á¦ÀÛ
À̹ø Æ÷½ºÆÃÀº (1) ¿ä±¸»çÇ× ºÐ¼® ¿¡ ÀÌ¾î ½ÇÁ¦·Î Ç÷¯±×ÀÎÀ» ¸¸µé¾î º¸´Â ½Ç½ÀÀ» ¼Ò°³ÇÏ°Ú´Ù.
½Ç½ÀÀ¸·Î´Â Á¤ÇØÁø ½Ã°£ °£°Ý¿¡ µû¶ó ·Î±×¸¦ ³²±â´Â ´Ü¼øÇÑ ±â´ÉÀÇ Ç÷¯±×ÀÎÀ» Á¦ÀÛÇØ º¼ °ÍÀÌ´Ù.
¸ñÂ÷´Â ¾Æ·¡¿Í °°´Ù.
1. °³¹ß ¿ä±¸»çÇ×
2. Ç÷¯±×ÀÎ Á¦ÀÛ ½Ç½À
2-1. ÄÚµå ÀÛ¼º
2-2. ³»º¸³»±â(export)
3. ±¸µ¿ Å×½ºÆ®
3-1. Á¤»óÀÛµ¿ È®ÀÎ
1. °³¹ß ¿ä±¸»çÇ×
ÀÌÀü Æ÷½ºÆÿ¡¼ »ìÆìºÃµíÀÌ À§ÀÇ ¿ä±¸Á¶°ÇÀ» ¹Ýµå½Ã ÃæÁ·ÇØ¾ß ÇÑ´Ù.
Àß ÀÌÇØ°¡ ¾È °£´Ù¸é ÀÌÀü °Ô½Ã±ÛÀ» Âü°íÇÏ¸é µÈ´Ù.
http://blog.naver.com/occidere/221069755554
´Ü, º» ¿¹½Ã¿¡¼´Â »ó±â ¸í½ÃÇÑ 6°³ÀÇ ±â´ÉÀ» µüÈ÷ È°¿ëÇÒ ÇÊ¿ä°¡ ¾ø´Â ´Ü¼ø Ç÷¯±×ÀÎÀ» Á¦ÀÛÇϱ⠶§¹®¿¡, 6°³ annotation Áß ¾Æ¹«°Å³ª °ñ¶ó »ç¿ëÇϵµ·Ï ÇÏ°Ú´Ù.
2. Ç÷¯±×ÀÎ Á¦ÀÛ ½Ç½À
Á¦ÀÛÇÒ Ç÷¯±×ÀÎÀº ÀÏÁ¤ ½Ã°£¸¶´Ù Äֿܼ¡ ·Î±×¸¦ ³²±â´Â °£´ÜÇÑ ÇÁ·Î±×·¥À» ¸¸µé¾î º¸°Ú´Ù.
2-1. ÄÚµå ÀÛ¼º
1. »õ·Î¿î ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÑ´Ù
À̸§Àº ÀÚÀ¯À̳ª, º» ¿¹½Ã¿¡¼´Â scouter-plugin-server-log¶ó°í »ý¼ºÇÏ¿´´Ù.
2. Dependency¸¦ ¼³Á¤ÇÑ´Ù
scouter.server¿Í scouter.commonÀÌ ÇÊ¿äÇÏ´Ù.
3. scouter.plugin.server.log ÆÐÅ°Áö ³»ºÎ¿¡ Log Ŭ·¡½º¸¦ »ý¼ºÇÏ¿© ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ´Ù
ÀÌ¹Ì ÀÌÀü¿¡µµ °Á¶Çß´Ù½ÃÇÇ ÀÛµ¿½Ãų Ç÷¯±×ÀÎÀº ¹Ýµå½Ã scouter.plugin.server ÆÐÅ°Áö ³»ºÎÀÇ public class¿©¾ß ÇÑ´Ù.
³»¿ëÀ» ¼³¸íÇÏÀÚ¸é,
conf ´Â ½ºÄ«¿ìÅÍ ¿ÜºÎ ¼³Á¤ÆÄÀÏÀÎ scouter.conf·Î, ½ºÄ«¿ìÅÍ doc¿¡¼± ¿ÜºÎ Ç÷¯±×ÀÎÀº ext_plugin_À¸·Î ½ÃÀÛÇÏ´Â À̸§ÀÇ ¼³Á¤°ªÀ» »ç¿ëÇÒ °ÍÀ» ¸í½Ã ¹× ±ÇÀåÇÏ°í ÀÖ´Ù.
https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Plugin-Guide_kr.md#2-annotation
±âº»ÀûÀ¸·Î scouter/server/conf/scouter.conf¿¡ Á¸ÀçÇϸç, º» ¿¹½Ã¿¡¼´Â ext_plugin_log=true °ªÀ» ÀÔ·ÂÇÏ¿© »ç¿ëÇÒ °ÍÀÌ´Ù.
µû¶ó¼ À§ÀÇ °æ·Î·Î À̵¿ÇÏ¿© ³»ºÎ¿¡ ext_plugin_log=true¸¦ ÀÔ·ÂÇÑ´Ù.
ÀÌ °ªÀ» ÀÌ¿ëÇÏ´Â ÀÌÀ¯·Î´Â º¯°æ»çÇ×À» Àû¿ëÇÏ·Á¸é ¼¹ö¸¦ Àç½ÃÀÛ ÇؾßÇÏ´Â built-in pluginÀÇ ¾àÁ¡À» º¸¿ÏÇϱâ À§ÇÑ °ÍÀ¸·Î,
ext_plugin_log= °ªÀ» true³ª false·Î º¯°æÇØ ÁÖ´Â °Í ¸¸À¸·Îµµ Àç½ÃÀÛ ¾øÀÌ ¸ðµâ ±â´ÉÀ» ÄÑ°í ²ø ¼ö ÀÖ´Ù´Â ÀåÁ¡À» °®´Â´Ù.
¶ÇÇÑ ¸Þ¼µåÀÇ ¸Å°³º¯¼ö·Î PackÀ» ±âÀÔÇϱä ÇÏ¿´À¸³ª, ·Î±×¸¦ Âï´Â º» ¿¹½Ã¿¡¼´Â µüÈ÷ ¾µ ÀÏÀÌ ¾ø´Â Àǹ̾ø´Â ¼±¾ðÀ̱⿡ º°µµ·Î »ç¿ëÇÏÁø ¾Ê¾Ò´Ù.
¿ø·¡ PackÀº scouter¿¡¼ ¼öÁýÇÑ µ¥ÀÌÅ͵éÀ» ´ã¾Æ³õÀº ´Ù¾çÇÑ Å¬·¡½º(ÀÎÅÍÆäÀ̽º ±¸Çöü)µé ÀÌ´Ù.
¸¶Âù°¡Áö·Î ¾î³ëÅ×À̼ǵµ 6°³ Áß ¾Æ¹«°Å³ª(COUNTER)»ç¿ëÇÏ¿´´Ù.
4. etc ÆÐÅ°Áö¸¦ »ý¼ºÇÏ°í, ³»ºÎ¿¡ ½Ã°£ Áֱ⸦ °ü¸®ÇÒ Time Ŭ·¡½º¸¦ ÀÛ¼ºÇÑ´Ù
¸¶Áö¸· Ãâ·Â ½Ã°£(lastPrinted)À¸·Î ºÎÅÍ ÀÏÁ¤ ½Ã°£(period)¸¸Å Áö³µÀ¸¸é Ãâ·ÂÇÏ°í, ¸¶Áö¸· Ãâ·Â ½Ã°£À» °»½ÅÇÏ´Â ÄÚµåÀÌ´Ù.
º» ¿¹½Ã¿¡¼± period = 10ÃÊ °£°ÝÀ¸·Î ·Î±×¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
ÀÌ Å¬·¡½º´Â ½ºÄ«¿ìÅÍ¿¡¼ Á÷Á¢ ºÒ·¯ »ç¿ëÇÏ´Â °ÍÀÌ ¾Æ´Ñ, ½ºÄ«¿ìÅÍ¿¡¼ ºÒ·ÁÁö´Â ¸Þ¼µå ³»ºÎ¿¡¼ È£ÃâµÇ´Â °ÍÀ̹ǷΠÆÐÅ°Áö À̸§ÀÇ Á¦¾àÀº ¹ÞÁö ¾Ê´Â´Ù. ´Ü, public class ¹× public method¿©¾ß ÇÑ °ÍÀº ¿©ÀüÈ÷ ÁöÄÑ¾ß ÇÑ´Ù.
5. etc ÆÐÅ°Áö ³»ºÎ¿¡ Ãâ·ÂÇÒ ³»¿ëÀ» ´ãÀº TextŬ·¡½º¸¦ »ý¼ºÇÑ´Ù
»ç½Ç ¾Æ¹« ³»¿ëÀ̳ª Ãâ·ÂÇصµ µÇ³ª, Á» ´õ ´Ù¾ç¼ºÀ» Ãß±¸Çϱâ À§ÇØ ·£´ýÀ¸·Î ³ë·¡ °¡»ç¸¦ ¹ÝȯÇÏ´Â ¸Þ¼µå¸¦ ´ãÀº Ŭ·¡½º¸¦ º°µµ·Î ¸¸µç °ÍÀÌ´Ù(±ÍÂú´Ù¸é ¾È¸¸µé¾îµµ µÊ)
6. Log Ŭ·¡½ºÀÇ printLog() ¸Þ¼µå¸¦ ¿Ï¼ºÇÑ´Ù
2-2. ³»º¸³»±â(export)
½ºÄ«¿ìÅÍÀÇ built-in pluginÀº jarÆÄÀÏÀÌ´Ù. µû¶ó¼ ÀÛ¼ºÇÑ Äڵ带 jarÆÄÀÏ·Î export ½ÃÄÑ¾ß ÇÑ´Ù.
jarÆÄÀÏ »ý¼ºÀ» À§ÇÑ °£´ÜÇÑ ANT ÆÄÀÏÀ» »ý¼º(build.xml) ¹× ÀÛ¼ºÇÏ¸é ¾Æ·¡¿Í °°´Ù.
º¹ºÙÇÏ´Â °ÍÀ» ±ÇÀåÇÑ´Ù.
ÀÌÈÄ »ý¼ºµÈ build.xmlÀ» ¿ì Ŭ¸¯ - Run As - 1. Ant Build ¸¦ Ŭ¸¯ÇÑ´Ù.
Á¤»óÀûÀ¸·Î ÀÛ¼ºÇß´Ù¸é, ÇÁ·ÎÁ§Æ® Æú´õ¿¡ outÀ̶õ Æú´õ°¡ »ý¼ºµÇ°í, out Æú´õ ³»ºÎ¿¡ jarÆÄÀÏÀÌ »ý¼ºµÈ´Ù.
¿©±â±îÁö µÇ¾úÀ¸¸é ¸ðµç Áغñ°¡ ³¡³ °ÍÀÌ´Ù. ÀÌÁ¦ ¼¹ö¿¡ ¿Ã·Á¼ Å×½ºÆ®¸¸ ÇÏ¸é µÈ´Ù.
3. ±¸µ¿ Å×½ºÆ®
3-1. Á¤»óÀÛµ¿ È®ÀÎ
»ý¼ºµÈ jarÆÄÀÏÀ» scouter/server/lib/ ³»ºÎ·Î ¿Å°ÜÁØ´Ù.
ÀÌÈÄ agent.host¿Í server¸¦ ½ÇÇà½ÃŲ´Ù. ¹Ýµå½Ã 2°³ ¸ðµÎ ½ÇÇà½ÃÄÑ¾ß ÇÑ´Ù.
µÎ°³ ´Ù ½ÇÇàÀ» ¸¶ÃÆÀ¸¸é ¼¹ö ·Î±×¸¦ È®ÀÎÇØ º»´Ù.
¼¹ö ·Î±×´Â server/logs/ ³»ºÎ¿¡ ÀÖ´Ù.
·Î±× È®ÀÎ °á°ú 10ÃÊ °£°ÝÀ¸·Î ·Î±×°¡ ¼º°øÀûÀ¸·Î Á¤»ó Ãâ·ÂµÊÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
4. ¸¶Ä¡¸ç...
¿©±â±îÁö ÇÏ¿© °£´ÜÇÑ Built-in Plugin Á¦ÀÛÀ» ½Ç½ÀÇØ º¸¾Ò´Ù.
»ç½Ç ½ºÄ«¿ìÅÍ¿¡¼ Á¦°øÇÏ´Â 6°¡Áö ±â´É(counter, alert, object, xlog, profile, summary)¸¦ È°¿ëÇÏÁö ¾ÊÀº ¿¹½Ã¿´À¸³ª, ±â´É È°¿ë ¹æ¹ý±îÁö Æ÷ÇÔÇÏ·Á¸é ³Ê¹« ±æ¾îÁú °Í °°¾Æ¼ Ç÷¯±×ÀÎ Á¦ÀÛ ºÎºÐ¿¡¸¸ ÁýÁßÇÏ¿´´Ù.
Ãß°¡ÀûÀÎ Ç÷¯±×ÀÎ °³¹ßÀº ½ºÄ«¿ìÅÍÀÇ Ç÷¯±×ÀÎ °¡À̵带 Âü°íÇϸé ÁÁÀ» °ÍÀÌ´Ù.
https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Plugin-Guide_kr.md
p.s. °¡²û ½ºÄ«¿ìÅÍ ³»ºÎ ½ºÄÉÁì·¯·Î ÀÎÇÏ¿© Çѹø¿¡ ¿©·¯¹ø Ãâ·ÂµÇ´Â °æ¿ì°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.
ÀÌ °æ¿ì AtomicInteger µîÀ» È°¿ëÇÏ¿© ¶ôÀ» ÇØÁÖ¸é µÈ´Ù.