๋ถ์ฐ ์์คํ ์ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋ชจ๋ํฐ๋ง์ ํด๋ผ์ฐ๋ ์๋ฃจ์ ์ฑ์ฅ์ ์์ด ๋งค์ฐ ์ค์ํ ๊ตฌ์ฑ ์์๊ฐ ๋์์ต๋๋ค. ๊ทธ๋ค์ ํ๋์ ์ดํดํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค. ๋ชจ๋ ์๋น์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ์ฑ๋ฅ ๋ถ์, ์ค๋ฅ ์์ฐ, ๊ฐ์ฉ์ฑ ๋ฐ ๋ก๊ทธ๊ฐ ํฌํจ๋ ๋จ์ผ ์ธํฐํ์ด์ค๋ฅผ ์ ๋ฌธ๊ฐ์๊ฒ ์ ๊ณตํ ์ ์๋ ํ์ฅ ๊ฐ๋ฅํ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค.
์ด๋ฌํ ๋์ผํ ๋๊ตฌ๋ ํจ์จ์ ์ด๊ณ ์์ฐ์ ์ด์ด์ผ ํฉ๋๋ค. ์ด ๊ธฐ์ฌ์์๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ ๊ฐ์ง ๊ธฐ์ ์คํ์ธ EFK(Elasticsearch)์ PLG(Loki)๋ฅผ ์ดํด๋ณด๊ณ ํด๋น ์ํคํ ์ฒ์ ์ฐจ์ด์ ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
EFK ์คํ
๋งค์ฐ ์ธ๊ธฐ ์๋ ELK ๋๋ EFK์ ๋ํด ์ด๋ฏธ ๋ค์ด๋ณด์ จ์ ๊ฒ์ ๋๋ค. ์คํ์ Elasticsearch(๊ฐ์ฒด ์คํ ๋ฆฌ์ง), Logstash ๋๋ FluentD(๋ก๊ทธ ์์ง ๋ฐ ์ง๊ณ), ์๊ฐํ๋ฅผ ์ํ Kibana ๋ฑ ์ฌ๋ฌ ๊ฐ๋ณ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ผ๋ฐ์ ์ธ ์์ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ์ฑ ๊ฒ์ โ ๊ฒ์ ๋ฐ ์ค์๊ฐ ๋ถ์ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋ถ์ฐ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง์ ๋๋ค. ๋ก๊ทธ์ ๊ฐ์ ๋ฐ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ํ ํ์ํ ์๋ฃจ์ ์ ๋๋ค. ์ ๋ณด๋ JSON ๋ฌธ์๋ก ์ ์ฅ๋๊ณ ์ค์๊ฐ์ผ๋ก ์์ธํ๋๋ฉฐ ํด๋ฌ์คํฐ ๋ ธ๋์ ๋ถ์ฐ๋ฉ๋๋ค. ์ ์ฒด ํ ์คํธ ๊ฒ์์ ์ํด ๋ชจ๋ ๊ณ ์ ๋จ์ด์ ๊ด๋ จ ๋ฌธ์๋ฅผ ํฌํจํ๋ ๋ฐ์ ๋ ์ธ๋ฑ์ค๊ฐ ์ฌ์ฉ๋๋ฉฐ ์ด๋ Apache Lucene ๊ฒ์ ์์ง์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
์ ์ฐฝํจD ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ์๋นํ ๋ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ๋ ๋ฐ์ดํฐ ์์ง๊ธฐ์
๋๋ค. ๊ฐ๋ฅํ ํ JSON์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๋ ค๊ณ ํฉ๋๋ค. ์ํคํ
์ฒ๋ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ๋ ๋ง์ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
ํค๋ฐ ๋ - ์๊ณ์ด ๋ถ์, ๊ทธ๋ํ ๋ถ์, ๊ธฐ๊ณ ํ์ต ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ์ถ Elasticsearch์ฉ ๋ฐ์ดํฐ ์๊ฐํ ๋๊ตฌ์ ๋๋ค.
์๋ผ์คํฑ์์น ์ํคํ ์ฒ
Elasticsearch ํด๋ฌ์คํฐ ๋ฐ์ดํฐ๋ ๋ชจ๋ ๋ ธ๋์ ๋ถ์ฐ๋์ด ์ ์ฅ๋ฉ๋๋ค. ํด๋ฌ์คํฐ๋ ๊ฐ์ฉ์ฑ๊ณผ ๋ณต์๋ ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์ฌ๋ฌ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ชจ๋ ๋ ธ๋๋ ํด๋ฌ์คํฐ์ ๋ชจ๋ ์ญํ ์ ์ํํ ์ ์์ง๋ง ๋๊ท๋ชจ ํ์ฅ ๋ฐฐํฌ์์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ ธ๋์ ๊ฐ๋ณ ์์ ์ด ํ ๋น๋ฉ๋๋ค.
ํด๋ฌ์คํฐ ๋ ธ๋ ์ ํ:
- ๋ง์คํฐ ๋ ธ๋ - ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ต์ XNUMX๊ฐ๊ฐ ํ์ํ๋ฉฐ ํ๋๋ ํญ์ ํ์ฑ ์ํ์ ๋๋ค.
- ๋ฐ์ดํฐ ๋ ธ๋ - ์ธ๋ฑ์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ์์ ์ ์ํํฉ๋๋ค.
- ์์ง ๋ ธ๋ - ์ธ๋ฑ์ฑ ์ ์ ๋ฐ์ดํฐ ๋ณํ์ ์ํ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํฉ๋๋ค.
- ๋ ธ๋ ์กฐ์ - ์์ฒญ ๋ผ์ฐํ , ๊ฒ์ ์ฒ๋ฆฌ ๋จ๊ณ ๊ฐ์, ๋๋ ์ธ๋ฑ์ฑ ์กฐ์
- ๊ฒฝ๊ณ ๋ ธ๋ โ ๊ฒฝ๊ณ ์์ ์์
- ๊ธฐ๊ณ ํ์ต ๋ ธ๋ - ๊ธฐ๊ณ ํ์ต ์์ ์ ์ฒ๋ฆฌํฉ๋๋ค.
์๋ ๋ค์ด์ด๊ทธ๋จ์ ๋ ๋์ ๋ฐ์ดํฐ ๊ฐ์ฉ์ฑ์ ๋ฌ์ฑํ๊ธฐ ์ํด ๋ฐ์ดํฐ๊ฐ ๋ ธ๋ ์ ์ฒด์ ์ ์ฅ๋๊ณ ๋ณต์ ๋๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
๊ฐ ๋ณต์ ๋ณธ์ ๋ฐ์ดํฐ๋ ๋ฐ์ ๋ ์ธ๋ฑ์ค์ ์ ์ฅ๋ฉ๋๋ค. ์๋ ๋ค์ด์ด๊ทธ๋จ์ ์ด๊ฒ์ด ์ด๋ป๊ฒ ๋ฐ์ํ๋์ง ๋ณด์ฌ์ค๋๋ค.
์ค์น
์ธ๋ถ์ ๋ณด๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
$ helm install efk-stack stable/elastic-stack --set logstash.enabled=false --set fluentd.enabled=true --set fluentd-elastics
PLG ์คํ
Grafana Loki๋ก ๋ ์ ์๋ ค์ ธ ์์ผ๋ฏ๋ก ์ด ์ฝ์ด๋ฅผ ์ฐพ์ ์ ์๋๋ผ๋ ๋๋ผ์ง ๋ง์ญ์์ค. ์ด์จ๋ ์ด ์คํ์ ์ ์ฆ๋ ๊ธฐ์ ์๋ฃจ์ ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์ต๋๋ค. ๋๋ฆฌ ์ฌ์ฉ๋๋ ์๊ฐํ ๋๊ตฌ์ธ Grafana์ ๋ํด ์ด๋ฏธ ๋ค์ด๋ณด์ จ์ ๊ฒ์ ๋๋ค. Prometheus์์ ์๊ฐ์ ๋ฐ์ ์ ์์๋ ์ํ ํ์ฅ์ด ๊ฐ๋ฅํ ๊ณ ์ฑ๋ฅ ๋ก๊ทธ ์ง๊ณ ์์คํ ์ธ Loki๋ฅผ ๊ฐ๋ฐํ์ต๋๋ค. Loki๋ ์ ๋ ์์ฒด๊ฐ ์๋ ๋ฉํ๋ฐ์ดํฐ๋ง ์์ธํํ๋ฏ๋ก ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ ๋น์ฉ ํจ์จ์ ์ผ ์ ์๋ ๊ธฐ์ ์๋ฃจ์ ์ ๋๋ค.
ํ๋กฌํ ์ผ - ์ด์ ์ฒด์ ์์ Loki ํด๋ฌ์คํฐ๋ก ๋ก๊ทธ๋ฅผ ์ ์กํ๋ ์์ด์ ํธ์ ๋๋ค. ๊ทธ๋ผ ํ๋ Loki์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์๊ฐํ ๋๊ตฌ์ ๋๋ค.
Loki๋ Prometheus์ ๋์ผํ ์์น์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์ด Kubernetes ๋ก๊ทธ๋ฅผ ์ ์ฅํ๊ณ ๋ถ์ํ๋ ๋ฐ ๋งค์ฐ ์ ํฉํฉ๋๋ค.
๋กํค ์ํคํ ์ฒ
Loki๋ ๋จ์ผ ํ๋ก์ธ์ค ๋๋ ๋ค์ค ํ๋ก์ธ์ค๋ก ์คํ๋ ์ ์์ผ๋ฏ๋ก ์ํ ํ์ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ํ ๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๋ง์ดํฌ๋ก์๋น์ค๋ก ์๋ํ ์๋ ์์ต๋๋ค. ๋จ์ผ ํ๋ก์ธ์ค๋ก ์คํํ๋ฉด ๋ก์ปฌ ๊ฐ๋ฐ์ด๋ ์ฌ์ํ ๋ชจ๋ํฐ๋ง์ ์ ์ฉํ ์ ์์ต๋๋ค. ์ฐ์ ๊ตฌํ ๋ฐ ํ์ฅ ๊ฐ๋ฅํ ์ํฌ๋ก๋๋ฅผ ์ํด์๋ ๋ง์ดํฌ๋ก์๋น์ค ์ต์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ฐ์ดํฐ ์ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ ๊ฒฝ๋ก๊ฐ ๋ถ๋ฆฌ๋์ด ์์ผ๋ฏ๋ก ํ์์ ๋ฐ๋ผ ๋ฏธ์ธ ์กฐ์ ๋ฐ ํ์ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
์์ธํ ์ค๋ช ํ์ง ์๊ณ ๋ก๊ทธ ์์ง ์์คํ ์ ์ํคํ ์ฒ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ค๋ช ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค(๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ).
๊ตฌ์ฑ ์์ :
ํ๋กฌํ ์ผ โ ๋ ธ๋์ ์๋น์ค ์ธํธ๋ก ์ค์น๋ ์์ด์ ํธ๋ก, ์์ ์์ ๋ก๊ทธ๋ฅผ ์ ๊ฑฐํ๊ณ Kubernetes API์ ์ก์ธ์คํ์ฌ ๋ก๊ทธ์ ํ๊ทธ๋ฅผ ์ง์ ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ป์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋ณธ Loki ์๋น์ค๋ก ๋ณด๋ ๋๋ค. ๋ฉํ๋ฐ์ดํฐ ๋งคํ์ Prometheus์ ๋์ผํ ํ๊ทธ ์ง์ ๊ท์น์ ์ง์ํฉ๋๋ค.
์ด์ ์ฅ์น โ ๋ฒํผ ์ญํ ์ ํ๋ ์๋น์ค ๋ฐฐํฌ์. ์๋ฐฑ๋ง ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ค์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์์ถํ์ฌ ๋์ฐฉํ๋ ๋๋ก ๋ธ๋ก์ผ๋ก ์์ถํฉ๋๋ค. ์ฌ๋ฌ ๋ฐ์ดํฐ ์ฑํฌ๊ฐ ๋์์ ์คํ๋๊ณ ์์ง๋ง ํ๋์ ์์ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ์ํ๋ ๋ก๊ทธ๋ ๋ชจ๋ ๋ธ๋ก์ ๋ํด ๊ทธ ์ค ํ๋์๋ง ๋ํ๋์ผ ํฉ๋๋ค. ์ด๋ ์ฑํฌ ๋ง๊ณผ ์์ฐจ ํด์ฑ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ด๊ฒฐํจ์ฑ ๋ฐ ์ค๋ณต์ฑ์ ์ํด ์ด ์์ ์ nํ ์ํ๋ฉ๋๋ค(๊ตฌ์ฑ๋์ง ์์ ๊ฒฝ์ฐ 3ํ).
์ญ์ทจ๊ธฐ - ์๋น์ค ์์ ์. ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ก๊ทธ๊ฐ ์ถ๊ฐ๋์ด ์์ถ๋์ด ๋์ฐฉํฉ๋๋ค. ๋ธ๋ก์ ํฌ๊ธฐ๊ฐ ์ถฉ๋ถํด์ง๋ฉด ๋ธ๋ก์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ํ๋ฌ์๋ฉ๋๋ค. ๋ฉํ๋ฐ์ดํฐ๋ ์ธ๋ฑ์ค๋ก ์ด๋ํ๊ณ , ๋ก๊ทธ ๋ธ๋ก์ ๋ฐ์ดํฐ๋ ์ฒญํฌ(์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฒด ์คํ ๋ฆฌ์ง)๋ก ์ด๋ํฉ๋๋ค. ์ฌ์ค์ ํ ์์ ์๋ ์ ํญ๋ชฉ์ด ์ถ๊ฐ๋ ์ ๋ธ๋ก์ ์์ฑํฉ๋๋ค.
์์ธ - ๋ฐ์ดํฐ๋ฒ ์ด์ค, DynamoDB, Cassandra, Google BigTable ๋ฑ
์ฒญํฌ โ ์ผ๋ฐ์ ์ผ๋ก S3์ ๊ฐ์ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋๋ ์์ถ ํ์์ ๋ก๊ทธ ๋ธ๋ก์ ๋๋ค.
์ฟผ๋ฆฌ์ด - ๋ชจ๋ ๋๋ฌ์ด ์์ ์ ์ํํ๋ ๋ ์ ๊ฒฝ๋ก. ์๊ฐ ๋ฒ์์ ํ์์คํฌํ๋ฅผ ์ดํด๋ณธ ๋ค์ ์ธ๋ฑ์ค๋ฅผ ๋ณด๊ณ ์ผ์นํ๋ ํญ๋ชฉ์ ์ฐพ์ต๋๋ค. ๋ค์์ผ๋ก ๋ฐ์ดํฐ ๋ธ๋ก์ ์ฝ๊ณ ํํฐ๋งํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ป์ต๋๋ค.
์ด์ ๋ชจ๋ ๊ฒ์ด ์ค์ ๋ก ์๋ํ๋ ๊ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ค์น
Kubernetes์ ์ค์นํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ helm์ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค. ์ด๋ฏธ ์ค์นํ๊ณ ๊ตฌ์ฑํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค(
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ถ๊ฐํ๊ณ ์คํ์ ์ค์นํฉ๋๋ค.
$ helm repo add loki https://grafana.github.io/loki/charts
$ helm repo update
$ helm upgrade --install loki loki/loki-stack --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false
๋ค์์ Etcd ์งํ์ ๋ํ Prometheus ๋ฐ Etcd Pod ๋ก๊ทธ์ ๋ํ Loki์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋์๋ณด๋ ์์์ ๋๋ค.
์ด์ ๋ ์์คํ ์ ์ํคํ ์ฒ์ ๋ํด ๋ ผ์ํ๊ณ ์๋ก์ ๊ธฐ๋ฅ์ ๋น๊ตํด ๋ณด๊ฒ ์ต๋๋ค.
๋น๊ต
์ฟผ๋ฆฌ ์ธ์ด
Elasticsearch๋ Query DSL ๋ฐ Lucene ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ํ ์คํธ ๊ฒ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ด๋ฒ์ํ ์ด์์ ์ง์์ ์ ๊ณตํ๋ ํ๋ฆฝ๋๊ณ ๊ฐ๋ ฅํ ๊ฒ์ ์์ง์ ๋๋ค. ์ด๋ฅผ ํตํด ์ํฉ์ ๋ฐ๋ผ ๊ฒ์ํ๊ณ ๊ด๋ จ์ฑ์ ๋ฐ๋ผ ์ ๋ ฌํ ์ ์์ต๋๋ค.
๋ง์ ๋ฐ๋ํธ์๋ PromQL(Prometheus ์ฟผ๋ฆฌ ์ธ์ด)์ ํ์ ์ ํ์ธ Loki์์ ์ฌ์ฉ๋๋ LogQL์ด ์์ต๋๋ค. ๋ก๊ทธ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๊ณ ์ ํํฉ๋๋ค. ์ค๋ช
๋ ๋๋ก ์ผ๋ถ ์ฐ์ฐ์์ ์ฐ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Loki์ ์ฟผ๋ฆฌ๋ ํ๊ทธ์ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฉํธ๋ฆญ๊ณผ ์ฝ๊ฒ ์ฐ๊ด์ํฌ ์ ์์ผ๋ฉฐ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด์ ๋ชจ๋ํฐ๋ง์ ๊ตฌ์ฑํ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค.
ํ์ฅ์ฑ
๋ ์คํ ๋ชจ๋ ์ํ ํ์ฅ์ด ๊ฐ๋ฅํ์ง๋ง Loki๋ ๋ณ๋์ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๊ฒฝ๋ก์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ๊ฐ์ถ๊ณ ์์ด ๋ ์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค. Loki๋ ํ์์ ๋ง๊ฒ ์ฌ์ฉ์ ์ ์ํ ์ ์์ผ๋ฉฐ ๋์ฉ๋ ๋ก๊ทธ ๋ฐ์ดํฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์ค ํ ๋ํธ
ํด๋ฌ์คํฐ ๋ค์ค ํ
๋์๋ OPEX ์ฝ์ด์ ๊ณตํต ์ฃผ์ ์ด๋ฉฐ, ๋ ์คํ ๋ชจ๋ ๋ค์ค ํ
๋ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. Elasticsearch์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค
๋น์ฉ
Loki๋ ๋ฐ์ดํฐ๋ฅผ ์์ธํํ์ง ์๊ณ ๋ฉํ๋ฐ์ดํฐ๋ง ์์ธํํ๋ค๋ ์ ์์ ๋งค์ฐ ๋น์ฉ ํจ์จ์ ์
๋๋ค. ์ด๊ฒ์ ๋ฌ์ฑํ๋ค
๊ฒฐ๋ก
EFK ์คํ์ ๋ค์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ ๋ถ์, ์๊ฐํ ๋ฐ ์ฟผ๋ฆฌ๋ฅผ ์ํ ์ต๋์ ์ ์ฐ์ฑ๊ณผ ํ๋ถํ ๊ธฐ๋ฅ์ ๊ฐ์ถ Kibana ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฅ์ ํตํด ๋์ฑ ํฅ์๋ ์ ์์ต๋๋ค.
Loki ์คํ์ ๋ฉํ๋ฐ์ดํฐ ๊ฒ์ ๋ฉ์ปค๋์ฆ์ผ๋ก ์ธํด Kubernetes ์ํ๊ณ์์ ์ ์ฉํฉ๋๋ค. Grafana ๋ฐ ๋ก๊ทธ์ ์๊ณ์ด์ ๊ธฐ๋ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ฐ๊ด์ํฌ ์ ์์ต๋๋ค.
๋น์ฉ ๋ฐ ์ฅ๊ธฐ ๋ก๊ทธ ์ ์ฅ ์ธก๋ฉด์์ Loki๋ ํด๋ผ์ฐ๋ ์๋ฃจ์ ์ ๋ํ ํ์ํ ์ง์ ์ ์ ๋๋ค.
์์ฅ์๋ ๋ ๋ง์ ๋์์ด ์์ต๋๋ค. ์ผ๋ถ๋ ๊ทํ์๊ฒ ๋ ์ ํฉํ ์๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด GKE์๋ ํ์ํ ๋ชจ๋ํฐ๋ง ์๋ฃจ์ ์ ์ ๊ณตํ๋ Stackdriver ํตํฉ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด ๊ธฐ์ฌ์ ๋ถ์์ ์ด๋ฅผ ํฌํจํ์ง ์์์ต๋๋ค.
๋งํฌ :
https://github.com/grafana/loki/blob/master/docs/overview/comparisons.md https://www.elastic.co/blog/found-elasticsearch-from-the-bottom-up https://www.elastic.co/blog/found-elasticsearch-in-production/
์ด ๊ธฐ์ฌ๋ ์ง์๋ค์ด Habr์ ์ํด ๋ฒ์ญํ๊ณ ์ค๋นํ์ต๋๋ค.
์ถ์ฒ : habr.com