์๋ ํ์ธ์ ๊ตฌ๋ ์๋, DevOps ์์๊ณผ ๊ธฐ์ ์ง์์ ์ ๋ฆฌํด์ ๊ณต์ ํด๋๋ฆฌ๋ DevOps ์ฌํ์ ์ํ ์์์ง์ ๋๋ค.
์ถ์ ์ฐํด ๋์ ๊ตฌ๋ ์๋์๊ฒ ํ์ํ๊ณ ํ์ฑํ ํ๊ฐ์ ๋์๊ธธ ์ง์ฌ์ผ๋ก ๋ฐ๋๋๋ค.
์ด๋ฒ ์์์ง์์ ์ง๋ 8์ ๋ง Elastic์์ ๋ฐํํ Elasticsearch ๋ฐ Kibana์ ์๋ก์ด ๋ผ์ด์ ์ค ์ ์ฉ ์์์ ๋ํด ์ดํด๋ณด๊ณ ๊ด๋ จ๋ ๋ผ์ด์ ์ค์ ๋ํด์๋ ๋ค๋ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
โจElastic์ ์คํ์์ค ๋ผ์ด์ ์ค ์ ์ฉ ์ ์ธ
2024๋ 8์ ๋ง, Elastic์ Elasticsearch ๋ฐ Kibana์ ์คํ์์ค ๋ผ์ด์ ์ค๋ฅผ ๋ค์ ์ ์ฉํ๊ฒ ๋ค๊ณ ๋ฐํํ์ต๋๋ค. (์๋ฌธ ๋งํฌ)
ํ์ฌ Elasticsearch ๋ฐ Kibana ์ต์ ๋ฒ์ (v8.15.1) ์ดํ์ ๋ฆด๋ฆฌ์ฆ๋๋ ๋ฒ์ ๋ถํฐ AGPL v3.0(GNU Affero General Public License v3.0) ๋ผ์ด์ ์ค๊ฐ ์ ์ฉ๋ ์ ์๋๋ก ์์ ํ ์์ ์ด๋ผ๋ ๊ฒ ์ด๋ฒ ๋ฐํ์ ์์ง์ธ๋ฐ์.
AGPL v3.0์ด ์ ์ฉ๋๋ ์ํํธ์จ์ด๋ฅผ ์์ ์์ด ์์ฉ ์ ํ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ ํ์ ์ฝ๋๊น์ง ๊ณต๊ฐํ์ง ์์๋ ๋๋ค๋ ์ ์์ ์ฌ์ฉ์์๊ฒ ์ ๋ฆฌํฉ๋๋ค.
ํ์ง๋ง AGPL v3.0์ด ์ ์ฉ๋๋ ์ํํธ์จ์ด ์์ฒด๋ฅผ ์์ ํ ๊ฒฝ์ฐ์๋ ํด๋น ์์ค์ฝ๋๋ฅผ ๊ณต๊ฐํด์ผ ํฉ๋๋ค. ๊ฒ๋ค๊ฐ ์๋ AGPL-3.0 ํ์ ์ ์๋ฌผ ๋ฒ์์ ํด๋นํ๋ ์ ํ์ ์์ค ์ฝ๋๋ ๋ฐ์ด๋๋ฆฌ ํํ๋ก ์ฌ๋ฐฐํฌํ ๋๋ฟ๋ง ์๋๋ผ ๋คํธ์ํฌ๋ฅผ ํตํด ์ฌ์ฉ์์ ์ํธ ์์ฉ์ ํ๋ ๊ฒฝ์ฐ์๋ ๊ณต๊ฐํด์ผ ํ๋๋ฐ์.
- AGPL์ด ์ ์ฉ๋๋ ์ํํธ์จ์ด์ ์์ ์ฝ๋
- AGPL์ด ์ ์ฉ๋๋ ์ํํธ์จ์ด์ ๋์ผํ ํ๋ก์ธ์ค์์ ๋์ํ๋ Module
- AGPL์ด ์ ์ฉ๋๋ ์ํํธ์จ์ด์ ๋งํฌ๋ก ์ฐ๊ฒฐํ Library
- AGPL์ด ์ ์ฉ๋๋ ์ํํธ์จ์ด๋ฅผ ์์ํ Class
AGPL์ด ์ ์ฉ๋๋ ์ํํธ์จ์ด์ ์ ํ์ด ์ด๋ป๊ฒ ๊ฒฐํฉ๋๋๋์ ๋ฐ๋ผ ์๊ฒฉ ๋คํธ์ํฌ๋ก ์๋น์คํ๋ ๊ฒฝ์ฐ์๋ ์ ํ ์์ค ์ฝ๋๋ฅผ ๊ณต๊ฐํด์ผ ํ๋ ๋ฆฌ์คํฌ๋ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ธ์ฌํ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค.
Elastic๋ ํด๋น ๋ฐํ์์ ์์ ๋ค๋ ์ด๋ฒ ๋ผ์ด์ ์ค ์ ์ฉ์ผ๋ก ์ฌ์ฉ์๋ค์ด ์ฐ๋ คํ ์ ์์์ ์๊ณ ์๋ค๊ณ ๋ฐํ๋๋ฐ์. 'AGPL์ MongoDB์ Grafana ๋ฑ์ ํ๋ก์ ํธ์๋ ์ ์ฉ๋ ๋ผ์ด์ ์ค์ด๊ธฐ ๋๋ฌธ์ Elasticsearch์ Kibana ์ฌ์ฉ์ AGPL์ด ํฐ ์ํฅ์ ๋ฏธ์น์ง๋ ์์ ๊ฒ'์ด๋ผ๊ณ ์ธ๊ธํ๋ฉด์, 'AGPL ์ ์ฉ์ ์ฐ๋ฆฌ๊ฐ ์คํ์์ค ์ํ๊ณ๋ก ๋ค์ ๋ค๊ฐ๊ฐ ์ ์๋ ์ข์ ์ฒซ๊ฑธ์์ด ๋ ๊ฑฐ๋ผ ๋ฏฟ๋๋ค'๊ณ ํ์ต๋๋ค.
๐ง๊ธฐ์กด Elasticsearch์ Kibana์ ๋ผ์ด์ ์ค๋?
๊ทธ๋ ๋ค๋ฉด Elasticsearch์ Kibana์ ๋ผ์ด์ ์ค๊ฐ ์ด๋ป๊ฒ ๋ณํด์๊ธธ๋ Elastic์ด ์คํ์์ค๋ก ๋ค์ ๋์์๋ค๊ณ ๋ฐํํ ๊ฒ์ผ๊น์?
Elasticsearch๋ฅผ ํฌํจํ ELK(Elasticsearch, Logstash, Kibana) ์คํ ํด๋ค์ ์ฒ์ ๋ฆด๋ฆฌ์ฆ ๋น์ Apache-2.0 ๋ผ์ด์ ์ค๊ฐ ์ ์ฉ๋๊ณ ์์์ต๋๋ค. Apache-2.0์ด ์ ์ฉ๋๋ ์ํํธ์จ์ด๋ ์์ ํ๊ฑฐ๋ ์์ฉ ์ ํ์์ ํ์ฉ๋์ด๋ ์ ํ์ ์์ค์ฝ๋๋ฅผ ๊ณต๊ฐํ ์๋ฌด๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ํ์ ์ธ ์คํ์์ค ๋ผ์ด์ ์ค๋ผ๊ณ ํ ์ ์๋๋ฐ์.
ELK ์คํ ํด๋ค์ ๋ชจ๋ 7.10 ๋ฒ์ ๋๊น์ง Apache-2.0 ๋ผ์ด์ ์ค๊ฐ ์ ์ฉ๋์๊ณ , ์ด ๋ฒ์ ๋์ ELK ํด๋ค์ OSS(Open Source Software) ๋ฒ์ ์ด๋ผ๊ณ ๋ ํฉ๋๋ค.
์ดํ Elasticsearch์ Kibana๋ 2021๋ ์ Elastic License์ SSPL(Server Side Public License) ์ค ํ๋๋ฅผ ์ ํํด์ ์ ์ฉ๋ ์ ์๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
Elastic License์๋ '์ ํ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๊ด๋ฆฌํ ์๋น์ค(Managed Service)๋ก ์ ๊ณตํ ์ ์๋ค'๋ ๋ด์ฉ์ด ํฌํจ๋์ด ์๋๋ฐ์. ์ด๋ ์ธ๋ถ ์ฌ์ฉ์๊ฐ Elasticsearch API๋ฅผ ์ง์ ์ฌ์ฉํ ์ ์๊ฑฐ๋ Kibana์ ๋์๋ณด๋์ ์ง์ ์ ์ํ ์ ์๋๋ก ์ ๊ณตํ๋ ๊ฒ ๋ฑ์ ์ ํํ๋ ๋ด์ฉ์ ๋๋ค. ๋ง์ฝ ์ด๋ฐ ์ ํ์ ํ๊ณ ์ถ๋ค๋ฉด, Elastic ๋ด๋น์์ ์ปจ์คํ ๋ฐ ์ ๋ฃ ๋ฒ์ ์ ๊ตฌ๋ ํด์ผ ํฉ๋๋ค.
SSPL์๋ '์ํํธ์จ์ด๋ฅผ ์คํํ๋ ๋ฐ์ ํ์ํ ์๋น์ค ์์ค์ฝ๋๋ฅผ ๊ณต๊ฐํด์ผ ํ๋ค'๋ ๋ด์ฉ์ด ๋ช ์๋์ด ์์ต๋๋ค. ๋ผ์ด์ ์ค๊ฐ ์ ์ฉ๋๋ ์ํํธ์จ์ด๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ชจ๋ํฐ๋ง์ด๋ ๋ฐฑ์ ์ฉ ํ๋ก๊ทธ๋จ์ ์ด '์๋น์ค ์์ค์ฝ๋'์ ํฌํจ๋๊ธฐ ๋๋ฌธ์, ์์น ์๋ ์์ค์ฝ๋๋ฅผ ๊ณต๊ฐํด์ผ ํ๋ ๋ฆฌ์คํฌ๊ฐ ์กด์ฌํฉ๋๋ค.
์ด๋ ๊ฒ 2021๋ ๋ถํฐ Elasticsearch์ Kibana์ ์ ์ฉ๋์๋ ๋ผ์ด์ ์ค๋ ๋ชจ๋ ์คํ์์ค ๋ผ์ด์ ์ค๋ผ๊ณ ํ ์ ์์์ต๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด๋ฒ AGPL v3.0 ์ ์ฉ์ Elastic์์ ์คํ์์ค๋ก ๋ค์ ๋์์๋ค๊ณ ํํํ๋ ๊ฒ์ด์ฃ .
ํ์ง๋ง AGPL v3.0 ์ญ์ ์์์ ์ดํด๋ดค๋ ๊ฒ์ฒ๋ผ ์ผ๋ถ ์์ค์ฝ๋ ๊ณต๊ฐ ์กฐ๊ฑด์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์, ์คํ์์ค์ Elastic ์ปค๋ฎค๋ํฐ์์ ๊ด๋ จํ์ฌ ์ฌ๋ฌ ๋ ผ์๊ฐ ์ด์ด์ง ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
๐ญ๋ง์น๋ฉฐ...
Elastic์์ ๋ฐํํ ์๋ก์ด ๋ผ์ด์ ์ค ์ ์ฑ ์ Elasticsearch ๋ฐ Kibana๋ฅผ ์ฌ์ฉํ๋ ค๋ ๋ถ๋ค์ด ์ฐธ๊ณ ํ ๋งํ ๋ด์ฉ์ด๋ผ ์๊ฐํด์ ์ด๋ฒ ์์์ง์์ ๋ค๋ค๋ดค๋๋ฐ์.
๋ง์ฝ ์คํ์์ค๋ก ELK ์คํ์ ์ฌ์ฉํ๊ธธ ์ํ๊ณ ELK ์คํ์ ์ต์ ๊ธฐ๋ฅ๊น์ง ํ์ํ์ง ์์ ๋ถ๋ค์ด๋ผ๋ฉด, ๊ณผ๊ฑฐ Apache-2.0 ๋ผ์ด์ ์ค๊ฐ ์ ์ฉ๋๋ 7.10 ๋ฒ์ ๋์ OSS ELK ์คํ ํด๋ค์ ์ฌ์ฉํ๋ ๊ฒ๋ ๊ณ ๋ คํด๋ณด์ค ์ ์์ ๋ฏํฉ๋๋ค.
ํน์ ์ด๋ฒ ๋ด์ฉ ๊ด๋ จํด์ ๋ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ค๋ฉด ์๋ ๋ฉ์ผ๋ฆฌ ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์.๐
๊ทธ๋ผ, ๋ค์ ์์์ง์์ ๋ณด๋ค ์์ฐจ๊ณ ํฅ๋ฏธ๋ก์ด ๋ด์ฉ์ผ๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค.
์ค๋๋ ๊ฐ์ฌํฉ๋๋ค, ๊ตฌ๋ ์๋ ๐บ
๐References
์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์ธ์