
์ด์ ๊ธ์์ Docker Compose๋ฅผ ํ์ฉํ์ฌ Loki + Grafana ๊ตฌ์ถํ๋ ๊ธ์ ๋ณด๊ณ ์ค๋๊ฑธ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.



ํธ์คํธ์ฃผ์๊ฐ ์๋ loki ํค์๋๋ก ์ฌ์ฉโ
โป Docker Compose์์ ์ฌ๋ฌ ์๋น์ค๋ฅผ ์ ์ํ ๋, ๊ฐ์ ๋คํธ์ํฌ์ ์ํ ์ปจํ ์ด๋๋ผ๋ฆฌ๋ ์๋น์ค ์ด๋ฆ์ผ๋ก ์๋ก๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.






โ ์ฑ ์๋น์ค๋ค์ ๋ํ ํ๊ฒฝ๋ณ์๋ฅผ app์ผ๋ก ์ค์


๐ท๏ธ Label Filters (๋ผ๋ฒจ ํํฐ)
* Loki๋ ๋ก๊ทธ๋ฅผ ๋ผ๋ฒจ(label)๋ก ๊ตฌ๋ถํด์ ์ ์ฅํฉ๋๋ค.
* appName="$app"์ ํน์ ์ ํ๋ฆฌ์ผ์ด์ (app)์ ํด๋นํ๋ ๋ก๊ทธ๋ง ํํฐ๋งํด์ ์กฐํํ๊ฒ ๋ค๋ ์๋ฏธ์ ๋๋ค.
* ์ฌ๊ธฐ์ $app์ Grafana์์ ์ ์ํ ๋ณ์(variable)์ด๋ฉฐ, ๋์๋ณด๋ ์๋จ์์ ์ ํํ ์ ์์ต๋๋ค.
๐ Logfmt ํ์ ์ค์
* logfmt๋ key=value ํ์์ ๋ก๊ทธ๋ฅผ ๊ตฌ์กฐํ๋ ํํ๋ก ํ์ฑํฉ๋๋ค.
* ํ์ฑ๋ ํค๋ Grafana์์ ํํฐ๋ง, ํ ์ด๋ธ ์ถ๋ ฅ, ์๊ฐํ ๋ฑ์ ํ์ฉํ ์ ์์ด์.
โ๏ธ ์ถ๊ฐ ์ต์ ์ค๋ช
Strict
์ฒดํฌ ์ logfmt ํ์ฑ ์ค๋ฅ๊ฐ ์๋ ๋ก๊ทธ๋ ๋ฌด์ํฉ๋๋ค.
Keep empty
๊ฐ์ด ๋น์ด ์๋ ํค๋ ์ ์งํด์ ํ์ฑํฉ๋๋ค. (์: traceId=)
+ Expression
ํ์ฑ๋ ํ๋๋ฅผ ์กฐ๊ฑด์ผ๋ก ์ถ๊ฐ ํํฐ๋ง์ด ๊ฐ๋ฅํฉ๋๋ค.
