๋ก๊ทธ๋ ์์คํ ์ ์ค์ํ ๋ถ๋ถ์ผ๋ก ์์๋๋ก ์๋ํ๋์ง(๋๋ ์๋ํ์ง ์๋์ง) ์ดํดํ ์ ์์ต๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ์กฐ๊ฑด์์ ๋ก๊ทธ ์์ ์ ์คํ์ ์ฌ๋ฆผํผ์๋์ ๋ณ๋ ๋ถ์ผ๊ฐ ๋ฉ๋๋ค. ํด๊ฒฐํด์ผ ํ ๋ง์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ก๊ทธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ
- ๋ก๊ทธ๋ฅผ ์์ฑํ ์์น;
- ์ ์ฅ ๋ฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ก๊ทธ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ
- ๋ก๊ทธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ์ฅํ๋ ๋ฐฉ๋ฒ.
ํ์ฌ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ปจํ ์ด๋ํ ๊ธฐ์ ์ ์ฌ์ฉ์ ๋ฌธ์ ํด๊ฒฐ ์ต์ ๋ถ์ผ์์ ๊ฐํด ์์ ๋ชจ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๋๋ต ์ด๊ฒ์ ๋ํด Yuri Bushmelev์ "๋ก๊ทธ ์์ง ๋ฐ ์ ๋ฌ ๋ถ์ผ์ ๊ฐํด์ง๋"๋ณด๊ณ ์์ ์ฌ๋ณธ์ ๋๋ค.
๋๊ฐ ์ ๊ฒฝ ์ฐ๋์, ๊ณ ์์ด ๋ฐ์์ ์ฃผ์ธ์.
์ ์ด๋ฆ์ ์ ๋ฆฌ ๋ถ์๋ฉ๋ ํ์ ๋๋ค. ์ ๋ ๋ผ์๋ค์์ ์ผํฉ๋๋ค. ์ค๋์ ์ฐ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ๋ก๊ทธ๋ฅผ ๋ง๋ค๊ณ , ์ด๋ป๊ฒ ์์งํ๊ณ , ๊ฑฐ๊ธฐ์ ๋ฌด์์ ์ฐ๋์ง์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋์์ ์์ต๋๊น? ์ฐ๋ฆฌ๋ ๋๊ตฌ์ ๋๊น? Lazada๋ ๋๋จ์์์ 1๊ฐ๊ตญ์์ 4์ ์จ๋ผ์ธ ์๋งค์ ์ฒด์ ๋๋ค. ์ด ๋ชจ๋ ๊ตญ๊ฐ๋ ๋ฐ์ดํฐ ์ผํฐ์ ๋ถ์ฐ๋์ด ์์ต๋๋ค. ํ์ฌ ์ด 80๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ด ์ค์ํ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ผ๋ถ ๊ฒฐ์ ์ ์ผํฐ ์ฌ์ด์ ๋งค์ฐ ์ฝํ ์ฐ๊ฒฐ์ด ์๋ค๋ ์ฌ์ค ๋๋ฌธ์ด์์ต๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๊ฐ ์์ต๋๋ค. ์ด๋ฏธ 20๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ์๋ค๋ ์ฌ์ค์ ๋๋์ต๋๋ค. ๋ก๊ทธ๋ก ์์ ์ ์์ํ์ ๋ ๋ก๊ทธ๊ฐ 6๊ฐ๋ฟ์ด์๊ณ , ๊ฒ๋ค๊ฐ PHP ๋ ๊ฑฐ์ ๋ถ๋ถ์ด ๊ฝค ์ปค์ ๊ฐ๋นํ๊ณ ์ฐธ์์ผ ํ์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ด ํ์ฌ ์์คํ ์ ์ฒด์ ๋ํด ๋ถ๋น XNUMX๋ฐฑ๋ง ๊ฐ ์ด์์ ๋ฉ์์ง๋ฅผ ์์ฑํฉ๋๋ค. ๋ ๋์๊ฐ์ ๋๋ ์ฐ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ์ด๊ฒ๊ณผ ํจ๊ป ์ด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ผ๋ฉฐ ์ด๊ฒ์ด ์ ๊ทธ๋ฐ์ง๋ฅผ ๋ณด์ฌ์ค ๊ฒ์ ๋๋ค.
์ด๋ป๊ฒ๋ ์ด 6๋ฐฑ๋ง ๊ฐ์ ๋ฉ์์ง์ ํจ๊ป ์ด์์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๋ค๊ณผ ํจ๊ป ๋ฌด์์ ํด์ผ ํฉ๋๊น? 6๋ฐฑ๋ง ๊ฐ์ ๋ฉ์์ง ํ์:
- ์ฑ์์ ๋ณด๋ด๊ธฐ
- ๋ฐฐ๋ฌ์ ์ํด ์๋ฝ
- ๋ถ์ ๋ฐ ์ ์ฅ์ ์ํด ์ ๊ณตํฉ๋๋ค.
- ๋ถ์ํ๋ค
- ์ด๋ป๊ฒ๋ ์ ์ฅํฉ๋๋ค.
๋ฉ์์ง๊ฐ XNUMX๋ง ๊ฐ์์ ๋, ๋๋ ๊ฑฐ์ ๊ฐ์ ํ์ ์ ์ง์๋ค. ์ ์ ๋์ผ๋ก ์์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ ๋ก๊ทธ๊ฐ ๊ฑฐ๊ธฐ์ ๊ธฐ๋ก๋์ด ์์์ด ๋ถ๋ช ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ ์ ์๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ ์ ์์ง๋ง ๋ฌด์ธ๊ฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ธ์๋ ๊ฐ ๋ง์ดํฌ๋ก ์๋น์ค๋ ์ก์ธ์ค ๋ก๊ทธ๋ฅผ ์์ฑํฉ๋๋ค. ๋ง์ดํฌ๋ก ์๋น์ค์ ๋์ฐฉํ๋ ๊ฐ ์์ฒญ์ ๋ก๊ทธ์ ์ ์ฅ๋ฉ๋๋ค. ์ ์ด๋ฌ๋ ๊ฑฐ์ง? ๊ฐ๋ฐ์๋ ์ถ์ ํ ์ ์๊ธฐ๋ฅผ ์ํฉ๋๋ค. ๊ฐ ์ก์ธ์ค ๋ก๊ทธ์๋ traceid ํ๋๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ด์ ๋ฐ๋ผ ํน์ ์ธํฐํ์ด์ค๊ฐ ์ ์ฒด ์ฒด์ธ์ ํ๊ณ ์ถ์ ์ ์๋ฆ๋ต๊ฒ ํ์ํฉ๋๋ค. ์ถ์ ์ ์์ฒญ์ด ์ด๋ป๊ฒ ์งํ๋์๋์ง ๋ณด์ฌ์ฃผ๋ฉฐ ๊ฐ๋ฐ์๊ฐ ์ ์ ์๋ ์ฐ๋ ๊ธฐ๋ฅผ ๋ ๋นจ๋ฆฌ ์ฒ๋ฆฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๊ทธ๊ฒ๊ณผ ํจ๊ป ์ฌ๋ ๋ฐฉ๋ฒ? ์ด์ ์ต์ ๋ถ์ผ, ์ฆ ์ด ๋ฌธ์ ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์ด๋ป๊ฒ ํด๊ฒฐ๋๋์ง ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ๊ฒ ์ต๋๋ค. ๋ก๊ทธ ์์ง, ์ ์ก ๋ฐ ์ ์ฅ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ.
์์ฉ ํ๋ก๊ทธ๋จ์์ ์์ฑํ๋ ๋ฐฉ๋ฒ? ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ์ ๋ถ๋ช ํฉ๋๋ค. ํนํ ์ ํํ๋ ๋์ง๋ค์ด ์ฐ๋ฆฌ์๊ฒ ๋งํ๋ฏ์ด ๋ชจ๋ฒ ์ฌ๋ก๊ฐ ์์ต๋๋ค. ํ ์๋ฒ์ง๊ฐ ๋งํ๋ฏ์ด ์ฌ๋ ์ค์ฟจ์๋ ๋ ๊ฐ์ง ์ ํ์ด ์์ต๋๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋ก๊ทธ ์์ง์ ๊ฒฝ์ฐ ์ํฉ์ ๊ฑฐ์ ๋์ผํฉ๋๋ค. ์ด ํน์ ๋ถ๋ถ์ ํด๊ฒฐํ๊ธฐ ์ํ ์ต์ ์ ๊ทธ๋ฆฌ ๋ง์ง ์์ต๋๋ค. ๋ ๋ง์ง๋ง ์์ง ๋ง์ง๋ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ฐฐ์ก ๋ฐ ํ์ ๋ถ์์ ํตํด ๋ณํ์ ์๊ฐ ํญ๋ฐ์ ์ผ๋ก ์ฆ๊ฐํ๊ธฐ ์์ํฉ๋๋ค. ์ง๊ธ์ ๊ฐ ์ต์ ์ ๋ํด ์ค๋ช ํ์ง ์๊ฒ ์ต๋๋ค. ์ฃผ์ ์ต์ ์ ์ฃผ์ ์ ๊ด์ฌ์ด ์์๋ ๋ชจ๋ ์ฌ๋์๊ฒ ์ ์๋ ค์ ธ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
Lazada์์ ์ฐ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ํ๊ณ ์ด๋ป๊ฒ ์์ํ๋์ง ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
XNUMX๋ ์ ์ ๋ผ์๋ค์ ์์ ๋ก๊ทธ ํ๋ก์ ํธ์ ๋ณด๋ด์ก๋ค. ๊ทธ๊ณณ์ ์ด๋ฌ์ต๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ก๊ทธ๋ stdout ๋ฐ stderr์ ๊ธฐ๋ก๋์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ธ๋ จ๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ก์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ๋ฐ์๋ ๊ทธ๊ฒ์ ํ์ค ์คํธ๋ฆผ์์ ๋ฒ๋ฆฌ๊ณ ์ธํ๋ผ ์ ๋ฌธ๊ฐ๊ฐ ์ด๋ป๊ฒ ๋ ์์๋ผ ๊ฒ์ ๋๋ค. ์ธํ๋ผ ์ ๋ฌธ๊ฐ์ ๊ฐ๋ฐ์ ์ฌ์ด์๋ ๋ค์๊ณผ ๊ฐ์ด ๋งํ๋ ๋ฆด๋ฆฌ์ค๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ชจ๋ ๊ฒ์ด ์ปจํ ์ด๋์ ์๊ธฐ ๋๋ฌธ์ ์ปจํ ์ด๋ ์์ฒด์ ๋ฐ๋ก ํฌ์ฅํ๊ณ ๋ด๋ถ์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋งคํํ๊ณ ๊ฑฐ๊ธฐ์ ๋ฃ์์ต๋๋ค. ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง ๋ชจ๋์๊ฒ ๊ฝค ๋ช ๋ฐฑํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์กฐ๊ธ ๋ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฌํ ๋ก๊ทธ๋ฅผ ์ ๋ฌํ ๋ฐฉ๋ฒ. ๋๊ตฐ๊ฐ๊ฐ td-agent๋ฅผ ๊ณจ๋๋๋ฐ, ์ค์ ๋ก๋ ์ ์ฐฝํ์ง๋ง ๊ทธ๋ค์ง ์ ์ฐฝํ์ง๋ ์์ต๋๋ค. ๋๋ ์ฌ์ ํ ์ด ๋ ํ๋ก์ ํธ์ ๊ด๊ณ๋ฅผ ์ดํดํ์ง ๋ชปํ์ง๋ง ๊ฑฐ์ ๊ฐ์ ๊ฒ ๊ฐ์ต๋๋ค. Ruby๋ก ์์ฑ๋ ์ด fluentd๋ ๋ก๊ทธ ํ์ผ์ ์ฝ๊ณ ์ผ๋ถ ์ ๊ท์์ ์ฌ์ฉํ์ฌ JSON์ผ๋ก ๊ตฌ๋ฌธ ๋ถ์ํ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ทธ๋ค์ Kafka๋ก ๋ณด๋ด์ก์ต๋๋ค. ๋ํ Kafka์๋ ๊ฐ API์ ๋ํด 4๊ฐ์ ๊ฐ๋ณ ์ฃผ์ ๊ฐ ์์ต๋๋ค. ์ 4? ๋ผ์ด๋ธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์คํ ์ด์ง์ด ์๊ณ stdout ๋ฐ stderr์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฐ๋ฐ์๋ ์ด๋ฅผ ์์ฑํ๊ณ ์ธํ๋ผ ์์ ์๋ Kafka์์ ์์ฑํด์ผ ํฉ๋๋ค. ๋ํ Kafka๋ ๋ค๋ฅธ ๋ถ์์์ ๊ด๋ฆฌํ์ต๋๋ค. ๋ฐ๋ผ์ ๊ฐ API์ ๋ํด 4๊ฐ์ ์ฃผ์ ๋ฅผ ์์ฑํ๋๋ก ํฐ์ผ์ ์์ฑํด์ผ ํ์ต๋๋ค. ๋ชจ๋๊ฐ ๊ทธ๊ฒ์ ์์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ ๊ธฐ์ ์ฐ๋ ๊ธฐ์์ต๋๋ค.
๋ค์์ ๋ฌด์์ ํ์ต๋๊น? ์นดํ์นด๋ก ๋ณด๋์ต๋๋ค. ๋ํ Kafka์์ ๋ก๊ทธ์ ์ ๋ฐ์ด Logstash๋ก ๋ ์๊ฐ์ต๋๋ค. ๋ก๊ทธ์ ๋๋จธ์ง ์ ๋ฐ์ ๊ณต์ ๋์์ต๋๋ค. ์ผ๋ถ๋ ํ Graylog๋ก, ์ผ๋ถ๋ ๋ค๋ฅธ Graylog๋ก ๋ ์๊ฐ์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด ๋ชจ๋ ๊ฒ์ด ํ๋์ Elasticsearch ํด๋ฌ์คํฐ๋ก ๋ ์๊ฐ์ต๋๋ค. ์ฆ,์ด ๋ชจ๋ ํผ๋์ ๊ฒฐ๊ตญ ๊ฑฐ๊ธฐ์ ๋จ์ด์ก์ต๋๋ค. ๋น์ ์ ๊ทธ๋ ๊ฒ ํ ํ์๊ฐ ์์ต๋๋ค!
์์์ ๋ณด๋ฉด ์ด๋ฐ ๋ชจ์ต์ ๋๋ค. ๋น์ ์ ๊ทธ๋ ๊ฒ ํ ํ์๊ฐ ์์ต๋๋ค! ์ฌ๊ธฐ์์ ๋ฌธ์ ์์ญ์ ์ฆ์ ์ซ์๋ก ํ์๋ฉ๋๋ค. ์ค์ ๋ก ๋ ๋ง์ ๊ฒ์ด ์์ง๋ง 6๊ฐ๋ ์ ๋ง ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ด๋ฏ๋ก ์กฐ์น๋ฅผ ์ทจํด์ผ ํฉ๋๋ค. ๋๋ ๊ทธ๋ค์ ๋ํด ์ง๊ธ ๋ฐ๋ก ๋งํ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์ (1,2,3) ์ฐ๋ฆฌ๋ ํ์ผ์ ์์ฑํ๋ฏ๋ก ์ฌ๊ธฐ์ ํ ๋ฒ์ ์ธ ๊ฐ์ ๋ ์ดํฌ๊ฐ ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ(1)๋ ์ด๋๊ฐ์ ์์ฑํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. API์ ํ์ผ์ ์ง์ ์ธ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ด ํญ์ ๋ฐ๋์งํ ๊ฒ์ ์๋๋๋ค. API๋ ์ปจํ ์ด๋์์ ๊ฒฉ๋ฆฌ๋๋ ๊ฒ์ด ๋ฐ๋์งํ๋ฉฐ ์ฝ๊ธฐ ์ ์ฉ์ธ ๊ฒ์ด ๋ ์ข์ต๋๋ค. ์ ๋ ์์คํ ๊ด๋ฆฌ์์ด๋ฏ๋ก ์ด๋ฌํ ์ฌํญ์ ๋ํด ์ฝ๊ฐ ๋ค๋ฅธ ๊ฒฌํด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋ ๋ฒ์งธ ์์ (2,3)์ API๋ก ๋ค์ด์ค๋ ์์ฒญ์ด ๋ง๋ค๋ ๊ฒ์ ๋๋ค. API๋ ํ์ผ์ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ํ์ผ์ด ์ฆ๊ฐํ๊ณ ์์ต๋๋ค. ํ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑฐ๊ธฐ์ ๋์คํฌ๋ฅผ ์ ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์ ํตํด ๋๋ ํ ๋ฆฌ๋ก ๋ฆฌ๋๋ ์ ๋๊ธฐ ๋๋ฌธ์ ํ์ ํ๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค. ํ์ ์ํฌ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํธ๋ค์ ๋ค์ ์ด๋๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ๋น์ ์ ๋ฐ๋ณด์ฒ๋ผ ๋ณผ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. โ๋ฌด์จ ์ค๋ช ์? ์ฐ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก stdout์ ์๋๋ค. ํ๋ ์์ํฌ๋ copytruncate๋ฅผ logrotate๋ก ๋ง๋ค์์ต๋๋ค. logrotate๋ ํ์ผ์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค๊ณ ์๋ณธ์ ํธ๋ ํฌํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ๋ณต์ฌ ํ๋ก์ธ์ค ์ฌ์ด์ ์ผ๋ฐ์ ์ผ๋ก ๋์คํฌ ๊ณต๊ฐ์ด ๋ถ์กฑํฉ๋๋ค.
(4) ์๋ก ๋ค๋ฅธ API์์ ์๋ก ๋ค๋ฅธ ํ์์ ์ฌ์ฉํ์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ์ฝ๊ฐ ๋ฌ๋์ง๋ง ์ ๊ท์์ ๋ค๋ฅด๊ฒ ์์ฑ๋์ด์ผ ํ์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด Puppet์ ์ํด ๊ด๋ฆฌ๋์๊ธฐ ๋๋ฌธ์ ์์ฒด ๋ฐํด๋ฒ๋ ๊ฐ ์๋ ๋ง์ ํด๋์ค๊ฐ ์์์ต๋๋ค. ๊ฒ๋ค๊ฐ td-agent๋ ๋๋ถ๋ถ์ ์๊ฐ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋จน์ด์น์ธ ์ ์๊ณ , ๋ฐ๋ณด๊ฐ์ด ์ผ์ ํ๋ ์ฒํ๊ณ ์๋ฌด๊ฒ๋ ํ์ง ์์ ์ ์์ต๋๋ค. ๊ฒ์ผ๋ก๋ ๊ทธ๊ฐ ์๋ฌด๊ฒ๋ํ์ง ์๋๋ค๋ ๊ฒ์ ์ดํดํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ์ต๋๋ค. ๊ธฐ๊ปํด์ผ ๊ทธ๋ ๋์ด์ง๊ณ ๋๊ตฐ๊ฐ ๋์ค์ ๊ทธ๋ฅผ ๋ฐ๋ฆฌ๋ฌ ์ฌ ๊ฒ์ ๋๋ค. ๋ณด๋ค ์ ํํ๊ฒ๋ ๊ฒฝ๊ณ ๊ฐ ๋ ์์ค๊ณ ๋๊ตฐ๊ฐ ๊ฐ์ ์์ผ๋ก ๋ค์ด ์ฌ๋ฆด ๊ฒ์ ๋๋ค.
(6) ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ๋ง์ ์ฐ๋ ๊ธฐ์ ํ๊ธฐ๋ฌผ - Elasticsearch์์ต๋๋ค. ๊ตฌ๋ฒ์ ์ด์์ผ๋๊น. ๊ทธ ๋น์์๋ ์ ๋ด ๋ง์คํฐ๊ฐ ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ๋๊ฐ ๊ฒน์น ์ ์๋ ์ด๊ธฐ์ข ๋ก๊ทธ๊ฐ ์์์ต๋๋ค. ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ๋ก๊ทธ๋ ๋์ผํ ํ๋ ์ด๋ฆ์ผ๋ก ๊ธฐ๋ก๋ ์ ์์ง๋ง ๋์์ ๋ด๋ถ์ ๋ค๋ฅธ ๋ฐ์ดํฐ๊ฐ ์์ ์ ์์ต๋๋ค. ์ฆ, ํ๋์ ๋ก๊ทธ๋ ๋ ๋ฒจ๊ณผ ๊ฐ์ ํ๋์ ์ ์์ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. ๋ ๋ค๋ฅธ ๋ก๊ทธ๋ ๋ ๋ฒจ ํ๋์ ๋ฌธ์์ด๊ณผ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. ์ ์ ๋งคํ์ด ์์ผ๋ฉด ์ด๋ฌํ ๋๋ผ์ด ๊ฒฐ๊ณผ๊ฐ ๋ํ๋ฉ๋๋ค. ์ธ๋ฑ์ค ๋กํ ์ด์ ํ ๋ฌธ์์ด์ด ์๋ ๋ฉ์์ง๊ฐ elasticsearch์ ๋จผ์ ๋์ฐฉํ๋ค๋ฉด ์ ์์ ์ผ๋ก ์ด๊ณ ์๋ ๊ฒ์ ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ฉ์์ง๊ฐ Integer์ ํจ๊ป ๋์ฐฉํ ๊ฒฝ์ฐ String๊ณผ ํจ๊ป ๋์ฐฉํ ๋ชจ๋ ํ์ ๋ฉ์์ง๋ ๋จ์ํ ๋ฒ๋ ค์ง๋๋ค. ํ๋ ์ ํ์ด ์ผ์นํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฌํ ์ง๋ฌธ์ ํ๊ธฐ ์์ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ ์ฃ๋ฅผ ์ฐพ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
ํ์ง๋ง ํด์ผ ํ ์ผ์ด ์์ต๋๋ค! ๋ถ๋ช ํ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ๊ธฐ์ค์ ์ธ์์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฏธ ๋ช ๊ฐ์ง ํ์ค์ ๊ฐ์ง๊ณ ์์์ต๋๋ค. ์ผ๋ถ๋ ๋์ค์ ๊ฐ์ ธ์์ต๋๋ค. ๋คํํ ๋น์ ๋ชจ๋ API์ ๋ํ ๋จ์ผ ๋ก๊ทธ ํ์์ด ์ด๋ฏธ ์น์ธ๋์์ต๋๋ค. ์๋น์ค ์ํธ ์์ฉ ํ์ค์ ์ง์ ๊ธฐ๋ก๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ก๊ทธ๋ฅผ ๋ฐ๊ณ ์ ํ๋ ์ฌ๋์ ์ด ํ์์ผ๋ก ๋ก๊ทธ๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ์ด ํ์์ผ๋ก ๋ก๊ทธ๋ฅผ ์์ฑํ์ง ์์ผ๋ฉด ์๋ฌด ๊ฒ๋ ๋ณด์ฅํ ์ ์์ต๋๋ค.
๋ํ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ๊ณ ์ ๋ฌํ๊ณ ์์งํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋จ์ผ ํ์ค์ ๊ฐ๊ณ ์ถ์ต๋๋ค. ์ค์ ๋ก ์ด๋์ ์์ฑํ๊ณ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ. ์ด์์ ์ธ ์ํฉ์ ํ๋ก์ ํธ๊ฐ ๋์ผํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ๋๋ค. Go์ฉ ๋ณ๋์ ๋ก๊น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๊ณ PHP์ฉ ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง ๋ชจ๋ ์ฌ๋๋ค์ ๊ทธ๊ฒ๋ค์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ง๊ธ์ ์ฐ๋ฆฌ๊ฐ 80% ์ฑ๊ณตํ๊ณ ์๋ค๊ณ ๋งํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ถ๋ ๊ณ์ํด์ ์ ์ธ์ฅ์ ๋จน์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ (์ฌ๋ผ์ด๋์์) "๋ก๊ทธ ์ ๋ฌ์ ์ํ SLA"๊ฐ ๊ฑฐ์ ๋ํ๋๊ธฐ ์์ํ์ต๋๋ค. ์์ง์ ์์ง๋ง ์์ ์ค์ ๋๋ค. ์ด๋น N๊ฐ ์ดํ์ ๋ฉ์์ง๋ฅผ ์ด๋น N๊ฐ ์ดํ์ ์ฅ์์ ๊ทธ๋ฐ ํ์์ผ๋ก ์์ฑํ๋ฉด ๊ทธ๊ณณ์ผ๋ก ์ ๋ฌํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๊ณ infra๊ฐ ๋งํ ๋ ๋งค์ฐ ํธ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๊ฒ์ ๋ง์ ๋ํต์ ์์ ์ค๋๋ค. SLA๊ฐ ์๋ค๋ฉด ์ ๋ง ์ข์ต๋๋ค!
์ด๋ป๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์์ํ์ต๋๊น? ์ฃผ์ ๋ ์ดํฌ๋ td-agent์ ํจ๊ปํ์ต๋๋ค. ๋ก๊ทธ๊ฐ ์ด๋๋ก ๊ฐ๋์ง ๋ถ๋ถ๋ช ํ์ต๋๋ค. ๋ฐฐ์ก๋๋์? ๊ทธ๋ค์ ๊ฐ๊ณ ์์ต๋๊น? ์ด์จ๋ ๊ทธ๋ค์ ์ด๋์ ์์ต๋๊น? ๋ฐ๋ผ์ td-agent๋ฅผ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์ผ๋ก ๊ต์ฒดํ๊ธฐ๋ก ํ์ต๋๋ค. ๊ต์ฒด ๋์์ ๋ํ ์ต์ ์ ์ฌ๊ธฐ์ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ์ต๋๋ค.
Fluentd. ์ฒซ์งธ, ์ด์ ์ง์ฅ์์ ๊ทธ๋ฅผ ๋ง๋ฌ๊ณ ๊ทธ๋ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฑฐ๊ธฐ์ ๋จ์ด์ก์ต๋๋ค. ๋์งธ, ์ด๊ฒ์ ํ๋กํ์์๋ง ๋์ผํฉ๋๋ค.
filebeat. ์ฐ๋ฆฌ์๊ฒ๋ ์ด๋ ์ต๋๊น? ๊ทธ๊ฐ Go์ ์๊ณ ์ฐ๋ฆฌ๋ Go์ ๋ํ ํ๋ฅญํ ์ ๋ฌธ ์ง์์ ๊ฐ์ง๊ณ ์๋ค๋ ์ฌ์ค. ๋ฐ๋ผ์ ๋ฌด์์ด๋ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์ฐ๋ฆฌ ์์ ์๊ฒ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ๋ฐ์๋ค์ด์ง ์์ ์ด์ ์ ๋๋ค. ์์ ์ ์ํด ๋ค์ ์์ฑํ๋ ค๋ ์ ํน์กฐ์ฐจ ์์ ๊ฒ์ ๋๋ค.
sysadmin์ ์ํ ํ์คํ ์๋ฃจ์ ์ ์ด ์์ ๋ชจ๋ ์ข ๋ฅ์ syslog์ ๋๋ค(syslog-ng/rsyslog/nxlog).
๋๋ ์์ ์ ๊ฒ์ ์์ฑํ์ง๋ง filebeat์ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๊ธฐํ์ต๋๋ค. ๋ฌด์ธ๊ฐ๋ฅผ ์ด๋ค๋ฉด ๋น์ฆ๋์ค์ ์ ์ฉํ ๊ฒ์ ์ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ก๊ทธ๋ฅผ ์ ๋ฌํ๋ ค๋ฉด ๊ธฐ์ฑํ์ ๊ฐ์ ธ๊ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฐ๋ผ์ ์ ํ์ ์ค์ ๋ก syslog-ng์ rsyslog ์ค์์ ์ ํํ๋ ๊ฒ์ผ๋ก ๊ท๊ฒฐ๋์์ต๋๋ค. ๋๋ Puppet์ rsyslog์ ๋ํ ํด๋์ค๊ฐ ์ด๋ฏธ ์์๊ธฐ ๋๋ฌธ์ rsyslog์ ๊ธฐ๋์๊ณ ๋ ์ฌ์ด์ ๋ถ๋ช ํ ์ฐจ์ด์ ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค. syslog ๋ ๋ฌด์์ ๋๊น, syslog ๋ ๋ฌด์์ ๋๊น? ์, ์ผ๋ถ ๋ฌธ์๋ ๋ ๋์๊ณ ์ผ๋ถ๋ ๋ ์ข์ต๋๋ค. ๊ทธ๋ ์ด๋ฐ ์์ผ๋ก ์๊ณ ์๊ณ ๋ค๋ฅด๊ฒ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ rsyslog์ ๋ํด ์กฐ๊ธ. ์ผ๋จ ๋ชจ๋์ด ๋ง์์ ์ข์ต๋๋ค. ์ฌ๋์ด ์ฝ์ ์ ์๋ RainerScript(์ต์ ๊ตฌ์ฑ ์ธ์ด)๊ฐ ์์ต๋๋ค. ๋๋ผ์ด ๋ณด๋์ค๋ ํ์ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ td-agent์ ๋์์ ์๋ฎฌ๋ ์ดํธํ ์ ์์ผ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ๋ณ๊ฒฝ๋ ์ฌํญ์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ, td-agent๋ฅผ rsyslog๋ก ๋ณ๊ฒฝํ๊ณ ์์ง ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ๊ฑด๋๋ฆฌ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฆ์ ์ฐ๋ฆฌ๋ ์๋ํ๋ ๋ฐฐ์ก์ ๋ฐ์ต๋๋ค. ๋ค์์ผ๋ก mmnormalize๋ rsyslog์ ๋ฉ์ง ๊ธฐ๋ฅ์ ๋๋ค. ๋ก๊ทธ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ ์ ์์ง๋ง Grok ๋ฐ regexp๋ก๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ๋ฅผ ๋ง๋ญ๋๋ค. ์ปดํ์ผ๋ฌ๊ฐ ์์ค ์ฝ๋๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๊ฒ๊ณผ ๊ฑฐ์ ๋์ผํ ๋ฐฉ์์ผ๋ก ๋ก๊ทธ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋งค์ฐ ๋น ๋ฅด๊ฒ ์์ ํ๊ณ CPU๋ฅผ ์ ๊ฒ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋งค์ฐ ๋ฉ์ง ๊ฒ์ ๋๋ค. ๋ค๋ฅธ ๋ง์ ๋ณด๋์ค๊ฐ ์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ๋ค์ ์ฐ์ฐํ์ง ์์ ๊ฒ์ด๋ค.
rsyslog์๋ ํจ์ฌ ๋ ๋ง์ ๋จ์ ์ด ์์ต๋๋ค. ๊ทธ๋ค์ ๋ณด๋์ค์ ๊ฑฐ์ ๊ฐ์ต๋๋ค. ์ฃผ์ ๋ฌธ์ ๋ ์๋ฆฌํ ์ ์์ด์ผ ํ๊ณ ๋ฒ์ ์ ์ ํํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ ๋์ค ์์ผ์ ๋ก๊ทธ๋ฅผ ์ฐ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ /dev/log์๋ ์์คํ ๋ก๊ทธ๊ฐ ์๋ง์ด๋ฏ๋ก ์ด ํ์ดํ๋ผ์ธ์๋ journald๊ฐ ์์ต๋๋ค. ์ด์ ์ฌ์ฉ์ ์ ์ ์์ผ์ ์์ฑํด ๋ด ์๋ค. ๋ณ๋์ ๊ท์น ์ธํธ์ ์ฒจ๋ถํ๊ฒ ์ต๋๋ค. ์๋ฌด๊ฒ๋ ๊ฐ์ญํ์ง ๋ง์๋ค. ๋ชจ๋ ๊ฒ์ด ํฌ๋ช ํ๊ณ ์ดํดํ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ค์ ๋ก ํ์ต๋๋ค. ์ด๋ฌํ ์์ผ์ด ์๋ ๋๋ ํฐ๋ฆฌ๋ ํ์คํ๋์ด ๋ชจ๋ ์ปจํ ์ด๋์ ์ ๋ฌ๋ฉ๋๋ค. ์ปจํ ์ด๋๋ ํ์ํ ์์ผ์ ๋ณด๊ณ ์ด๊ณ ์ธ ์ ์์ต๋๋ค.
ํ์ผ์ด ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ๋ชจ๋๊ฐ ์ฝ์๊ธฐ ๋๋ฌธ์
Rsyslog๋ ์ฌ๋ผ์ด๋์ ํ์๋ ์์ ์ ์ํํ๊ณ ๋ก๊ทธ๋ฅผ ๋ฆด๋ ์ด ๋๋ Kafka๋ก ๋ณด๋ ๋๋ค. Kafka๋ ์์ ๋ฐฉ์์ ๋ฐ๋ฆ ๋๋ค. Rayleigh - ์์ rsyslog๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ๋ฅผ ์ ๋ฌํ๋ ค๊ณ ํ์ต๋๋ค. Message Queue ์์ด ํ์ค rsyslog ๋๊ตฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋์ค์ ์ด ๋ถ๋ถ(Logstash/Graylog/ES)์ ๋ฃ๋ ๋ฐฉ๋ฒ์๋ ๋ฏธ๋ฌํ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์ด ๋ถ๋ถ(rsyslog-rsyslog)์ ๋ฐ์ดํฐ ์ผํฐ ๊ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ค์์ ์์ถ๋ tcp ๋งํฌ๋ก, ๋์ญํญ์ ์ ์ฝํ ์ ์์ผ๋ฏ๋ก ์ฑ๋์ด ๊ฐ๋ ์ฐผ์ ๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ผํฐ์์ ์ผ๋ถ ๋ก๊ทธ๋ฅผ ์์ ํ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋๋ค. ๋ชจ๋ ๊ฒ์ด ๋์ ์ธ๋๋ค์์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๊ฒ์ ๋์์๋ ๋ฌธ์ ๊ฐ ์๋ ๊ณณ์ ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ธฐ๋ก๋ ๋ก๊ทธ๊ฐ ๊ทธ ๋์ ๋๋ฌํ ํ๋ฅ ์ด ์ผ๋ง๋ ๋๋์ง, ์ค์ ๋ก ๋ชจ๋ํฐ๋งํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ฉํธ๋ฆญ์ค๋ฅผ ์์ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. Rsyslog์๋ ์ผ์ข ์ ์นด์ดํฐ๊ฐ ์๋ ์์ฒด ํต๊ณ ์์ง ๋ชจ๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋๊ธฐ์ด์ ํฌ๊ธฐ ๋๋ ๊ทธ๋ฌํ ์์ ์ ๋ํด ์ผ๋ง๋ ๋ง์ ๋ฉ์์ง๊ฐ ๋ค์ด์๋์ง๋ฅผ ๋ณด์ฌ์ค ์ ์์ต๋๋ค. ๋น์ ์ ์ด๋ฏธ ๊ทธ๋ค๋ก๋ถํฐ ๋ฌด์ธ๊ฐ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๋ํ ๊ตฌ์ฑํ ์ ์๋ ์ฌ์ฉ์ ์ง์ ์นด์ดํฐ๊ฐ ์์ผ๋ฉฐ ์๋ฅผ ๋ค์ด ์ผ๋ถ API๊ฐ ๊ธฐ๋กํ ๋ฉ์์ง ์๋ฅผ ํ์ํฉ๋๋ค. ๋ค์์ผ๋ก rsyslog_exporter๋ฅผ Python์ผ๋ก ์์ฑํ๊ณ Prometheus์ ๋ชจ๋ ์ ์กํ์ฌ ํ๋กฏํ์ต๋๋ค. ์ฐ๋ฆฌ๋ Graylog ์งํ๋ฅผ ์ ๋ง๋ก ์ํ์ง๋ง ์ง๊ธ๊น์ง๋ ์ค์ ํ ์๊ฐ์ด ์์์ต๋๋ค.
๋ฌธ์ ๊ฐ ๋ฌด์์ ๋๊น? Live API๊ฐ ์ด๋น 50๊ฐ์ ๋ฉ์์ง๋ฅผ ์์ฑํ๋ค๋ ์ฌ์ค์ (๊ฐ์๊ธฐ!) ์๊ฒ ๋๋ฉด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์คํ ์ด์ง์ด ์๋ Live API๋ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Graylog๋ ์ด๋น 12๊ฐ์ ๋ฉ์์ง๋ง ํ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํฉ๋ฆฌ์ ์ธ ์ง๋ฌธ์ด ์๊ฒผ์ต๋๋ค. ๋๋จธ์ง๋ ์ด๋์ ์์ต๋๊น? Graylog๋ ๋จ์ํ ๋์ฒํ ์ ์๋ค๋ ๊ฒฐ๋ก ์ ๋ด ๋ ธ์ต๋๋ค. ์ค์ ๋ก Elasticsearch๋ฅผ ์ฌ์ฉํ Graylog๋ ์ด ํ๋ฆ์ ๋ง์คํฐํ์ง ๋ชปํ์ต๋๋ค.
๋ค์์ผ๋ก, ๊ทธ ๊ณผ์ ์์ ์ฐ๋ฆฌ๊ฐ ๋ง๋ ๋ค๋ฅธ ๋ฐ๊ฒฌ๋ค์ ๋๋ค.
์์ผ์ ๋ํ ์ฐ๊ธฐ๊ฐ ์ฐจ๋จ๋ฉ๋๋ค. ์ด๋ป๊ฒ์ด ์ผ์ด ์ผ์ด ๋ฌ์ด์? ๋ฐฐ๋ฌ์ ์ํด rsyslog๋ฅผ ์ฌ์ฉํ์ ๋ ์ด๋ ์์ ์์ ๋ฐ์ดํฐ ์ผํฐ ๊ฐ์ ์ฑ๋์ด ๋์ด์ก์ต๋๋ค. ๋ฐฐ๋ฌ์ ํ ๊ณณ์์, ๋ฐฐ๋ฌ์ ๋ค๋ฅธ ๊ณณ์์ ์ผ์ด๋ฌ์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ rsyslog ์์ผ์ ๊ธฐ๋กํ๋ API๊ฐ ์๋ ์์คํ
์ผ๋ก ๊ท๊ฒฐ๋ฉ๋๋ค. ๋๊ธฐ์ด์ด ์์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก 128 ํจํท์ธ ์ ๋์ค ์์ผ์ ์ฐ๊ธฐ ์ํ ๋๊ธฐ์ด์ด ๊ฐ๋ ์ฐผ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํ๋ฆฌ์ผ์ด์
๋ธ๋ก์ ๋ค์ write(). Go ์ ํ๋ฆฌ์ผ์ด์
์์ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ดํด๋ณด๋ฉด ์์ผ์ ๋ํ ์ฐ๊ธฐ๊ฐ ๋น์ฐจ๋จ ๋ชจ๋์์ ๋ฐ์ํ๋ค๊ณ ๊ธฐ๋ก๋์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋งํ ๊ฒ์ด ์๋ค๊ณ ํ์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ฝ์๊ธฐ ๋๋ฌธ์
์ด ๊ฐํด๋ฅผ ๋ฐ์ง ์๋ ๋ฐ ๋์์ด๋๋ ๋๊ธฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ชจ๋ํฐ๋งํด์ผํฉ๋๋ค. ์ฒซ์งธ, ์ธ์ ๋ฉ์์ง๊ฐ ์์ค๋๊ธฐ ์์ํ๋์ง ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค. ๋์งธ, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐ์ก์ ๋ฌธ์ ๊ฐ ์๋์ง ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ๋ค๋ฅธ ๋ถ์พํ ์๊ฐ์ ๋ง์ดํฌ๋ก ์๋น์ค ์ํคํ ์ฒ์์ 10๋ฐฐ ์ฆํญ์ด ๋งค์ฐ ์ฝ๋ค๋ ๊ฒ์ ๋๋ค. ๋ค์ด์ค๋ ์์ฒญ์ด ๊ทธ๋ ๊ฒ ๋ง์ง๋ ์์ง๋ง ์ด๋ฌํ ๋ฉ์์ง๊ฐ ๊ณ์ ์คํ๋๋ ๊ทธ๋ํ์ ์ก์ธ์ค ๋ก๊ทธ ๋๋ฌธ์ ์ค์ ๋ก ๋ก๊ทธ์ ๋ถํ๊ฐ ์ฝ XNUMX๋ฐฐ ์ฆ๊ฐํฉ๋๋ค. ์ํ๊น๊ฒ๋ ์ ํํ ์์น๋ฅผ ๊ณ์ฐํ ์๊ฐ์ด ์์์ง๋ง ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ๋ฐ๋ก ๊ทธ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ๋ช ์ฌํด์ผ ํฉ๋๋ค. ํ์ฌ ๋ก๊ทธ ์์ง ํ์ ์์คํ ์ด Lazada์์ ๊ฐ์ฅ ๋ง์ด ๋ก๋๋๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
Elasticsearch ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น? ๋ก๊ทธ๋ฅผ ํ ๊ณณ์์ ์ ์ํ๊ฒ ๊ฐ์ ธ์์ผ ํ๋ ๊ฒฝ์ฐ ๋ชจ๋ ์์คํ ์์ ์คํ๋๊ณ ์์ง๋์ง ์๋๋ก ํ์ผ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ์ญ์์ค. ์ด๊ฒ์ ์๋์ด ๋ณด์ฅ๋ฉ๋๋ค. ๋ชจ๋ ์๋ฒ์์ ์ํ๋ฉ๋๋ค. ๊ฑฐ๊ธฐ์ ๋์คํฌ๋ฅผ ๋ถ์ด๊ณ syslog๋ฅผ ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค. ๊ทธ ํ์๋ ๋ชจ๋ ๋ก๊ทธ๋ฅผ ํ ๊ณณ์ ๋ณด๊ดํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ elasticsearch, graylog ๋๋ ๋ค๋ฅธ ํญ๋ชฉ์ ์ฒ์ฒํ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฏธ ๋ชจ๋ ๋ก๊ทธ๊ฐ ์์ ๊ฒ์ด๋ฉฐ ๋์คํฌ ์ด๋ ์ด๊ฐ ์ถฉ๋ถํ๋ค๋ฉด ๋ก๊ทธ๋ฅผ ์ ์ฅํ ์๋ ์์ต๋๋ค.
๋ด ๋ณด๊ณ ์ ๋น์ ๊ณํ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ด๊ธฐ ์์ํ์ต๋๋ค. ํ์ผ ์ฐ๊ธฐ๋ฅผ ๊ฑฐ์ ์ค๋จํ์ต๋๋ค. ์ด์ ์ฐ๋ฆฌ๋ ๋๋จธ์ง๋ฅผ ๋ ๊ฒ์ ๋๋ค. API๋ฅผ ์คํํ๋ ๋ก์ปฌ ์์คํ ์์๋ ํ์ผ ์ฐ๊ธฐ๋ฅผ ์ค์งํฉ๋๋ค. ์ฒซ์งธ, ๋งค์ฐ ์ ์๋ํ๋ ํ์ผ ์ ์ฅ์๊ฐ ์์ต๋๋ค. ๋์งธ, ์ด๋ฌํ ๋จธ์ ์ ์ง์์ ์ผ๋ก ๊ณต๊ฐ์ด ๋ถ์กฑํ๋ฏ๋ก ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํด์ผ ํฉ๋๋ค.
Logstash์ Graylog๊ฐ ์๋ ์ด ๋ถ๋ถ์ ์ ๋ง ์น์์ต๋๋ค. ๋ฐ๋ผ์ ์ ๊ฑฐํด์ผํฉ๋๋ค. ํ๋๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ Logstash์ Kibana๋ฅผ ์ค๋จํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋ณด์ ๋ถ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฐ๊ฒฐ์ ๋ฌด์์ ๋๊น? X-Pack์ด ์๋ Kibana์ Shield๊ฐ ์๋ Kibana๋ ๋ก๊ทธ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๊ตฌ๋ถํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ทธ๋ค์ Graylog๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ์์ต๋๋ค. ๋ง์์ ๋ค์ง ์์ง๋ง ์๋ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ ํ๋์จ์ด๋ฅผ ๊ตฌ์ ํ๊ณ ๊ฑฐ๊ธฐ์ ์ Graylog๋ฅผ ์ค์นํ์ผ๋ฉฐ ์๊ฒฉํ ํ์์ ๋ชจ๋ ๋ก๊ทธ๋ฅผ ๋ณ๋์ Graylog๋ก ์ฎ๊ฒผ์ต๋๋ค. ๊ฐ์ ๋ถ์ผ์ ๋ค๋ฅธ ์ ํ์ ๋ฌธ์ ๋ฅผ ์กฐ์ง์ ์ผ๋ก ํด๊ฒฐํ์ต๋๋ค.
์๋ก์ด Graylog์ ์ ํํ ๋ฌด์์ด ํฌํจ๋์ด ์์ต๋๊น? ์ฐ๋ฆฌ๋ ๋์ปค์ ๋ชจ๋ ๊ฒ์ ์ผ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๋ฌ ๋์ ์๋ฒ๋ฅผ ๊ฐ์ ธ์ 7๊ฐ์ Kafka ์ธ์คํด์ค, 2.3๊ฐ์ Graylog ์๋ฒ ๋ฒ์ 5์ ์ถ์ํ์ต๋๋ค(Elasticsearch ๋ฒ์ 100๋ฅผ ์ํ๊ธฐ ๋๋ฌธ). ์ด ๋ชจ๋ ๊ฒ์ HDD์ ์ต๊ฒฉ์์ ์ ๊ธฐ๋์์ต๋๋ค. ์ด๋น ์ต๋ 140๊ฐ ๋ฉ์์ง์ ์ธ๋ฑ์ฑ ์๋๋ฅผ ํ์ธํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฃผ๋น XNUMXํ ๋ผ๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ผ๋ ์์น๋ฅผ ๋ณด์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ ๊ฐํด! 6๊ฑด์ ํ๋งค๊ฐ ์์ ๋์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ XNUMX๋ง ๊ฒ์๋ฌผ์ ๋์ด ์ด๋ํ์ต๋๋ค. ์ฐ๋ฆฌ Graylog๋ ์น์ ์๊ฐ์ด ์์ต๋๋ค. ์ด๋ป๊ฒ๋ ๋ค์ ์ด์๋จ์์ผ ํฉ๋๋ค.
์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ด์๋จ์ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋ฒ์ SSD๋ฅผ ๋ช ๊ฐ ๋ ์ถ๊ฐํ์ต๋๋ค. ํ์ฌ ์ฐ๋ฆฌ๋ ์ด๋ ๊ฒ ์ด๊ณ ์์ต๋๋ค. ์ด์ ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ด๋น 160k ๋ฉ์์ง๋ฅผ ์น๊ณ ์์ต๋๋ค. ์์ง ํ๊ณ์ ๋๋ฌํ์ง ์์๊ธฐ ๋๋ฌธ์ ํ์ค์ ์ผ๋ก ์ผ๋ง๋ ๋ฒ์ด๋ ์ ์์์ง ๋ถ๋ถ๋ช ํฉ๋๋ค.
์ด๊ฒ์ด ๋ฏธ๋์ ๋ํ ์ฐ๋ฆฌ์ ๊ณํ์ ๋๋ค. ์ด ์ค์์ ์ค์ ๋ก ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์๋ง๋ ๊ณ ๊ฐ์ฉ์ฑ์ผ ๊ฒ์ ๋๋ค. ์์ง ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค. ์ฌ๋ฌ ๋์ ์๋์ฐจ๊ฐ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ค์ ๋์ด ์์ง๋ง ์ง๊ธ๊น์ง ๋ชจ๋ ๊ฒ์ ํ ๋์ ์๋์ฐจ๋ฅผ ํตํด ์งํ๋ฉ๋๋ค. ๊ทธ๋ค ์ฌ์ด์ ์ฅ์ ์กฐ์น๋ฅผ ์ค์ ํ๋ ๋ฐ ์๊ฐ์ด ํ์ํฉ๋๋ค.
Graylog์์ ๋ฉํธ๋ฆญ์ ์์งํฉ๋๋ค.
๋์ญํญ๊ณผ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ์ฃฝ์ด์ง ์๋ ํ๋์ ๋ฏธ์น API๋ฅผ ๊ฐ๋๋ก ์๋ ์ ํ์ ๋ง๋์ญ์์ค.
๋ง์ง๋ง์ผ๋ก ๊ฐ๋ฐ์์ ์ผ์ข ์ SLA์ ์๋ช ํ์ฌ ๊ทธ๋งํผ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ๋ ์ฐ์๋ฉด ์ฃ์กํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌธ์๋ฅผ ์์ฑํฉ๋๋ค.
๊ฐ๋จํ ๋งํด์ ์ฐ๋ฆฌ๊ฐ ๊ฒฝํํ ๋ชจ๋ ๊ฒ์ ๊ฒฐ๊ณผ์ ๋๋ค. ์ฒซ์งธ, ํ์ค. ๋์งธ, syslog๋ ์ผ์ดํฌ์ ๋๋ค. ์ ์งธ, rsyslog๋ ์ฌ๋ผ์ด๋์ ์ฐ์ฌ์ง ๋๋ก ์ ํํ๊ฒ ์๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ง๋ฌธ์ ํฉ์๋ค.
์ง๋ฌธ.
๋ฌธ์ : ๊ทธ๋ค์ ์ ์ ์ฐ๊ธฐ๋ก ๊ฒฐ์ ํ์๊น... (ํ์ผ๋นํธ?)
๋ต๋ณ: ํ์ผ์ ์จ์ผ ํฉ๋๋ค. ๋๋ ์ ๋ง๋ก ์ํ์ง ์์๋ค. API๊ฐ ์ด๋น ์์ฒ ๊ฐ์ ๋ฉ์์ง๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ ํ ์๊ฐ์ ํ ๋ฒ ํ์ ํ๋๋ผ๋ ์ฌ์ ํ ์ต์ ์ด ์๋๋๋ค. ํ์ดํ์ ์ธ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ ์๊ฒ "์ฐ๋ฆฌ๊ฐ ์์ฑํ๋ ํ๋ก์ธ์ค๊ฐ ์ค๋จ๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? "๋ผ๊ณ ๋ฌผ์์ต๋๋ค. ๋๋ ๊ทธ๋ค์๊ฒ ๋ฌด์์ ๋๋ตํด์ผํ ์ง ์ฐพ์ง ๋ชปํ๊ณ "๊ธ์, ๊ทธ๋ฌ์ง ๋ง์"๋ผ๊ณ ๋งํ์ต๋๋ค.
๋ฌธ์ : ๊ทธ๋ฅ HDFS์ ๋ก๊ทธ๋ฅผ ์ฐ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๋ต๋ณA: ๋ค์ ๋จ๊ณ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ฒ์์ ๊ทธ๊ฒ์ ๋ํด ์๊ฐํ์ง๋ง ํ์ฌ ์ฒ๋ฆฌํ ๋ฆฌ์์ค๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฅ๊ธฐ์ ์ธ ์๋ฃจ์ ์ ๋ฌ๋ ค ์์ต๋๋ค.
๋ฌธ์ : ์ด ํ์์ด ๋ ์ ํฉํฉ๋๋ค.
๋ต๋ณ: ์ดํดํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์์์ผ๋ก "์ฉ"์ ๋๋ค.
๋ฌธ์ : rsyslog์ ์๋๋ค. TCP์ UDP ๋ชจ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ UDP์ ๊ฒฝ์ฐ ๋ฐฐ๋ฌ์ ์ด๋ป๊ฒ ๋ณด์ฅํฉ๋๊น?
๋ต๋ณA. ๋ ๊ฐ์ง ํฌ์ธํธ๊ฐ ์์ต๋๋ค. ๋จผ์ ๋ก๊ทธ ์ ๋ฌ์ ๋ณด์ฅํ์ง ์๋๋ค๋ ์ ์ ๋ชจ๋ ์ฌ๋์๊ฒ ์ฆ์ ์๋ฆฝ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์์ "์ฌ๋ฌด ๋ฐ์ดํฐ ์์ฑ์ ์์ํ๊ฒ ์ต๋๋ค. ์ด๋ค ์ผ์ด ๋ฐ์ํ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ์ด๋๊ฐ์ ๋๊ฒ ์ต๋๋ค. "๋ผ๊ณ ๋งํ๋ฉด "์ข์ต๋๋ค! ์์ผ์ ์ฐ๊ธฐ๋ฅผ ์ฐจ๋จํ๊ณ ํธ๋์ญ์ ์์ ์ํํ์ฌ ์ฐ๋ฆฌ๋ฅผ ์ํด ์์ผ์ ๋ฃ๊ณ ๋ค๋ฅธ ์ชฝ์์ ๋ฐ์๋์ง ํ์ธํ์ญ์์ค. ๊ทธ๋ฆฌ๊ณ ํ์ฌ ๋ชจ๋ ์ฌ๋์ ์ฆ์ ๋ถํ์ํด์ง๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ์ด๋ค ์ง๋ฌธ์ด ์์ต๋๊น? ์์ผ์ ๋ํ ์ฐ๊ธฐ๋ฅผ ๋ณด์ฅํ์ง ์์ผ๋ ค๋ฉด ๋ฐฐ๋ฌ์ ๋ณด์ฅํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ต์ ์ ๋ ธ๋ ฅ์ ๋คํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๋ฅํ ํ ๋ง์ด, ์ต์ ์ ๋คํด ์ ๋ฌํ๋ ค๊ณ ๋ ธ๋ ฅํ์ง๋ง 100% ๋ณด์ฅํ์ง๋ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฑฐ๊ธฐ์ ์ฌ๋ฌด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ฅผ ์ํ ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ต๋๋ค.
๋ฌธ์ : API๊ฐ ๋ก๊ทธ์ ์ผ๋ถ ๋ฉ์์ง๋ฅผ ์์ฑํ๊ณ ์ ์ด๋ฅผ ๋ง์ดํฌ๋ก์๋น์ค๋ก ๋๊ธธ ๋ ๋ค๋ฅธ ๋ง์ดํฌ๋ก์๋น์ค์ ๋ฉ์์ง๊ฐ ์๋ชป๋ ์์๋ก ๋์ฐฉํ๋ ๋ฌธ์ ์ ์ง๋ฉดํ ์ ์ด ์์ต๋๊น? ์ด๋ก ์ธํด ํผ๋์ด ๋ฐ์ํฉ๋๋ค.
๋ต๋ณA: ๋ค๋ฅธ ์์๋ก ์ค๋ ๊ฒ์ด ์ ์์ ๋๋ค. ์ด์ ๋ํ ์ค๋น๊ฐ ๋์ด ์์ด์ผ ํฉ๋๋ค. ๋ชจ๋ ๋คํธ์ํฌ ๋ฐฐ์ก์ ๊ทํ์๊ฒ ์ฃผ๋ฌธ์ ๋ณด์ฅํ์ง ์๊ฑฐ๋ ์ด์ ๋ํ ํน๋ณํ ์์์ ์๋นํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ผ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ API๋ ์์ฒด ํ์ผ์ ๋ก๊ทธ๋ฅผ ์ ์ฅํฉ๋๋ค. ์คํ๋ ค rsyslog๋ ๊ทธ๊ฒ๋ค์ ๋๋ ํ ๋ฆฌ๋ก ๋ถํดํฉ๋๋ค. ๊ฐ API์๋ ๊ณ ์ ํ ๋ก๊ทธ๊ฐ ์์ผ๋ฉฐ ์ฌ๊ธฐ์์ ์ฐพ์๋ณด๊ณ ์ด ๋ก๊ทธ์ ํ์์คํฌํ๋ฅผ ์ฌ์ฉํ์ฌ ๋น๊ตํ ์ ์์ต๋๋ค. Graylog๋ฅผ ์ฐพ์ผ๋ฌ ๊ฐ๋ฉด ํ์์คํฌํ๋ณ๋ก ์ ๋ ฌ๋ฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ ๋ ๊ฒ์ ๋๋ค.
๋ฌธ์ : ํ์์คํฌํ๋ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ๋ค๋ฅผ ์ ์์ต๋๋ค.
๋ต๋ณ: ํ์์คํฌํ๋ API ์์ฒด์์ ์์ฑ๋ฉ๋๋ค. ์ฌ์ค ์ด๊ฒ์ด ์์ ์ ๋๋ค. NTP๊ฐ ์์ต๋๋ค. API๋ ๋ฉ์์ง ์์ฒด์ ์ด๋ฏธ ํ์์คํฌํ๋ฅผ ์์ฑํฉ๋๋ค. rsyslog์ ์ํด ์ถ๊ฐ๋์ง ์์ต๋๋ค.
๋ฌธ์ : ๋ฐ์ดํฐ ์ผํฐ ๊ฐ์ ์ํธ ์์ฉ์ด ๋ช ํํ์ง ์์ต๋๋ค. ๋ฐ์ดํฐ ์ผํฐ์ ํ๋ ์์ํฌ ๋ด์์ ๋ก๊ทธ๊ฐ ์์ง๋๊ณ ์ฒ๋ฆฌ๋ ๋ฐฉ์์ด ๋ช ํํฉ๋๋ค. ๋ฐ์ดํฐ ์ผํฐ ๊ฐ์ ์ํธ ์์ฉ์ ์ด๋ป์ต๋๊น? ์๋๋ฉด ๊ฐ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ์์ฒด ์๋ช ์ ๊ฐ์ง๋๊น?
๋ต๋ณ: ๊ฑฐ์. ๊ฐ ๊ตญ๊ฐ๋ ํ๋์ ๋ฐ์ดํฐ ์ผํฐ์ ์์ต๋๋ค. ํ์ฌ ํ์ฐ์ด ์์ผ๋ฏ๋ก ํ ๊ตญ๊ฐ๊ฐ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ผํฐ์ ๋ฐฐ์น๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋ค์ ๊ฒฐํฉํ ํ์๊ฐ ์์ต๋๋ค. ๊ฐ ์ผํฐ ๋ด๋ถ์๋ ๋ก๊ทธ ๋ฆด๋ ์ด๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ Rsyslog ์๋ฒ์ ๋๋ค. ์ค์ ๋ก ๋ ๊ฐ์ ๊ด๋ฆฌ ์์คํ ์ ๋๋ค. ๊ทธ๋ค์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ค์ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ง๊ธ์ ํธ๋ํฝ์ด ๊ทธ ์ค ํ๋๋ฅผ ํต๊ณผํฉ๋๋ค. ๊ทธ๋ ๋ ๋ชจ๋ ์ง๊ณ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ๋ง์ผ์ ๋๋นํ์ฌ ๋์คํฌ ๋๊ธฐ์ด์ด ์์ต๋๋ค. ๊ทธ๋ ๋ ๋ก๊ทธ๋ฅผ ๋๋ฌ ์ค์ ๋ฐ์ดํฐ ์ผํฐ(์ฑ๊ฐํฌ๋ฅด)๋ก ๋ณด๋ด๋ฉฐ, ์ด๋ฏธ Graylog์ ์ค๋ ๋์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ๋ฐ์ดํฐ ์ผํฐ์๋ ์์ฒด ํ์ผ ์ ์ฅ์๊ฐ ์์ต๋๋ค. ์ฐ๊ฒฐ์ด ๋์ด์ง ๊ฒฝ์ฐ ๋ชจ๋ ๋ก๊ทธ๊ฐ ์์ต๋๋ค. ๊ทธ๋ค์ ๊ฑฐ๊ธฐ์ ๋จธ๋ฌผ ๊ฒ์ ๋๋ค. ๊ทธ๋ค์ ๊ฑฐ๊ธฐ์ ์ ์ฅ๋ฉ๋๋ค.
๋ฌธ์ : ๋น์ ์์ ์ธ ์ํฉ์์ ๋ก๊ทธ๋ฅผ ๋ฐ๋์?
๋ต๋ณ: (ํ์ผ ์ ์ฅ์๋ก) ๊ฐ์ ์ ๋ณด์๋ฉด ๋ฉ๋๋ค.
๋ฌธ์ : ๋ก๊ทธ๊ฐ ์์ค๋์ง ์๋์ง ์ด๋ป๊ฒ ๋ชจ๋ํฐ๋งํฉ๋๊น?
๋ต๋ณ: ์ฐ๋ฆฌ๋ ์ค์ ๋ก ๊ทธ๊ฒ๋ค์ ์์ด๋ฒ๋ฆฌ๊ณ ์๊ณ , ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๊ฐ์ํ๊ณ ์์ต๋๋ค. ๋ชจ๋ํฐ๋ง์ ํ ๋ฌ ์ ์ ์์๋์์ต๋๋ค. Go API๊ฐ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ๋ฉํธ๋ฆญ์ด ์์ต๋๋ค. ๊ทธ๋ ๋ ์์ผ์ ์ฐ๊ธฐ์ ์คํจํ ํ์๋ฅผ ์ ์ ์์ต๋๋ค. ํ์ฌ ๊น๋ค๋ก์ด ํด๋ฆฌ์คํฑ์ด ์์ต๋๋ค. ๊ฑฐ๊ธฐ์ ๋ฒํผ๊ฐ ์์ต๋๋ค. ๋ฉ์์ง๋ฅผ ์์ผ์ ์ฐ๋ ค๊ณ ์๋ํฉ๋๋ค. ๋ฒํผ๊ฐ ์ค๋ฒํ๋ก๋๋ฉด ๋๋กญํ๊ธฐ ์์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ์ผ๋ง๋ ๋ง์ ๊ฒ์ ๋จ์ด๋จ๋ ธ๋์ง ์ธ์์ต๋๋ค. ์นด์ดํฐ๊ฐ ๊ฑฐ๊ธฐ์์ ๋์น๊ธฐ ์์ํ๋ฉด ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๋ํด ์๊ฒ ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ค์ ์ด์ ํ๋ก๋ฉํ ์ฐ์ค์๋ ์ค๊ณ ์์ผ๋ฉฐ Grafana์์ ๊ทธ๋ํ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์๋ฆผ์ ์ค์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๊ตฌ์๊ฒ ๋ณด๋ผ์ง๋ ์์ง ๋ช ํํ์ง ์์ต๋๋ค.
๋ฌธ์ : Elasticsearch์์๋ ๋ก๊ทธ๋ฅผ ์ค๋ณต์ผ๋ก ์ ์ฅํฉ๋๋ค. ๋ณต์ ๋ณธ์ด ๋ช ๊ฐ ์์ต๋๊น?
๋ต๋ณ: ํ๋์ ๋ณต์ ๋ณธ.
๋ฌธ์ : ํ ์ค์ธ๊ฐ์?
๋ต๋ณ: ๋ง์คํฐ์ ๋ ํ๋ฆฌ์นด์ ๋๋ค. ๋ฐ์ดํฐ๋ ์ค๋ณต์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
๋ฌธ์ : rsyslog ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ์ต๋๊น?
๋ต๋ณ: ๋ง์ถคํ ์ ๋์ค ์์ผ์ ๋ฐ์ดํฐ๊ทธ๋จ์ ์์ฑํฉ๋๋ค. ์ด๊ฒ์ ์ฆ์ ์ฐ๋ฆฌ์๊ฒ 128 ํฌ๋ก๋ฐ์ดํธ์ ์ ํ์ ๋ถ๊ณผํฉ๋๋ค. ๋ ์ด์ ์ธ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ํ์ค์ผ๋ก ์์ฑํ์ต๋๋ค. ์คํ ๋ฆฌ์ง์ ๋ค์ด๊ฐ๊ณ ์ถ์ ์ฌ๋์ 128KB๋ฅผ ์๋๋ค. ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฉ์์ง๋ฅผ ์ฐจ๋จํ๊ณ ๋ฉ์์ง๊ฐ ์ฐจ๋จ๋์์์ ํ์ํฉ๋๋ค. ๋ น์ ์ค์ ์๋ ธ๋์ง ์ฌ๋ถ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฉ์์ง ์์ฒด์ ํ์ค์ ํน๋ณํ ํ๋๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ด ์๊ฐ์ ์ถ์ ํ ๊ธฐํ๊ฐ ์์ต๋๋ค.
์ง๋ฌธ: ๊นจ์ง JSON์ ์์ฑํฉ๋๊น?
๋ต๋ณ: ๊นจ์ง JSON์ ํจํท์ด ๋๋ฌด ์ปค์ ๋ฆด๋ ์ด ์ค์ ํ๊ธฐ๋ฉ๋๋ค. ๋๋ JSON์ ๊ตฌ๋ฌธ ๋ถ์ํ ์ ์๊ธฐ ๋๋ฌธ์ Graylog๊ฐ ์ญ์ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ ์์ ํด์ผ ํ๋ ๋์์ค๊ฐ ์์ผ๋ฉฐ ๋๋ถ๋ถ rsyslog์ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ์์ง ์์ ํด์ผ ํ ๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ์ด๋ฏธ ์์ฑํ์ต๋๋ค.
์ง๋ฌธ: ์ ์นดํ์นด์ธ๊ฐ? RabbitMQ๋ฅผ ์ฌ์ฉํด ๋ณด์ จ์ต๋๊น? Graylog๋ ์ด๋ฌํ ๋ถํ์ ํฉ์ฐ๋์ง ์์ต๋๊น?
๋ต๋ณ: Graylog์ ์ฐ๋๋์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Graylog๊ฐ ๊ตฌ์ฒดํ๋๊ณ ์์ต๋๋ค. ๊ทธ์๊ฒ๋ ์ ๋ง ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ ์ผ์ข ์ ๊ฒ์ ๋๋ค. ์ฌ์ค ํ์ํ์ง ์์ต๋๋ค. ์ฐจ๋ผ๋ฆฌ rsyslog์์ elasticsearch๋ก ์ง์ ์์ฑํ ๋ค์ Kibana๋ฅผ ์์ฒญํ๊ฒ ์ต๋๋ค. ํ์ง๋ง ๊ฒฝ๋น์๊ณผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ Graylog๋ฅผ ๋ฒ๋ฆฌ๊ณ Kibana๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ๋ฅํ ๊ฐ๋ฐ ๋ณํ์ ๋๋ค. Logstash๋ ์๋ฏธ๊ฐ ์์ต๋๋ค. rsyslog๋ก ๋์ผํ ์์ ์ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ elasticsearch์ ์ฐ๋ ๋ชจ๋์ด ์์ต๋๋ค. Graylog์ ํจ๊ป ์ฐ๋ฆฌ๋ ์ด๋ป๊ฒ๋ ์ด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์ฝ๊ฐ ์กฐ์ ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ ํ ๊ฐ์ ์ ์ฌ์ง๊ฐ ์์ต๋๋ค.
์นดํ์นด์ ๋ํด. ๊ทธ๊ฒ์ด ์ญ์ฌ์ ์ผ๋ก ์ผ์ด๋ ๋ฐฉ์์ ๋๋ค. ๋ด๊ฐ ๋์ฐฉํ์ ๋ ๊ทธ๊ฒ์ ์ด๋ฏธ ๊ฑฐ๊ธฐ์ ์์๊ณ ์ด๋ฏธ ๋ก๊ทธ๊ฐ ๊ธฐ๋ก๋๊ณ ์์์ต๋๋ค. ๋ฐฉ๊ธ ํด๋ฌ์คํฐ๋ฅผ ์ฌ๋ฆฌ๊ณ ๋ก๊ทธ๋ฅผ ์ด๋ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๋ฅผ ๊ด๋ฆฌํ๊ณ ๊ทธ๊ฐ ์ด๋ป๊ฒ ๋๋ผ๋์ง ์๋๋ค. RabbitMQ์ ๊ฒฝ์ฐ... RabbitMQ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ RabbitMQ๋ ์ฐ๋ฆฌ๋ฅผ ์ํด ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์์ฐ์ ๊ฐ์ง๊ณ ์๊ณ ๊ทธ๊ฒ์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ์ด์ ํ๋งค๋๊ธฐ ์ ์ ๊ทธ๋ ๋ฌด๋น์ด ๋ ๊ฒ์ด๊ณ ์ ์์ ์ผ๋ก ์ผํ๊ธฐ ์์ํ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๊ทธ ์ ์๋ ํ๋ก๋์ ์ ์ถ์ํ ์ค๋น๊ฐ ๋์ด ์์ง ์์์ต๋๋ค. ํ ๊ฐ์ง ๋ ์์ต๋๋ค. Graylog๋ AMQP 0.9 ๋ฒ์ ์ ์ฝ์ ์ ์๊ณ rsyslog๋ AMQP 1.0 ๋ฒ์ ์ ์ธ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๊ฐ์ ๋ ๋ค ํ ์ ์๋ ๋จ์ผ ์๋ฃจ์ ์ ์์ต๋๋ค. ๋ ์ค ํ๋๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ์ง๊ธ์ Kafka๋ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋์์ค๋ ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ rsyslog ๋ฒ์ ์ omkafka๋ rsyslog์์ ๊ฐ์ ธ์จ ์ ์ฒด ๋ฉ์์ง ๋ฒํผ๋ฅผ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ฐธ๋ ํ.
์ง๋ฌธ: ์นดํ์นด๊ฐ ์์ด์ ์ฌ์ฉํ๋ ๊ฑด๊ฐ์? ๋ค๋ฅธ ์ฉ๋๋ก ์ฌ์ฉ๋์ง ์์ต๋๊น?
๋ต๋ณ: Data Science ํ์์ ์ฌ์ฉํ๋ Kafka. ์ด๊ฒ์ ๋ถํํ๋ ์๋ฌด ๋ง๋ ํ ์์๋ ์์ ํ ๋ณ๊ฐ์ ํ๋ก์ ํธ์ ๋๋ค. ๋ชจ๋ฅด๊ฒ ์ด์. ๊ทธ๋ ๋ ๋ฐ์ดํฐ ๊ณผํ ํ์์ ์ด์ํ์ต๋๋ค. ๋ก๊ทธ๊ฐ ์์๋์์ ๋ ๊ทธ๋ค์ ์์ ์ ๋ก๊ทธ๋ฅผ ๋ฃ์ง ์๊ธฐ ์ํด ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด์ Graylog๋ฅผ ์ ๋ฐ์ดํธํ์ผ๋ฉฐ ์ด์ ๋ฒ์ ์ Kafka๊ฐ ์๊ธฐ ๋๋ฌธ์ ํธํ์ฑ์ด ์์ค๋์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ ์์ ์ ๋ง๋ค์ด์ผ ํ์ต๋๋ค. ๋์์ ๊ฐ API์ ๋ํด ์ด ๋ค ๊ฐ์ง ์ฃผ์ ๋ฅผ ์์ด์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋ ๋ผ์ด๋ธ๋ฅผ ์ํด ํ๋์ ์์ด๋ ํ์ ๋ง๋ค๊ณ ๋ชจ๋ ๋ฌด๋๋ฅผ ์ํด ํ๋์ ์์ด๋ ์์ด๋ ํ์ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์์ ๋ชจ๋ ๊ฒ์ ์ดฌ์ํฉ๋๋ค. Graylog๋ ์ด ๋ชจ๋ ๊ฒ์ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
์ง๋ฌธ: ์์ผ์ด ์๋ ์ค๋จธ๋์ฆ์ด ํ์ํ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ปจํ ์ด๋์ฉ syslog ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํด ๋ณด์ จ์ต๋๊น?
๋ต๋ณ: ์ด ์ง๋ฌธ์ ๋์ง ๋น์ ์ฐ๋ฆฌ๋ ๋์ปค์ ๊ธด์ฅ ๊ด๊ณ์ ์์์ต๋๋ค. ๋์ปค 1.0 ๋๋ 0.9์์ต๋๋ค. Docker ์์ฒด๊ฐ ์ด์ํ์ต๋๋ค. ๋์งธ, ๋ก๊ทธ๋ฅผ ๋ฐ์ด ๋ฃ์ผ๋ฉด ... ๋์ปค ๋ฐ๋ชฌ์ ํตํด ์์ฒด์ ์ผ๋ก ๋ชจ๋ ๋ก๊ทธ๋ฅผ ์ ๋ฌํ๋ค๋ ํ์ธ๋์ง ์์ ์์ฌ์ด ์์ต๋๋ค. ํ๋์ API๊ฐ ์ด์ํด์ง๋ฉด ๋๋จธ์ง API๋ stdout ๋ฐ stderr์ ๋ณด๋ผ ์ ์๋ค๋ ์ฌ์ค์ ์ง๋ฉดํ๊ฒ ๋ฉ๋๋ค. ์ด๊ฒ์ด ์ด๋๋ก ์ด์ด์ง์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ตณ์ด ์ด๋ฐ ๊ณณ์์ docker syslog ๋๋ผ์ด๋ฒ๋ฅผ ์ธ ํ์๊ฐ ์๋ค๋ ๋๋์ด ๋๋ ์์ค์์ ์์ฌ์ด ๋ญ๋๋ค. ๊ธฐ๋ฅ ํ ์คํธ ๋ถ์์๋ ๋ก๊ทธ๊ฐ ํฌํจ๋ ์์ฒด Graylog ํด๋ฌ์คํฐ๊ฐ ์์ต๋๋ค. ๊ทธ๋ค์ ๋์ปค ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ค์ ์ฆ์ GELF๋ฅผ Graylog์ ์๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ด ๋ชจ๋ ๊ฒ์ ์์ํ ์๊ฐ, ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ด ์ ๋๋ก ์๋ํ๊ธฐ๋ฅผ ์ํ์ต๋๋ค. ์๋ง๋ ๋์ค์ ๋๊ตฐ๊ฐ ์์ ๋ฐฑ๋ ๋์ ์ ์์ ์ผ๋ก ์๋ํ๋ค๊ณ ๋งํ๋ฉด ์๋ํ๊ฒ ์ต๋๋ค.
์ง๋ฌธ: rsyslog๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ผํฐ ๊ฐ์ ์ ๋ฌํฉ๋๋ค. Kafka์์๋ ์ ์๋๋์?
๋ต๋ณ: ์ฐ๋ฆฌ๋ ์ด๋ ๊ฒ ํ๊ณ , ์ค์ ๋ก๋ ์ด๋ ์ต๋๋ค. ๋ ๊ฐ์ง ์ด์ ๊ฐ ์์ต๋๋ค. ์ฑ๋์ด ์์ ํ ์๋ํ์ง ์์ผ๋ฉด ์์ถ๋ ํ์์ด๋๋ผ๋ ๋ชจ๋ ๋ก๊ทธ๊ฐ ์ฑ๋์ ํต๊ณผํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ kafka๋ ๊ทธ๋ค์ด ๊ทธ ๊ณผ์ ์์ ๋จ์ํ ํจ๋ฐฐํ๋๋ก ํ์ฉํฉ๋๋ค. ์ด๋ฐ ์์ผ๋ก ์ด๋ฌํ ๋ก๊ทธ์ ๊ณ ์ฐฉ์ ์ ๊ฑฐํฉ๋๋ค. ์ด ๊ฒฝ์ฐ Kafka๋ฅผ ์ง์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ข์ ์ฑ๋์ด ์๊ณ ํด์ ํ๋ ค๋ ๊ฒฝ์ฐ rsyslog๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก ํต๊ณผํ์ง ๋ชปํ ๊ฒ์ ์ญ์ ํ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. ํ์ฌ ์ฐ๋ฆฌ๋ Kafka ์ด๋๊ฐ์ ์ง์ rsyslog ์ ๋ฌ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ถ์ฒ : habr.com