์๋ ํ์ธ์ ๊ตฌ๋ ์๋, ์ต์ DevOps ์์์ ์ ๋ฆฌํด์ ๊ณต์ ํด๋๋ฆฌ๋ DevOps ์ฌํ์ ์ํ ์์์ง์ ๋๋ค.
์ด๋ฒ ์์์ง์์ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์์คํ ํน์ง์ผ๋ก ๊ตฌ์ฑํด๋ดค์ต๋๋ค. ๋จผ์ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๋ํด ์๊ฐํ ๋ค์, ํ์ฌ ๋๋ฆฌ ์ฐ์ด๊ณ ์๋ ELK ์คํ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
๐๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์์คํ ์ด๋ ๋ฌด์์ผ๊น?
์ด์ ์ค์ธ ์์คํ ์ด๋ ์๋น์ค์์ ๋ฐ์ํ๋ ๋ก๊ทธ์ ์ด๋ฒคํธ ๋ฐ์ดํฐ๋ฅผ ์์ง, ์ฒ๋ฆฌ, ๋ถ์ํ๊ธฐ ์ํด ๊ตฌ์ถํ๋ ์์คํ ์ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์์คํ ์ด๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์์คํ ์ ์ ๊ตฌ์ถํ๋ ๊ฑธ๊น์? ๊ทธ ์ด์ ๋ ์๋์ ๊ฐ์ด ์ ๋ฆฌํ ์ ์์ ๊ฒ์ ๋๋ค.
- ๋ฒ๊ทธ ๋ฐ ์ฅ์ ๋ฐ์ ์ ํด๋น ๋ก๊ทธ๋ฅผ ๋ถ์ํ์ฌ ์์ธ์ ๋น ๋ฅด๊ฒ ํ์ ๋ฐ ํด๊ฒฐ
- ์ด์ ๋ฐ์ ์, ๋น์ ์ฌ์ฉ์์ ํ๋(๋ฐ์ดํฐ ์์ฒญ ๋ฑ) ํ์ธ
- ๋ณด์ ์ด์ ๋๋ ์์คํ ์ ์ทจ์ฝ์ ํ์
- ์ฌ์ฉ์์ ์์ฒญ๊ณผ ์๋ต ์ฌ์ด์ ์๊ฐ์ด ๊ธฐ๋ก๋์ด ์ฑ๋ฅ ์ ํ ๋ฐ์ ์ง์ ํ์
- ๋น์ฆ๋์ค ์์ฌ ๊ฒฐ์ ์ ๋ก๊ทธ ๋ฐ์ดํฐ ํ์ฉ ๊ฐ๋ฅ
ํ์ฌ ๋๋ฆฌ ์ฐ์ด๊ณ ์๋ ์คํ์์ค ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์คํ์ผ๋ก๋ ELK(Elasticsearch, Logstash, Kibana) ์คํ๊ณผ PLG(Promtail, Loki, Grafana) ์คํ์ด ์๋๋ฐ์. ์ด๋ฒ์ฃผ์ ELK ์คํ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๐ELK ์คํ ์ดํด๋ณด๊ธฐ
ELK ์คํ์ด๋ Elasticsearch, Logstash, Kibana์ ์๊ธ์๋ฅผ ๋ฐ์จ ๋ง๋ก, ๋ชจ๋ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์์ง ๋ฐ ๋ถ์ํ๋ ํด๋ค์ ์ด๋ฆ์ ๋ชจ์์ ๋ง๋ ์ฉ์ด์ ๋๋ค.
Elasticsearch๋ ๋ฐ์ดํฐ ๊ฒ์ ์์ง, Logstash๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ ํด, Kibana๋ ๋ฐ์ดํฐ ์๊ฐํ ๋์๋ณด๋ ํด์ธ๋ฐ์. ์ฌ๊ธฐ์ ์ถ๊ฐ๋ก, Beats๋ผ๊ณ ํ๋ ๊ฒฝ๋ ๋ฐ์ดํฐ ์์ง ํด์ ํจ๊ป ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค.
์์ ELK ์คํ์ด ๋๋ฆฌ ์ฐ์ด๊ณ ์๋ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์คํ ์ค ํ๋๋ผ๊ณ ํ๋๋ฐ์. ์ฌ๋๋ค์ด ELK ์คํ์ ๋ง์ด ์ฌ์ฉํ๋ ์ด์ ๋ ์๋์ ๊ฐ์ต๋๋ค.
- ์คํ์์ค ํด๋ก ๊ตฌ์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ๋น์ฉ ์์ด ๋ฌด๋ฃ๋ก ๊ตฌ์ถ ๊ฐ๋ฅ
- ๋ค์ํ ๋ฐ์ดํฐ ์์ค(์๋น์ค, ์์คํ )๋ก๋ถํฐ ๋ฐ์ํ ๋ก๊ทธ์ ์ด๋ฒคํธ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์์ง ๊ฐ๋ฅ
- Kibana์์ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ๋์๋ณด๋ ๊ตฌ์ถ ๊ฐ๋ฅ
ELK ์คํ์ด ์์ฃผ ์ฌ์ฉ๋๋ ์ด์ ๋ฅผ ์์์ผ๋, ELK ์คํ์ด ๋์ํ๋ ๋ฐฉ์์ ๋ํด ์ข ๋ ์ดํด๋ณผ๊น์?
- Beats์ ์ญํ
- ๋ฐ์ดํฐ ์์ง ๋์์ผ๋ก๋ถํฐ ๋ฐ์ํ๋ ๋ก๊ทธ ๋ฐ์ดํฐ ์์ง
- ์์งํ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ง์ ๋ ๋์์๊ฒ ์ ๋ฌ
- Logstash์ ์ญํ
- Input: ๋ค์ํ ๋ฐ์ดํฐ ์์ค๋ก๋ถํฐ ๋ก๊ทธ ๋ฐ์ดํฐ ์์ง (Beats๋ ๋ฐ์ดํฐ ์์ค ์ค ํ๋)
- Filter: ์์งํ ๋ก๊ทธ ๋ฐ์ดํฐ ํํฐ๋ง (๋ค์ํ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ฐ๊ณต ๋ฑ์ ์ํ)
- Output: ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋ค์ํ ๋ฐ์ดํฐ ์์ค๋ก ์ ๋ฌ (Elasticsearch๋ ๋ฐ์ดํฐ ์์ค์ ํด๋น)
- Elasticsearch์ ์ญํ
- ์ ๋ฌ๋ฐ์ ๋ก๊ทธ ๋ฐ์ดํฐ ์ ์ฅ (Store)
- ์ ์ฅ๋ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ API๋ก ๊ฒ์ ๊ฐ๋ฅ (Search)
- Kibana์ ์ญํ
- Elasticsearch์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์๊ฐ ์๊ฐํ ๊ฐ๋ฅ
- Elasticsearch์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์๊ฐ ์ฝ๊ฒ ๊ฒ์ํ๊ณ ํํฐ๋ง ๊ฐ๋ฅ
์ด์ฒ๋ผ ELK ์คํ์ ํ์ฉํ๋ฉด ๋ก๊ทธ ๋ฐ์ดํฐ ์์ง๋ถํฐ ๊ฐ๊ณต, ๋ถ์, ์๊ฐํ๊น์ง ๊ฐ๋ฅํ ์์คํ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๐ญ๋ง์น๋ฉฐ...
์ด๋ฒ ์์์ง์์ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๋ํ ์๊ฐ์, ํ์ฌ ๋๋ฆฌ ์ฌ์ฉ๋๋ ELK ์คํ์ ๋ํด ์์๋ดค์ต๋๋ค.
๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์์คํ ์ DevOps์ ์ค์ํ ์์์ธ ๋งํผ, ์ถํ ๋ค๋ฅธ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง ์คํ์ ๋ํด์๋ ์๊ฐํ๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ํน์ ์ด๋ฒ ๋ด์ฉ ๊ด๋ จํด์ ๋ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ค๋ฉด ์๋ ๋ฉ์ผ๋ฆฌ ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์.๐
๊ทธ๋ผ, ๋ค์ ์์์ง์์ ๋ณด๋ค ์์ฐจ๊ณ ํฅ๋ฏธ๋ก์ด ๋ด์ฉ์ผ๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ๐บ
๐์ถ์ฒ
https://www.elastic.co/kr/elastic-stack
์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์ธ์