๐พ.knwldg (9) ์๋กญ๊ฒ ์๊ฒ ๋ ๋ชจ๋ ์ง์๋ค์ ์ ์ฅํด๋ก๋๋ค. ์ธ๋ค์ผํ ๋ฆฌ์คํธํ docker-ELK, Filebeat, ๊ทธ๋ฆฌ๊ณ docker compose - #3 ์ผ๋จ ๊ธฐ์ ์์๋ถํฐ ์ ํ๊ณ ์์ํ๊ฒ ์ต๋๋ค! network ์ฌ์ฉ ์ํ๊ณ ๋๋์ด Filebeat์ Logstash๋ฅผ ์ฐ๊ฒฐํ์ต๋๋ค๐๐๐๐๐๐ ์ํฉ์ ์ค๋ช ํ๊ณ ์น๊ตฌ๋ค๊ณผ ๊ฐ์ด ๊ณ ์ณค๋๋ฐ ์๊ฐ์ง๋ ๋ชปํ ๊ณณ์์... ๋ฌธ์ ๊ฐ ์๋๋ผ๊ตฌ์ ์ผ๋จ ์ ์ฉํ๊ธฐ ์ ์ ๋ฐฉํ๋ฒฝ ์ค์ ์์ ํฌํธ๋ฅผ ์ด์ด์ค์ผ ํฉ๋๋ค. ๊ฐ OS์ ๋ฐ๋ผ ํฌํธ ์ฌ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฅผํ ๋ ์ด๊ฑด ๋ค๋ค ๊ฒ์ํด์ ์์๋ณด์๊ณ ... ์ ๊ฐ์ ๊ฒฝ์ฐ์๋ 5044 ํฌํธ๋ฅผ ์ด์ด์ฃผ์๊ตฌ์. ๊ทธ๋ฆฌ๊ณ Logstash์ pipeline ์ค์ ์์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด beats ๋ถ๋ถ์ host๋ฅผ ์ถ๊ฐํด์ค๋๋ค. ์น๊ตฌ๊ฐ ์ ๊ฑธ ํด๋ณด๋ผ๊ณ ํ์ ๋, logstash/config ํด๋ ์์ ์๋ logstash.yml ํ์ผ์ host ์ค์ ์ด ์์ด์ ํ ์ ํด์ค์ผํ์ง? ํ๋๋ฐ ์ผ๋จ ์ ๋ณด๋ค ๋๋ํ ์น๊ตฌ๋๊น ๋ฏฟ๊ณ ํด.. Java Project ๋ฏ์ด ๊ณ ์น๊ธฐ - #3 Java Project ๋ฏ์ด ๊ณ ์น๊ธฐ๋ ๋ง๋ฐ์ง๋ฅผ ํฅํด ๋ฌ๋ ค๊ฐ๊ณ ์์ต๋๋ค! ์ด์ ์์๋ ๋ฌธ์ ๋ ๋ฐ๋ก ํด๊ฒฐํ์ต๋๋ค. ๋ฌธ์ ๋ ๋ฐ๋ก! .dll ํ์ผ์ ์ฐพ๊ธฐ ๋ชปํด์ ๊ทธ๋ฌ๋ ๊ฒ์ด์๊ตฌ์ ํ์ผ์ ์ถ๊ฐํด์ฃผ๋ ์ ์ ๋์ํ์ด์๐ ํ๋ก์ ํธ๋ฅผ ๋ฏ์ด ๊ณ ์น๋ฉด์ Gradle์ ์ฌ์ฉํด IDE์ ๋ ๋ฆฝ์ ์ธ ๋น๋ ์คํฌ๋ฆฝํธ ์์ฑ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ์ผ๋จ Executable JAR๋ฅผ ๋ชฉํ๋ก ํ๊ณ , ๊ฐ๋ฅํ๋ค๋ฉด exe ํ์ผ๊น์ง README.md ์ด์๊ฒ ์์ฑ (๋งค๋ด์ผ ์์ฑ) ์ ๋๋ก ๋๋์ง ํ ์คํธ ์๋ฃ๋๋ฉด, ๋ค๋ฅธ ํ๋ก์ ํธ์๋ ๋์ผํ๊ฒ ์ ์ฉ ์ด๋ ๊ฒ ๋ค์ฏ๊ฐ๋ฅผ ๋ชฉํ๋ก ์ผ์๋๋ฐ, README.md๋ ๋งค๋ด์ผ ์์ฑ๋ง ๋จ์๋ค์! ์์ฃผ ์ข์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ์๊ฐ๋ณด๋ค ์์ฃผ ๊ฐ๋จํด์ ๋งค๋ด์ผ์ด๋ผ๊ณ ๋ถ๋ฆด๊ฒ ์์๊น ์ถ์ง๋ง ๋ค๋ฅธ ํ๋ก์ ํธ๋ค์ ๋งค๋ด์ผ์ ์์ฑํด์ผ ํ ๊ฑฐ๋ผ.. Java Project ๋ฏ์ด ๊ณ ์น๊ธฐ - #2 ์ง๋๋ฒ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ๊ฒฐ์ ํ๋๋ ์ํด์ ๋น๋์ ์คํจํ์์ฃ . ์ค๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ๊ณ jar ๋น๋๋ฅผ ํ๋ ๊ฒ๊น์ง ๋์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ผ๋จ, ์ง๊ธ ์ฌ์ฉํ๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ JInput์ gradle dependency์ ์ถ๊ฐํด์ค๋๋ค. maven central repository์ ๋คํํ๋ JInput์ด ์๋ค์! ๋ก์ปฌ์ ์ถ๊ฐํ๊ฑฐ๋ ํ ํ์ ์์ ๊ฒ ๊ฐ์์ Maven Central Repository Search search.maven.org ์ ๊ธธ ๋ค์ด๊ฐ๋ฉด gradle์ ์ด๋ป๊ฒ ์ฐ๋ผ๊ณ ๊น์ง ๋์ต๋๋ค. ๋๋ฌด๋ ์น์ ํ ๊ฒ..... ์ผ๋จ ์ ๋ด์ฉ์ dependencies์ ์ถ๊ฐํ๋ฉด ์๋ ๊ฒ ๋ฉ๋๋ค. plugins { // Apply the application plugin to add support for bu.. docker-ELK, Filebeat, ๊ทธ๋ฆฌ๊ณ docker compose - #2 ์๋ ๊ธ์ ์ด์ด์ง๋ ๊ธ์ ๋๋ค๐ณ docker-ELK, Filebeat, ๊ทธ๋ฆฌ๊ณ docker compose - #1 ์ค๋๋ ์๋ก์ด ๊ฑธ ๊ฑด๋๋ฆฌ๊ณ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์น๊ตฌ๋ค๊ณผ ์งํํ๊ณ ์๋ ํ๋ก์ ํธ์์ ๋์ ์ฒ์ ELK ์คํ๊ณผ docker๋ฅผ ์จ๋ณด๊ฒ ์๊ฒผ๋ค์๐ณ๐ณ ์๋ ์ด๊ฒ์ ๊ฒ ๋ง์ด ๊ธ์ด๋ชจ์ผ๋ฉด์ ์งํํ๋ ์ค์ด๋ผ morgenmuffel.tistory.com ์ค๋์ Filebeat๋ฅผ log ํ์ผ์ ์ฐ๊ฒฐํ๊ณ , ์ฝ์ด์จ ๊ฐ์ Logstash๋ก ๋ณด๋ด๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๋ ๊ฒ๊น์ง ํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ์ผ๋จ ์์ํ๊ธฐ ์ ์ ์ด์ ์๋ฒฝ๊น์ง log ๊ด๋ จ ์์ ํ๋ฉด์ ํธ๋ ํ๋ ๋ด์ฉ์ ํ์ด์ฌ ์ ๋ฌธ๊ฐ ์น๊ตฌ๊ฐ ์์นจ์ ์ผ์ด๋์ ์ฝ๊ณ ์ฝ๋ฉํธ๋ฅผ ์คฌ๋๋ฐ - logger๊ฐ ์น ํ๋ ์์ํฌ์์ ์ ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ file writer ๋์ logge.. docker-ELK, Filebeat, ๊ทธ๋ฆฌ๊ณ docker compose - #1 ์ค๋๋ ์๋ก์ด ๊ฑธ ๊ฑด๋๋ฆฌ๊ณ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์น๊ตฌ๋ค๊ณผ ์งํํ๊ณ ์๋ ํ๋ก์ ํธ์์ ๋์ ์ฒ์ ELK ์คํ๊ณผ docker๋ฅผ ์จ๋ณด๊ฒ ์๊ฒผ๋ค์๐ณ๐ณ ์๋ ์ด๊ฒ์ ๊ฒ ๋ง์ด ๊ธ์ด๋ชจ์ผ๋ฉด์ ์งํํ๋ ์ค์ด๋ผ ์ค์ค๋ก ๊น๋จน์ง ์๊ธฐ ์ํด ์ ๋ฆฌํ๋ ์ฑ๊ฒฉ์ด ๊ฐํ์ง๋ง ๊ทธ๋๋ ํน์๋ ๋๊ตฌ์๊ฒ๋ ๋์์ด ๋ ์๋ ์์ผ๋๊น... ํ๋ ๋ง์์ผ๋ก ์ต๋ํ ์ด์๊ฒ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ผ์ด๋ธ๋ก ์ฐพ์๋ณด๋ฉด์ ์คํํด๋ณด๋ฉด์ ์ฐ๋๊ฑฐ๋ผ ์ ํํ์ง ์์ ๋ด์ฉ์ด ์์ ์ ์์ต๋๋ค๐ฅ 1. ํ์ํ ๋ด์ฉ ์ผ๋จ ํ๋ก์ ํธ์ ์ ์ฒด ํด๋ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ์ต๋๋ค. morgen-muffel โโtest-server โ โโapp.py โ โโDockerfile โโlog-server โ โโelasticsearch โ โโkibana โ โโlogstash โ โโdocker-.. Java Project ๋ฏ์ด ๊ณ ์น๊ธฐ - #1 ์๊ฐ๋ณด๋ค ๋นจ๋ฆฌ ๋ค์ ๊ฑด๋๋ฆฌ๊ฒ ๋๋ค์! ์ฌ์ค ๋ค๋ฅธ๊ฒ ๋๋ฌด ํ๊ธฐ ์ซ์ด์ ์ด๊ฑธ ๊ฑด๋๋ฆฌ๊ณ ์์ต๋๋ค๐ ๊ฐ์ฅ ๋จผ์ ํ ์ผ์ ๊ธฐ์กด ํ๋ก์ ํธ๋ฅผ gradle๋ก ๋น๋ํ ์ ์๊ฒ๋ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ๋ฐ๊ฟ์ผ ํ๋๋ฐ์. ๋ชจ๋ ๊ฒ ๊ท์ฐฎ์ผ๋, ๊ทธ๋ฅ ํด๋ ๋ด์ฉ๋ฌผ์ ์น ๋ ๋ ค๋ฒ๋ฆฌ๋๋ก ํฉ์๋ค. gradle ์ด๊ธฐ ์ธํ ์ ์๋ ํ์ด์ง๋ฅผ ์ฐธ๊ณ ํ์ต๋๋ค. gradle ๋ฒ์ ์ด ํ์ด์ง์ ๋์จ ๊ฒ๊ณผ ๋ฌ๋ผ์ ์ผ๋จ ์ต์ ๋ฒ์ ์ผ๋ก ์ค์น๋ถํฐ ํด์ฃผ์์ต๋๋ค. ์ค์นํ๋ ํ์ด์ง ๋งํฌ๊น์ง ์๋ ๋์์์ต๋๋ค! Building Java Applications Sample From inside the new project directory, run the init task using the following command in a terminal: gradle init. Whe.. Java Project ๋ฏ์ด ๊ณ ์น๊ธฐ - #0 ์ด๊ฒ์ ๊ฒ ์น๊ตฌ๋ค๊ณผ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์ ๊นํ์ ๊ตฌ๊ฒฝํ๊ณ ์๋๋ฐ ์์ ์ ์์ ํ๋ Java Proejct ํด๋ ๊ตฌ์กฐ๋ ์ฌ๋ผ์จ ํ์ผ์ด ๋๋ฌด ๊ตฌ๋ฆฌ๋ค๋ ์๊ฐ์ ํ์ต๋๋ค. README๋ ์๊ณ , gitignore๋ ์ต์์์ ์๊ณ ์ปค๋ฐ ๋ฉ์์ง๊ฐ ์ด์์ง ์์๊ฑด ์ด์ ์ด์ฉ ์ ์์ผ๋ ๋์ด๊ฐ๋๋ก ํ๊ณ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ eclipse์์ ์์ฑ๋ ํ์ผ๋ค์ ๊ทธ๋ฅ ์ฌ๋ ค๋ฒ๋ ธ๋จ ๊ฑฐ์ง์. ๊ณผ๊ฑฐ์ ๋.... ๋๋์ฒด ๋ฌด์จ ์ผ์ ํ๊ณ ์๋๊ฑฐ๋? IDE์์ ์๋ ์์ฑ๋ ํ์ผ์ ์๊ฐ ์์ด ์ฌ๋ฆฌ๋ฉด์ ์ด ํ๋ก์ ํธ๋ฅผ eclipse๋ง๊ณ ๋ค๋ฅธ IDE์์ ์คํํ๋ ค๋ฉด How to import Eclipse projects to IntelliJ IDEA? ๊ฐ์๊ฑธ ๊ฒ์ํด์ผ ํ๋ ์ํฉ์ธ๋ฐ ์ด๊ฑด ๋๋ฌด ๋ณ๋ก์์์? ๊ทธ๋์ ๋ค ๋ฏ์ด๊ณ ์น์ ํด์ ์ผ๋จ ์ ์ผ ๊ฐ๋จํ ํ๋ก.. ๋ฆฌ์ฌ์ฃผ ๊ณก์ / ๋ฆฌ์ฌ์ฃผ ๊ทธ๋ฆผ [์ด ๊ธ์ ์ด์ ๋ธ๋ก๊ทธ์์ ์ฎ๊ฒจ์ง ๊ธ์ ๋๋ค] The Go Programming Language ์ฑ ์ ๋ฐ๋ผํ๋ค๊ฐ ์ ๋๋ฉ์ด์ GIF๋ฅผ ๋ง๋๋ ์์ ์์ ๋ฆฌ์ฌ์ฃผ๋ผ๋ ์ฉ์ด๊ฐ ๋์๋ค. ์ฑ ์๋ "์ค์ค๋ก์ค์ฝํ์ x, y ์ ๋ ฅ์ ์ฌ์ธํ๋ฅผ ๋ฃ์ ๊ฒ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ํ์๋๋ ์กฐํ ์ง๋์ 2์ฐจ์์ ํ์ํ ๋งค๊ฐ๋ณ์ ๊ณก์ " ์ด๋ผ๊ณ ๋์ด ์๋๋ฐ, ์์๋ฅผ ๋ฒ์ญํ ์ฑ ์ด์ด์ ๊ทธ๋ฐ์ง ๋ฌธ์ฅ์ด ๊น๋ํ์ง๊ฐ ์๋ค. ์ธํฐ๋ท์์ ๊ฒ์ํ ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ๋ค. ๋ฆฌ์ฌ์ฃผ ๊ทธ๋ฆผ์ ์ค์ค๋ก์ค์ฝํ๋ฅผ ์ด์ฉํ์ฌ ๋ ๊ฐ์ ํ์ฅ์ ์์ด์ ๋ณผ ๋ ๋์ค๋ ๊ทธ๋ฆผ์ด๋ค. ์ค์ค๋ก์ค์ฝํ์์ x์ถ ๋ฐฉํฅ, y์ถ ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ฐ ๋ค๋ฅธ ํ์ค๋ฅผ ์์ ๋ณด๋ธ๋ค. ๋ฆฌ์ฌ์ฃผ ๊ทธ๋ฆผ์ ์ด์ฉํ๋ค๋ฉด ๋ ํ๋์ ์ฃผํ์์ ์์์ ๋น๊ตํ ์ ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ฏธ์ง์ ํ๋์ ๋ํ ์ธ๋ถ์ ์ธ ๊ฐ์ ๊ตฌํ๊ณ ์ถ์ ๋, ๊ทธ ํ.. Lorem Ipsum [์ด ๊ธ์ ์ด์ ๋ธ๋ก๊ทธ์์ ์ฎ๊ฒจ์ง ๊ธ์ ๋๋ค] ์ค๋ ์๊ฒ๋ ๋ด์ฉ์ Lorem Ipsum์ ๋๋ค! ์ด์ฉ๋ค ์๊ฒ ๋์๋๋.... ํ์ฌ์์ CSS selector๋ฅผ ๊ฒ์ํ๋ค๊ฐ ๋ฐ๋์ ๊ธฐ์ตํด์ผ ํ๋ CSS ์ ํ์ 30๊ฐ ์ฌ๋ฌ๋ถ์ id, class, descendant ๊ธฐ์ด๋ฅผ ์๊ณ ์๊ฒ ์ฃ . ๊ณผ์ฐ ๊ทธ๊ฒ ์ ๋ถ์ผ๊น์? ๊ทธ๋ ๋ค๋ฉด, ์ฌ๋ฌ๋ถ์ ํญ๋๊ฒ ์ ์ฉํ์ง ๋ชปํ๊ณ ์๋ค์. ์ด ๊ธ์์ ์ค๋ช ํ๋ ์ ํ์ ์ค์ ๋ค์๊ฐ CSS3 ๋ช ์ธ์์ ์์ผ๋ฉฐ ๋ชจ๋ code.tutsplus.com ์ด ์ฌ์ดํธ๋ฅผ ๋ค์ด๊ฐ๊ฒ ๋์์ต๋๋ค. + selector์ ๋ํด ์์ ๋ฅผ ๋ณด๋๋ฐ ๋ญ๊ฐ ์ต์ํ ๋ฌธ๊ตฌ๊ฐ ์๋๋ผ๊ตฌ์ ๋ ๊ถ๊ธํ๊ฑด ๋ชป์ฐธ์ผ๋ ๋ณต์ฌํด์ ๋ฐ๋ก ๊ตฌ๊ธ๋ง ใฑใฑใฑใฑ ์ธ์ ๋ชจ๋ ์ง์์ด ์๋ ๋๋ฌด์ํค์ ๋ก๋ ์ ์จ์ด๋ผ๋ ์ ๋ชฉ์ผ๋ก ๋ฌธ์๊ฐ ์์ด์ ์ฝ์ด๋ณด์์ต๋๋ค. ๋ก๋ ์ ์จ.. ์ด์ 1 ๋ค์