์ธํ๋ผ ๋ชจ๋ํฐ๋ง์ ๋ํ ์ข ํฉ ๊ฐ์ด๋๋ก, ์งํ ์์ง ์์คํ , ํธ์ ๋ ํ ๋ชจ๋ธ, Prometheus ๋ฐ OpenTelemetry ๊ฐ์ ํต์ฌ ๋๊ตฌ, ๊ทธ๋ฆฌ๊ณ ์์ ์ฑ์ ์ํ ๊ธ๋ก๋ฒ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ค๋ฃน๋๋ค.
์ธํ๋ผ ๋ชจ๋ํฐ๋ง: ์ต์ ์งํ ์์ง ์์คํ ์ฌ์ธต ๋ถ์
์ด์ฐ๊ฒฐ ์๋์ด์ ๋์งํธ ์ฐ์ ์๋์ธ ์ค๋๋ , IT ์ธํ๋ผ์ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ ๋ ์ด์ ๊ธฐ์ ์ ์ธ ๋ฌธ์ ์ ๊ตญํ๋์ง ์๊ณ ๊ทผ๋ณธ์ ์ธ ๋น์ฆ๋์ค ํ์ ์์๊ฐ ๋์์ต๋๋ค. ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์ ๋ถํฐ ๋ ๊ฑฐ์ ์จํ๋ ๋ฏธ์ค ์๋ฒ์ ์ด๋ฅด๊ธฐ๊น์ง, ํ๋ ๊ธฐ์ ์ ๋ท๋ฐ์นจํ๋ ๋ณต์กํ ์์คํ ๋คํธ์ํฌ๋ ๋์์๋ ๊ฒฝ๊ณ๋ฅผ ์๊ตฌํฉ๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ ์ธํ๋ผ ๋ชจ๋ํฐ๋ง, ํนํ ์งํ ์์ง์ด ์ด์ ์ฐ์์ฑ์ ๊ธฐ๋ฐ์ด ๋ฉ๋๋ค. ์ด๊ฒ ์์ด๋ ๋ ๊ฐ๊ณ ๋นํํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
์ด ์ข ํฉ ๊ฐ์ด๋๋ ์ ์ธ๊ณ์ DevOps ์์ง๋์ด, Site Reliability Engineer(SRE), ์์คํ ์ํคํ ํธ ๋ฐ IT ๋ฆฌ๋๋ฅผ ์ํด ์ค๊ณ๋์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ธฐ์ด ๊ฐ๋ ๋ถํฐ ๊ณ ๊ธ ์ํคํ ์ฒ ํจํด ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก์ ์ด๋ฅด๊ธฐ๊น์ง ์งํ ์์ง ์์คํ ์ ์ธ๊ณ๋ฅผ ๊น์ด ํ๊ตฌํ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ์ ๋ชฉํ๋ ํ์ด๋ ์ธํ๋ผ์ ์์น์ ๊ด๊ณ์์ด ํ์ฅ ๊ฐ๋ฅํ๊ณ ์์ ์ ์ด๋ฉฐ ์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ๋ ๋ชจ๋ํฐ๋ง ์๋ฃจ์ ์ ๊ตฌ์ถํ๊ฑฐ๋ ์ ํํ ์ ์๋ ์ง์์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
์งํ๊ฐ ์ค์ํ ์ด์ : ๊ฐ์์ฑ๊ณผ ์์ ์ฑ์ ๊ธฐ๋ฐ
์์ง ์์คํ ์ ์๋ ๋ฐฉ์์ ์์ธํ ์์๋ณด๊ธฐ ์ ์, ์งํ๊ฐ ์ ๊ทธ๋ ๊ฒ ์ค์ํ์ง ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ฐ์์ฑ(์ข ์ข ์งํ, ๋ก๊ทธ, ํธ๋ ์ด์ค์ "์ธ ๊ฐ์ง ๊ธฐ๋ฅ"์ผ๋ก ์ค๋ช ๋จ)์ ๋งฅ๋ฝ์์, ์งํ๋ ์ฃผ์ ์ ๋์ ๋ฐ์ดํฐ ์์ค์ ๋๋ค. ์ด๋ ์์คํ ์ ์ํ์ ์ฑ๋ฅ์ ์ค๋ช ํ๊ธฐ ์ํด ์๊ฐ์ ๋ฐ๋ผ ์บก์ฒ๋๋ ์์น ์ธก์ ๊ฐ์ ๋๋ค.
CPU ์ฌ์ฉ๋ฅ , ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ๋คํธ์ํฌ ์ง์ฐ ์๊ฐ ๋๋ ์ด๋น HTTP 500 ์ค๋ฅ ์๋ต ์๋ฅผ ์๊ฐํด ๋ณด์ญ์์ค. ์ด๋ค์ ๋ชจ๋ ์งํ์ ๋๋ค. ์งํ์ ๊ฐ์ ์ ํจ์จ์ฑ์ ์์ต๋๋ค. ๋งค์ฐ ์์ถ ๊ฐ๋ฅํ๊ณ , ์ฒ๋ฆฌํ๊ธฐ ์ฌ์ฐ๋ฉฐ, ์ํ์ ์ผ๋ก ๋ค๋ฃจ๊ธฐ ์ฌ์์ ์ฅ๊ธฐ ์ ์ฅ, ์ถ์ธ ๋ถ์ ๋ฐ ์๋ฆผ์ ์ด์์ ์ ๋๋ค.
์ฌ์ ๋ฌธ์ ๊ฐ์ง
์งํ ์์ง์ ๊ฐ์ฅ ์ฆ๊ฐ์ ์ธ ์ด์ ์ ์ฌ์ฉ์์๊ฒ ์ํฅ์ ๋ฏธ์น๋ ์ค๋จ์ผ๋ก ํ๋๋๊ธฐ ์ ์ ๋ฌธ์ ๋ฅผ ๊ฐ์งํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ํต์ฌ ์ฑ๊ณผ ์งํ(KPI)์ ๋ํ ์ง๋ฅํ ์๋ฆผ์ ์ค์ ํจ์ผ๋ก์จ ํ์ ์์ฒญ ์ง์ฐ ์๊ฐ์ ๊ฐ์์ค๋ฌ์ด ๊ธ์ฆ์ด๋ ๋์คํฌ ๊ณต๊ฐ ๋ถ์กฑ๊ณผ ๊ฐ์ ๋น์ ์์ ์ธ ๋์์ ํต๋ณด๋ฐ๊ณ ์ฌ๊ฐํ ์ฅ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
์ ๋ณด์ ๊ธฐ๋ฐํ ์ฉ๋ ๊ณํ
์๋น์ค๋ฅผ ์ธ์ ํ์ฅํด์ผ ํ ๊น์? ์ถ์ธก์ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ์ํํฉ๋๋ค. ์งํ๋ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ ํด๋ต์ ์ ๊ณตํฉ๋๋ค. ๋ฆฌ์์ค ์๋น(CPU, RAM, ์คํ ๋ฆฌ์ง) ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ก๋์ ๊ณผ๊ฑฐ ์ถ์ธ๋ฅผ ๋ถ์ํ์ฌ ๋ฏธ๋ ์๊ตฌ ์ฌํญ์ ์ ํํ๊ฒ ์์ธกํ๊ณ , ์ ํด ๋ฆฌ์์ค์ ๊ณผ๋ํ๊ฒ ์ง์ถํ์ง ์์ผ๋ฉด์ ์์๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ์ถฉ๋ถํ ์ฉ๋์ ํ๋ก๋น์ ๋ํ ์ ์์ต๋๋ค.
์ฑ๋ฅ ์ต์ ํ
์งํ๋ ์ฑ๋ฅ ํฅ์์ ์ํ ์ด์ ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋๋ฆฐ๊ฐ์? ์งํ๋ ๋ณ๋ชฉ ํ์์ ์ ํํ ์ฐพ์๋ด๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์์ค ์งํ(์: ํธ๋์ญ์ ์๊ฐ)์ ์์คํ ์์ค ์งํ(์: I/O ๋๊ธฐ ์๊ฐ, ๋คํธ์ํฌ ํฌํ๋)๋ฅผ ์ํธ ์ฐ๊ด์ํด์ผ๋ก์จ ๋นํจ์จ์ ์ธ ์ฝ๋, ์๋ชป ๊ตฌ์ฑ๋ ์๋น์ค ๋๋ ๋ถ์ถฉ๋ถํ๊ฒ ํ๋ก๋น์ ๋๋ ํ๋์จ์ด๋ฅผ ์๋ณํ ์ ์์ต๋๋ค.
๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค ๋ฐ KPI
ํ๋์ ์ธ ๋ชจ๋ํฐ๋ง์ ๊ธฐ์ ์ ์ํ๋ฅผ ๋์ด์ญ๋๋ค. ์งํ๋ ๋น์ฆ๋์ค ๊ฒฐ๊ณผ์ ์ฐ๊ฒฐ๋ ์ ์๊ณ ์ฐ๊ฒฐ๋์ด์ผ ํฉ๋๋ค. `user_signups_total` ๋๋ `revenue_per_transaction`๊ณผ ๊ฐ์ ์งํ๋ฅผ ์์งํจ์ผ๋ก์จ ์์ง๋์ด๋ง ํ์ ์์คํ ์ฑ๋ฅ์ด ํ์ฌ์ ์์ต์ ๋ฏธ์น๋ ์ํฅ์ ์ง์ ์ ์ผ๋ก ๋ณด์ฌ์ค ์ ์์ต๋๋ค. ์ด๋ฌํ ์ฐ๊ณ๋ ์์ ์ฐ์ ์์๋ฅผ ์ ํ๊ณ ์ธํ๋ผ ํฌ์๋ฅผ ์ ๋นํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ณด์ ๋ฐ ์ด์ ๊ฐ์ง
์์คํ ์งํ์์ ๋น์ ์์ ์ธ ํจํด์ ์ข ์ข ๋ณด์ ์นจํด์ ์ฒซ ์งํ๊ฐ ๋ ์ ์์ต๋๋ค. ๊ฐ์์ค๋ฝ๊ณ ์ค๋ช ํ ์ ์๋ ์์๋ฐ์ด๋ ๋คํธ์ํฌ ํธ๋ํฝ ๊ธ์ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ CPU ์ฌ์ฉ๋ ๊ธ์ฆ, ๋๋ ๋น์ ์์ ์ผ๋ก ๋ง์ ๋ก๊ทธ์ธ ์๋ ์คํจ๋ ๋ชจ๋ ๊ฐ๋ ฅํ ์งํ ์์ง ์์คํ ์ด ๊ฐ์งํ์ฌ ๋ณด์ ํ์ ์กฐ๊ธฐ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ณตํ ์ ์๋ ์ด์ ์งํ์ ๋๋ค.
ํ๋์ ์ธ ์งํ ์์ง ์์คํ ์ ๊ตฌ์ฑ
์งํ ์์ง ์์คํ ์ ๋จ์ผ ๋๊ตฌ๊ฐ ์๋๋ผ ๊ฐ๊ฐ ํน์ ์ญํ ์ ๊ฐ์ง ์ํธ ์ฐ๊ฒฐ๋ ๊ตฌ์ฑ ์์์ ํ์ดํ๋ผ์ธ์ ๋๋ค. ์ด๋ฌํ ์ํคํ ์ฒ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ฌ์ฉ์์ ์๊ตฌ์ ๋ง๋ ์๋ฃจ์ ์ ์ค๊ณํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
- ๋ฐ์ดํฐ ์์ค (๋์): ๋ชจ๋ํฐ๋งํ๋ ค๋ ์ํฐํฐ์ ๋๋ค. ๋ฌผ๋ฆฌ์ ํ๋์จ์ด๋ถํฐ ์ผ์์ ์ธ ํด๋ผ์ฐ๋ ๊ธฐ๋ฅ๊น์ง ๋ชจ๋ ๊ฒ์ด ๋ ์ ์์ต๋๋ค.
- ์์ง ์์ด์ ํธ (์์ง๊ธฐ): ์งํ๋ฅผ ์์งํ๊ธฐ ์ํด ๋ฐ์ดํฐ ์์ค ์ ๋๋ ์์์ ์คํ๋๋ ์ํํธ์จ์ด์ ๋๋ค.
- ์ ์ก ๊ณ์ธต (ํ์ดํ๋ผ์ธ): ์์ด์ ํธ์์ ์คํ ๋ฆฌ์ง ๋ฐฑ์๋๋ก ์งํ๋ฅผ ์ด๋ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋คํธ์ํฌ ํ๋กํ ์ฝ ๋ฐ ๋ฐ์ดํฐ ํ์์ ๋๋ค.
- ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค (์คํ ๋ฆฌ์ง): ํ์์คํฌํ๊ฐ ์ง์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฟผ๋ฆฌํ๋ ๋ฐ ์ต์ ํ๋ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
- ์ฟผ๋ฆฌ ๋ฐ ๋ถ์ ์์ง: ์ ์ฅ๋ ์งํ๋ฅผ ๊ฒ์, ์ง๊ณ ๋ฐ ๋ถ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ธ์ด ๋ฐ ์์คํ ์ ๋๋ค.
- ์๊ฐํ ๋ฐ ์๋ฆผ ๊ณ์ธต: ์์ ๋ฐ์ดํฐ๋ฅผ ๋์๋ณด๋ ๋ฐ ์๋ฆผ์ผ๋ก ๋ณํํ๋ ์ฌ์ฉ์ ๋๋ฉด ๊ตฌ์ฑ ์์์ ๋๋ค.
1. ๋ฐ์ดํฐ ์์ค (๋์)
๊ฐ์น ์๋ ์ฑ๋ฅ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ๋ชจ๋ ๊ฒ์ด ์ ์ฌ์ ์ธ ๋์์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค:
- ๋ฌผ๋ฆฌ์ ๋ฐ ๊ฐ์ ์๋ฒ: CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ I/O, ๋คํธ์ํฌ ํต๊ณ.
- ์ปจํ ์ด๋ ๋ฐ ์ค์ผ์คํธ๋ ์ดํฐ: ์ปจํ ์ด๋(์: Docker)์ ๋ฆฌ์์ค ์ฌ์ฉ๋ ๋ฐ ์ค์ผ์คํธ๋ ์ด์ ํ๋ซํผ(์: Kubernetes API ์๋ฒ, ๋ ธ๋ ์ํ)์ ์ํ.
- ํด๋ผ์ฐ๋ ์๋น์ค: AWS(์: RDS ๋ฐ์ดํฐ๋ฒ ์ด์ค ์งํ, S3 ๋ฒํท ์์ฒญ), Azure(์: VM ์ํ), Google Cloud Platform(์: Pub/Sub ํ ๊น์ด)์ ๊ฐ์ ์ ๊ณต์ ์ฒด์ ๊ด๋ฆฌํ ์๋น์ค.
- ๋คํธ์ํฌ ์ฅ์น: ๋์ญํญ, ํจํท ์์ค ๋ฐ ์ง์ฐ ์๊ฐ์ ๋ณด๊ณ ํ๋ ๋ผ์ฐํฐ, ์ค์์น ๋ฐ ๋ฐฉํ๋ฒฝ.
- ์ ํ๋ฆฌ์ผ์ด์ : ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์ ์ง์ ๊ณ์ธก๋ ์ฌ์ฉ์ ์ง์ ๋น์ฆ๋์ค๋ณ ์งํ(์: ํ์ฑ ์ฌ์ฉ์ ์ธ์ , ์ฅ๋ฐ๊ตฌ๋ ํ๋ชฉ).
2. ์์ง ์์ด์ ํธ (์์ง๊ธฐ)
์์ด์ ํธ๋ ๋ฐ์ดํฐ ์์ค์์ ์งํ๋ฅผ ์์งํ๋ ์ญํ ์ ํฉ๋๋ค. ์์ด์ ํธ๋ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์๋ํ ์ ์์ต๋๋ค:
- ์ต์คํฌํฐ/ํตํฉ: ํ์ฌ ์์คํ (์: ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ๋ฉ์์ง ํ)์์ ์งํ๋ฅผ ์ถ์ถํ๊ณ ๋ชจ๋ํฐ๋ง ์์คํ ์ด ์ดํดํ ์ ์๋ ํ์์ผ๋ก ๋ ธ์ถํ๋ ์๊ณ ์ ๋ฌธํ๋ ํ๋ก๊ทธ๋จ์ ๋๋ค. Prometheus ์ต์คํฌํฐ์ ๋ฐฉ๋ํ ์ํ๊ณ๊ฐ ๋ํ์ ์ธ ์์ ๋๋ค.
- ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: ๊ฐ๋ฐ์๊ฐ ์์ค ์ฝ๋์์ ์ง์ ์งํ๋ฅผ ๋ด๋ณด๋ด๊ธฐ ์ํด ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌํจํ๋ ์ฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์ด๋ฅผ ๊ณ์ธก(instrumentation)์ด๋ผ๊ณ ํฉ๋๋ค.
- ๋ฒ์ฉ ์์ด์ ํธ: Telegraf, Datadog Agent ๋๋ OpenTelemetry Collector์ ๊ฐ์ด ๊ด๋ฒ์ํ ์์คํ ์งํ๋ฅผ ์์งํ๊ณ ํ๋ฌ๊ทธ์ธ์ ํตํด ๋ค๋ฅธ ์์ค์์ ๋ฐ์ดํฐ๋ฅผ ์๋ฝํ ์ ์๋ ๋ค๋ชฉ์ ์์ด์ ํธ์ ๋๋ค.
3. ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค (์คํ ๋ฆฌ์ง)
์งํ๋ ์๊ฐ ์์๋ก ์์ธ๋ ๋ฐ์ดํฐ ํฌ์ธํธ์ ์ํ์ค์ธ ์๊ณ์ด ๋ฐ์ดํฐ์ ํ ํํ์ ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋งค์ฐ ๋์ ์ฐ๊ธฐ ๋ณผ๋ฅจ๊ณผ ์ผ๋ฐ์ ์ผ๋ก ์๊ฐ ๋ฒ์์ ๊ฑธ์ณ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ๋ ์ฟผ๋ฆฌ๋ฅผ ํฌํจํ๋ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๊ณ ์ ํ ์ํฌ๋ก๋์ ๋ง๊ฒ ์ค๊ณ๋์ง ์์์ต๋๋ค. ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค(TSDB)๋ ์ด ์์ ์ ์ํด ํน๋ณํ ๊ตฌ์ถ๋์์ผ๋ฉฐ ๋ค์์ ์ ๊ณตํฉ๋๋ค:
- ๋์ ์์ง๋ฅ : ์ด๋น ์๋ฐฑ๋ง ๊ฐ์ ๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ํจ์จ์ ์ธ ์์ถ: ๋ฐ๋ณต๋๋ ์๊ณ์ด ๋ฐ์ดํฐ์ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ์ค์ด๋ ๊ณ ๊ธ ์๊ณ ๋ฆฌ์ฆ.
- ๋น ๋ฅธ ์๊ฐ ๊ธฐ๋ฐ ์ฟผ๋ฆฌ: "์ง๋ 24์๊ฐ ๋์์ ํ๊ท CPU ์ฌ์ฉ๋์ ์ผ๋ง์์ต๋๊น?"์ ๊ฐ์ ์ฟผ๋ฆฌ์ ์ต์ ํ๋์ด ์์ต๋๋ค.
- ๋ฐ์ดํฐ ๋ณด์กด ์ ์ฑ : ์คํ ๋ฆฌ์ง ๋น์ฉ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ์๋ ๋ค์ด์ํ๋ง(์ค๋๋ ๋ฐ์ดํฐ์ ์ธ๋ถ์ฑ ๊ฐ์) ๋ฐ ์ญ์ .
์ธ๊ธฐ ์๋ ์คํ ์์ค TSDB๋ก๋ Prometheus, InfluxDB, VictoriaMetrics ๋ฐ M3DB๊ฐ ์์ต๋๋ค.
4. ์ฟผ๋ฆฌ ๋ฐ ๋ถ์ ์์ง
์์ ๋ฐ์ดํฐ๋ ์ฟผ๋ฆฌํ ์ ์์ ๋๊น์ง ์ ์ฉํ์ง ์์ต๋๋ค. ๊ฐ ๋ชจ๋ํฐ๋ง ์์คํ ์๋ ์๊ณ์ด ๋ถ์์ ์ํด ์ค๊ณ๋ ์์ฒด ์ฟผ๋ฆฌ ์ธ์ด๊ฐ ์์ต๋๋ค. ์ด ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ํ, ํํฐ๋ง, ์ง๊ณํ๊ณ ์ํ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- PromQL (Prometheus Query Language): Prometheus ์ํ๊ณ์ ํต์ฌ ๊ธฐ๋ฅ์ ์ ์ํ๋ ๊ฐ๋ ฅํ๊ณ ํํ๋ ฅ์ด ํ๋ถํ ํจ์ํ ์ฟผ๋ฆฌ ์ธ์ด์ ๋๋ค.
- InfluxQL ๋ฐ Flux (InfluxDB): InfluxDB๋ SQL๊ณผ ์ ์ฌํ ์ธ์ด(InfluxQL)์ ๋ ๊ฐ๋ ฅํ ๋ฐ์ดํฐ ์คํฌ๋ฆฝํ ์ธ์ด(Flux)๋ฅผ ์ ๊ณตํฉ๋๋ค.
- SQL ์ ์ฌ ๋ณํ: TimescaleDB์ ๊ฐ์ ์ผ๋ถ ์ต์ TSDB๋ ํ์ค SQL์ ํ์ฅ์ ์ฌ์ฉํฉ๋๋ค.
5. ์๊ฐํ ๋ฐ ์๋ฆผ ๊ณ์ธต
์ต์ข ๊ตฌ์ฑ ์์๋ ์ฌ๋์ด ์ํธ ์์ฉํ๋ ๋ถ๋ถ์ ๋๋ค:
- ์๊ฐํ: ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋ํ, ํํธ๋งต ๋ฐ ๋์๋ณด๋๋ก ๋ณํํ๋ ๋๊ตฌ์ ๋๋ค. Grafana๋ ๊ฑฐ์ ๋ชจ๋ ์ธ๊ธฐ ์๋ TSDB์ ํตํฉ๋๋ ์ฌ์ค์์ ์คํ ์์ค ์๊ฐํ ํ์ค์ ๋๋ค. ๋ง์ ์์คํ ์๋ ์์ฒด ๋ด์ฅ UI(์: InfluxDB์ฉ Chronograf)๋ ์์ต๋๋ค.
- ์๋ฆผ: ์ ๊ธฐ์ ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ , ์ฌ์ ์ ์๋ ๊ท์น์ ๋ํด ๊ฒฐ๊ณผ๋ฅผ ํ๊ฐํ๋ฉฐ, ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋ฉด ์๋ฆผ์ ๋ณด๋ด๋ ์์คํ ์ ๋๋ค. Prometheus์ Alertmanager๋ ์ด๋ฉ์ผ, Slack ๋๋ PagerDuty์ ๊ฐ์ ์๋น์ค๋ก ์๋ฆผ์ ์ค๋ณต ์ ๊ฑฐ, ๊ทธ๋ฃนํ ๋ฐ ๋ผ์ฐํ ํ๋ ๊ฐ๋ ฅํ ์์์ ๋๋ค.
์งํ ์์ง ์ ๋ต ์ค๊ณ: ํธ์ ๋ ํ
๊ฐ์ฅ ๊ทผ๋ณธ์ ์ธ ์ํคํ ์ฒ ๊ฒฐ์ ์ค ํ๋๋ ์งํ ์์ง์ "ํธ์" ๋ชจ๋ธ์ ์ฌ์ฉํ ๊ฒ์ธ์ง "ํ" ๋ชจ๋ธ์ ์ฌ์ฉํ ๊ฒ์ธ์ง์ ๋๋ค. ๊ฐ๊ฐ์ ๋๋ ทํ ์ฅ์ ์ด ์์ผ๋ฉฐ ๋ค๋ฅธ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํฉ๋๋ค.
ํ ๋ชจ๋ธ: ๋จ์์ฑ๊ณผ ์ ์ด
ํ ๋ชจ๋ธ์์ ์ค์ ๋ชจ๋ํฐ๋ง ์๋ฒ๋ ๋ฐ์ดํฐ ์์ง์ ์์ํ๋ ์ญํ ์ ํฉ๋๋ค. ๊ตฌ์ฑ๋ ๋์(์: ์ ํ๋ฆฌ์ผ์ด์ ์ธ์คํด์ค, ์ต์คํฌํฐ)์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ HTTP ์๋ํฌ์ธํธ์์ ํ์ฌ ์งํ ๊ฐ์ "์คํฌ๋ฉ"ํฉ๋๋ค.
์๋ ๋ฐฉ์: 1. ๋์์ ํน์ HTTP ์๋ํฌ์ธํธ(์: `/metrics`)์์ ์งํ๋ฅผ ๋ ธ์ถํฉ๋๋ค. 2. ์ค์ ๋ชจ๋ํฐ๋ง ์๋ฒ(Prometheus์ ๊ฐ์)๋ ์ด๋ฌํ ๋์ ๋ชฉ๋ก์ ๊ฐ์ง๊ณ ์์ต๋๋ค. 3. ๊ตฌ์ฑ๋ ๊ฐ๊ฒฉ(์: 15์ด๋ง๋ค)์ผ๋ก ์๋ฒ๋ ๊ฐ ๋์์ ์๋ํฌ์ธํธ์ HTTP GET ์์ฒญ์ ๋ณด๋ ๋๋ค. 4. ๋์์ ํ์ฌ ์งํ๋ก ์๋ตํ๊ณ , ์๋ฒ๋ ์ด๋ฅผ ์ ์ฅํฉ๋๋ค.
์ฅ์ :
- ์ค์ ์ง์ค์ ๊ตฌ์ฑ: ์ค์ ์๋ฒ์ ๊ตฌ์ฑ์ ํตํด ๋ฌด์์ด ๋ชจ๋ํฐ๋ง๋๊ณ ์๋์ง ์ ํํ ํ์ธํ ์ ์์ต๋๋ค.
- ์๋น์ค ๊ฒ์: ํ ์์คํ ์ ์๋น์ค ๊ฒ์ ๋ฉ์ปค๋์ฆ(Kubernetes ๋๋ Consul๊ณผ ๊ฐ์)๊ณผ ์๋ฆ๋ต๊ฒ ํตํฉ๋์ด ์๋ก์ด ๋์์ด ๋ํ๋๋ฉด ์๋์ผ๋ก ์ฐพ์์ ์คํฌ๋ฉํฉ๋๋ค.
- ๋์ ์ํ ๋ชจ๋ํฐ๋ง: ๋์์ด ๋ค์ด๋์๊ฑฐ๋ ์คํฌ๋ฉ ์์ฒญ์ ๋๋ฆฌ๊ฒ ์๋ตํ๋ ๊ฒฝ์ฐ, ๋ชจ๋ํฐ๋ง ์์คํ ์ ์ฆ์ ์ด๋ฅผ ์๊ฒ ๋ฉ๋๋ค. `up` ์งํ๋ ํ์ค ๊ธฐ๋ฅ์ ๋๋ค.
- ๊ฐ์ํ๋ ๋ณด์: ๋ชจ๋ํฐ๋ง ์๋ฒ๊ฐ ๋ชจ๋ ์ฐ๊ฒฐ์ ์์ํ๋ฏ๋ก ๋ฐฉํ๋ฒฝ ํ๊ฒฝ์์ ๊ด๋ฆฌ๊ฐ ๋ ์ฝ์ต๋๋ค.
๋จ์ :
- ๋คํธ์ํฌ ์ ๊ทผ์ฑ: ๋ชจ๋ํฐ๋ง ์๋ฒ๋ ๋คํธ์ํฌ๋ฅผ ํตํด ๋ชจ๋ ๋์์ ๋๋ฌํ ์ ์์ด์ผ ํฉ๋๋ค. ์ด๋ ๋ณต์กํ ๋ค์ค ํด๋ผ์ฐ๋ ๋๋ NAT ํ๊ฒฝ์์ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
- ์ผ์์ ์ธ ์ํฌ๋ก๋: ๋ค์ ์คํฌ๋ฉ ๊ฐ๊ฒฉ๊น์ง ์ถฉ๋ถํ ์ค๋ ์กด์ฌํ์ง ์์ ์ ์๋ ๋งค์ฐ ์งง์ ์๋ช ์ ์์ (์: ์๋ฒ๋ฆฌ์ค ๊ธฐ๋ฅ ๋๋ ๋ฐฐ์น ํ๋ก์ธ์ค)์ ์์ ์ ์ผ๋ก ์คํฌ๋ฉํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
ํต์ฌ ํ๋ ์ด์ด: Prometheus๋ ํ ๊ธฐ๋ฐ ์์คํ ์ ๊ฐ์ฅ ๋ํ์ ์ธ ์์ ๋๋ค.
ํธ์ ๋ชจ๋ธ: ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ
ํธ์ ๋ชจ๋ธ์์ ์งํ ์ ์ก์ ์ฑ ์์ ๋ชจ๋ํฐ๋ง๋๋ ์์คํ ์์ ์คํ๋๋ ์์ด์ ํธ์ ์์ต๋๋ค. ์ด๋ฌํ ์์ด์ ํธ๋ ๋ก์ปฌ์์ ์งํ๋ฅผ ์์งํ๊ณ ์ฃผ๊ธฐ์ ์ผ๋ก ์ค์ ์์ง ์๋ํฌ์ธํธ๋ก "ํธ์"ํฉ๋๋ค.
์๋ ๋ฐฉ์: 1. ๋์ ์์คํ ์ ์์ด์ ํธ๊ฐ ์งํ๋ฅผ ์์งํฉ๋๋ค. 2. ๊ตฌ์ฑ๋ ๊ฐ๊ฒฉ์ผ๋ก ์์ด์ ํธ๋ ์งํ๋ฅผ ํจํค์งํ์ฌ HTTP POST ๋๋ UDP ํจํท์ ํตํด ๋ชจ๋ํฐ๋ง ์๋ฒ์ ์๋ ค์ง ์๋ํฌ์ธํธ๋ก ๋ณด๋ ๋๋ค. 3. ์ค์ ์๋ฒ๋ ์ด ์๋ํฌ์ธํธ์์ ์์ ๋๊ธฐํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์์ ํ์ฌ ์คํ ๋ฆฌ์ง์ ๊ธฐ๋กํฉ๋๋ค.
์ฅ์ :
- ๋คํธ์ํฌ ์ ์ฐ์ฑ: ์์ด์ ํธ๋ ์ค์ ์๋ฒ์ ์๋ํฌ์ธํธ์ ๋ํ ์์๋ฐ์ด๋ ์ก์ธ์ค๋ง ํ์ํ๋ฉฐ, ์ด๋ ์ ํ์ ์ธ ๋ฐฉํ๋ฒฝ ๋๋ NAT ํ๊ฒฝ์์ ์์คํ ์ ์ด์์ ์ ๋๋ค.
- ์ผ์์ ๋ฐ ์๋ฒ๋ฆฌ์ค ์นํ์ : ๋จ๊ธฐ ์คํ ์์ ์ ์๋ฒฝํฉ๋๋ค. ๋ฐฐ์น ์์ ์ ์ข ๋ฃ ์ง์ ์ ์ต์ข ์งํ๋ฅผ ํธ์ํ ์ ์์ต๋๋ค. ์๋ฒ๋ฆฌ์ค ํจ์๋ ์๋ฃ ์ ์งํ๋ฅผ ํธ์ํ ์ ์์ต๋๋ค.
- ๊ฐ์ํ๋ ์์ด์ ํธ ๋ ผ๋ฆฌ: ์์ด์ ํธ์ ์์ ์ ๊ฐ๋จํฉ๋๋ค: ์์ง ๋ฐ ์ ์ก. ์น ์๋ฒ๋ฅผ ์คํํ ํ์๊ฐ ์์ต๋๋ค.
๋จ์ :
- ์์ง ๋ณ๋ชฉ ํ์: ๋๋ฌด ๋ง์ ์์ด์ ํธ๊ฐ ๋์์ ๋ฐ์ดํฐ๋ฅผ ํธ์ํ๋ฉด ์ค์ ์์ง ์๋ํฌ์ธํธ๊ฐ ๋ณ๋ชฉ ํ์์ด ๋ ์ ์์ต๋๋ค. ์ด๋ฅผ "thundering herd" ๋ฌธ์ ๋ผ๊ณ ํฉ๋๋ค.
- ๊ตฌ์ฑ ํ์ฐ: ๊ตฌ์ฑ์ด ๋ชจ๋ ์์ด์ ํธ์ ๋ถ์ฐ๋์ด ์์ผ๋ฏ๋ก ๋ชจ๋ํฐ๋ง๋๋ ๋์์ ๊ด๋ฆฌํ๊ณ ๊ฐ์ฌํ๊ธฐ๊ฐ ๋ ์ด๋ ต์ต๋๋ค.
- ๋์ ์ํ ๋ถํ์ค์ฑ: ์์ด์ ํธ๊ฐ ๋ฐ์ดํฐ ์ ์ก์ ์ค์งํ๋ฉด ์์คํ ์ด ๋ค์ด๋์๊ธฐ ๋๋ฌธ์ ๋๊น, ์๋๋ฉด ์์ด์ ํธ๊ฐ ์คํจํ๊ธฐ ๋๋ฌธ์ ๋๊น? ๊ฑด๊ฐํ๊ณ ์กฐ์ฉํ ์์คํ ๊ณผ ์ฃฝ์ ์์คํ ์ ๊ตฌ๋ณํ๊ธฐ๊ฐ ๋ ์ด๋ ต์ต๋๋ค.
ํต์ฌ ํ๋ ์ด์ด: InfluxDB ์คํ(Telegraf๋ฅผ ์์ด์ ํธ๋ก ์ฌ์ฉ), Datadog ๋ฐ ์๋ StatsD ๋ชจ๋ธ์ ํธ์ ๊ธฐ๋ฐ ์์คํ ์ ๊ณ ์ ์ ์ธ ์์ ๋๋ค.
ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ ๋ฐฉ์: ๋ ๊ฐ์ง ์ฅ์ ๋ชจ๋
์ค์ ๋ก ๋ง์ ์กฐ์ง์์ ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Prometheus์ ๊ฐ์ ํ ๊ธฐ๋ฐ ์์คํ ์ ๊ธฐ๋ณธ ๋ชจ๋ํฐ๋ก ์ฌ์ฉํ์ง๋ง, ์คํฌ๋ฉํ ์ ์๋ ๋ช๋ช ๋ฐฐ์น ์์ ์ ์์ฉํ๊ธฐ ์ํด Prometheus Pushgateway์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. Pushgateway๋ ์ค๊ฐ์ ์ญํ ์ ํ์ฌ ํธ์๋ ์งํ๋ฅผ ์๋ฝํ ๋ค์ Prometheus๊ฐ ํํ ์ ์๋๋ก ๋ ธ์ถํฉ๋๋ค.
์ฃผ์ ์งํ ์์ง ์์คํ ๊ธ๋ก๋ฒ ํฌ์ด
๋ชจ๋ํฐ๋ง ํ๊ฒฝ์ ๊ด๋ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์คํ ์์ค ๊ฐ์๋ถํฐ ๊ด๋ฆฌํ SaaS ํ๋ซํผ์ ์ด๋ฅด๊ธฐ๊น์ง ๊ฐ์ฅ ์ํฅ๋ ฅ ์๊ณ ๋๋ฆฌ ์ฑํ๋ ๋ช ๊ฐ์ง ์์คํ ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์คํ ์์ค ๊ฐ์: Prometheus ์ํ๊ณ
์๋ SoundCloud์์ ๊ฐ๋ฐ๋์๊ณ ํ์ฌ Cloud Native Computing Foundation(CNCF)์ ์กธ์ ํ๋ก์ ํธ์ธ Prometheus๋ Kubernetes ๋ฐ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ธ๊ณ์์ ๋ชจ๋ํฐ๋ง์ ์ํ ์ฌ์ค์์ ํ์ค์ด ๋์์ต๋๋ค. ์ด๋ ํ ๊ธฐ๋ฐ ๋ชจ๋ธ๊ณผ ๊ฐ๋ ฅํ ์ฟผ๋ฆฌ ์ธ์ด์ธ PromQL์ ์ค์ฌ์ผ๋ก ๊ตฌ์ถ๋ ์์ ํ ์ํ๊ณ์ ๋๋ค.
- ์ฅ์ :
- PromQL: ์๊ณ์ด ๋ถ์์ ์ํ ๋๋๋๋ก ๊ฐ๋ ฅํ๊ณ ํํ๋ ฅ์ด ํ๋ถํ ์ธ์ด์ ๋๋ค.
- ์๋น์ค ๊ฒ์: Kubernetes, Consul ๋ฐ ๊ธฐํ ํ๋ซํผ๊ณผ์ ๊ธฐ๋ณธ ํตํฉ์ ํตํด ์๋น์ค์ ๋์ ๋ชจ๋ํฐ๋ง์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๋ฐฉ๋ํ ์ต์คํฌํฐ ์ํ๊ณ: ๋ฐฉ๋ํ ์ปค๋ฎค๋ํฐ ์ง์ ์ต์คํฌํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ๊ฑฐ์ ๋ชจ๋ ์ํํธ์จ์ด ๋๋ ํ๋์จ์ด๋ฅผ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.
- ํจ์จ์ ์ด๊ณ ์์ ์ : Prometheus๋ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ด ์คํจํ ๋์๋ ์๋์ ์ ์งํ๋๋ก ์ค๊ณ๋ ์ ์ผํ ์์คํ ์ ๋๋ค.
- ๊ณ ๋ ค ์ฌํญ:
- ๋ก์ปฌ ์คํ ๋ฆฌ์ง ๋ชจ๋ธ: ๋จ์ผ Prometheus ์๋ฒ๋ ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ ๋์คํฌ์ ์ ์ฅํฉ๋๋ค. ์ฅ๊ธฐ ์ ์ฅ, ๊ณ ๊ฐ์ฉ์ฑ ๋ฐ ์ฌ๋ฌ ํด๋ฌ์คํฐ์ ๋ํ ์ ์ญ ๋ณด๊ธฐ๋ฅผ ์ํด์๋ Thanos, Cortex ๋๋ VictoriaMetrics์ ๊ฐ์ ํ๋ก์ ํธ๋ก ๋ณด๊ฐํด์ผ ํฉ๋๋ค.
๊ณ ์ฑ๋ฅ ์ ๋ฌธ๊ฐ: InfluxDB (TICK) ์คํ
InfluxDB๋ ๊ณ ์ฑ๋ฅ ์์ง ๋ฐ ์ ์ฐํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ์ ๋ช ํ ๋ชฉ์ ์งํฅ ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ์์ง, ์ ์ฅ, ๊ทธ๋ํํํ๊ณ ๊ฒฝ๊ณ ํ๋ ์คํ ์์ค ํ๋ซํผ์ธ TICK ์คํ์ ์ผ๋ถ๋ก ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
- ํต์ฌ ๊ตฌ์ฑ ์์:
- Telegraf: ํ๋ฌ๊ทธ์ธ ๊ธฐ๋ฐ์ ๋ฒ์ฉ ์์ง ์์ด์ ํธ(ํธ์ ๊ธฐ๋ฐ).
- InfluxDB: ๊ณ ์ฑ๋ฅ TSDB.
- Chronograf: ์๊ฐํ ๋ฐ ๊ด๋ฆฌ์ฉ ์ฌ์ฉ์ ์ธํฐํ์ด์ค.
- Kapacitor: ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ์๋ฆผ ์์ง.
- ์ฅ์ :
- ์ฑ๋ฅ: ํนํ ๊ณ ์ ์ฑ(high-cardinality) ๋ฐ์ดํฐ์ ๋ํด ํ์ํ ์ฐ๊ธฐ ๋ฐ ์ฟผ๋ฆฌ ์ฑ๋ฅ.
- ์ ์ฐ์ฑ: ํธ์ ๋ชจ๋ธ๊ณผ ๋ค์ฌ๋ค๋ฅํ Telegraf ์์ด์ ํธ๋ IoT ๋ฐ ์ค์๊ฐ ๋ถ์๊ณผ ๊ฐ์ ์ธํ๋ผ๋ฅผ ๋์ด์ ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํฉ๋๋ค.
- Flux ์ธ์ด: ์๋ก์ด Flux ์ฟผ๋ฆฌ ์ธ์ด๋ ๋ณต์กํ ๋ฐ์ดํฐ ๋ณํ ๋ฐ ๋ถ์์ ์ํ ๊ฐ๋ ฅํ ํจ์ํ ์ธ์ด์ ๋๋ค.
- ๊ณ ๋ ค ์ฌํญ:
- ํด๋ฌ์คํฐ๋ง: ์คํ ์์ค ๋ฒ์ ์์ ํด๋ฌ์คํฐ๋ง ๋ฐ ๊ณ ๊ฐ์ฉ์ฑ ๊ธฐ๋ฅ์ ์ญ์ฌ์ ์ผ๋ก ์์ ์ฉ ์ํฐํ๋ผ์ด์ฆ ์ ํ์ ์ผ๋ถ์์ง๋ง, ํ์ฌ ์งํํ๊ณ ์์ต๋๋ค.
์๋ก์ด ํ์ค: OpenTelemetry (OTel)
OpenTelemetry๋ ์๋ง๋ ๊ฐ์์ฑ ๋ฐ์ดํฐ ์์ง์ ๋ฏธ๋์ผ ๊ฒ์ ๋๋ค. ๋ ๋ค๋ฅธ CNCF ํ๋ก์ ํธ๋ก์, ๊ทธ ๋ชฉํ๋ ์๊ฒฉ ์ธก์ ๋ฐ์ดํฐ(์งํ, ๋ก๊ทธ, ํธ๋ ์ด์ค)๋ฅผ ์์ฑ, ์์ง ๋ฐ ๋ด๋ณด๋ด๋ ๋ฐฉ์์ ํ์คํํ๋ ๊ฒ์ ๋๋ค. Prometheus ๋๋ InfluxDB์ ๊ฐ์ ๋ฐฑ์๋ ์์คํ ์ด ์๋๋ผ, ๊ณ์ธก ๋ฐ ๋ฐ์ดํฐ ์์ง์ ์ํ ๊ณต๊ธ์ ์ฒด ์ค๋ฆฝ์ ์ธ API, SDK ๋ฐ ๋๊ตฌ ์ธํธ์ ๋๋ค.
- ์ค์ํ ์ด์ :
- ๊ณต๊ธ์ ์ฒด ์ค๋ฆฝ์ : OpenTelemetry๋ก ์ฝ๋๋ฅผ ํ ๋ฒ ๊ณ์ธกํ๋ฉด OpenTelemetry Collector์ ๊ตฌ์ฑ๋ง ๋ณ๊ฒฝํ์ฌ ํธํ ๊ฐ๋ฅํ ๋ชจ๋ ๋ฐฑ์๋(Prometheus, Datadog, Jaeger ๋ฑ)๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.
- ํตํฉ ์์ง: OpenTelemetry Collector๋ ์งํ, ๋ก๊ทธ ๋ฐ ํธ๋ ์ด์ค๋ฅผ ์์ , ์ฒ๋ฆฌ ๋ฐ ๋ด๋ณด๋ผ ์ ์์ผ๋ฏ๋ก ๋ชจ๋ ๊ฐ์์ฑ ์ ํธ๋ฅผ ๊ด๋ฆฌํ ๋จ์ผ ์์ด์ ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋ฏธ๋ ๋ณด์ฅ: OpenTelemetry๋ฅผ ์ฑํํ๋ฉด ๊ณต๊ธ์ ์ฒด ์ข ์์ฑ์ ํผํ๊ณ ๊ณ์ธก ์ ๋ต์ด ์ฐ์ ํ์ค์ ๋ง์ถฐ์ง๋๋ก ํฉ๋๋ค.
๊ด๋ฆฌํ SaaS ์๋ฃจ์ : Datadog, New Relic, Dynatrace
๋ชจ๋ํฐ๋ง ์ธํ๋ผ ๊ด๋ฆฌ๋ฅผ ์ธ๋ถ์ ๋งก๊ธฐ๋ ๊ฒ์ ์ ํธํ๋ ์กฐ์ง์ ์ํด ์๋น์คํ ์ํํธ์จ์ด(SaaS) ํ๋ซํผ์ ๋งค๋ ฅ์ ์ธ ๋์์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ํ๋ซํผ์ ์ผ๋ฐ์ ์ผ๋ก ์งํ, ๋ก๊ทธ, APM(์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง) ๋ฑ์ ํฌํจํ๋ ํตํฉ๋ ์ฌ์ธ์ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
- ์ฅ์ :
- ์ฌ์ฉ ์ฉ์ด์ฑ: ์ต์ํ์ ์ด์ ์ค๋ฒํค๋๋ก ๋น ๋ฅธ ์ค์ . ๊ณต๊ธ์ ์ฒด๊ฐ ํ์ฅ, ์์ ์ฑ ๋ฐ ์ ์ง ๊ด๋ฆฌ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
- ํตํฉ๋ ๊ฒฝํ: ๋จ์ผ UI์์ ์งํ๋ฅผ ๋ก๊ทธ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ํธ๋ ์ด์ค์ ์ํํ๊ฒ ์ํธ ์ฐ๊ด์ํต๋๋ค.
- ๊ณ ๊ธ ๊ธฐ๋ฅ: AI ๊ธฐ๋ฐ ์ด์ ๊ฐ์ง ๋ฐ ์๋ํ๋ ๊ทผ๋ณธ ์์ธ ๋ถ์๊ณผ ๊ฐ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
- ์ํฐํ๋ผ์ด์ฆ ์ง์: ๊ตฌํ ๋ฐ ๋ฌธ์ ํด๊ฒฐ์ ๋๋ ์ ๋ด ์ง์ ํ์ ์ด์ฉํ ์ ์์ต๋๋ค.
- ๋จ์ :
- ๋น์ฉ: ํนํ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ๋งค์ฐ ๋น์ธ์ง ์ ์์ต๋๋ค. ๊ฐ๊ฒฉ์ ์ข ์ข ํธ์คํธ ์, ๋ฐ์ดํฐ ๋ณผ๋ฅจ ๋๋ ์ฌ์ฉ์ ์ง์ ์งํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
- ๊ณต๊ธ์ ์ฒด ์ข ์์ฑ: ๋ ์ ์์ด์ ํธ ๋ฐ ๊ธฐ๋ฅ์ ํฌ๊ฒ ์์กดํ๋ ๊ฒฝ์ฐ SaaS ๊ณต๊ธ์ ์ฒด์์ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๊ฒ์ ์๋นํ ๋ ธ๋ ฅ์ด ๋ ์ ์์ต๋๋ค.
- ์ ์ด๋ ฅ ๊ฐ์: ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๋ํ ์ ์ด๋ ฅ์ด ์ค์ด๋ค๊ณ ํ๋ซํผ์ ๊ธฐ๋ฅ ๋ฐ ๋ฐ์ดํฐ ํ์์ ์ํด ์ ํ๋ ์ ์์ต๋๋ค.
์งํ ์์ง ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํ ๊ธ๋ก๋ฒ ๋ชจ๋ฒ ์ฌ๋ก
์ด๋ค ๋๊ตฌ๋ฅผ ์ ํํ๋ , ์ผ๋ จ์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํ๋ฉด ์กฐ์ง์ด ์ฑ์ฅํจ์ ๋ฐ๋ผ ๋ชจ๋ํฐ๋ง ์์คํ ์ด ํ์ฅ ๊ฐ๋ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ฐ๋ฉฐ ๊ฐ์น ์๊ฒ ์ ์ง๋ ๊ฒ์ ๋๋ค.
๋ช ๋ช ๊ท์น ํ์คํ
์ผ๊ด๋ ๋ช ๋ช ์ฒด๊ณ๋ ํนํ ๊ธ๋ก๋ฒ ํ์๊ฒ ์ค์ํฉ๋๋ค. ์งํ๋ฅผ ์ฝ๊ฒ ์ฐพ๊ณ , ์ดํดํ๊ณ , ์ฟผ๋ฆฌํ ์ ์๋๋ก ํฉ๋๋ค. Prometheus์์ ์๊ฐ์ ๋ฐ์ ์ผ๋ฐ์ ์ธ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
subsystem_metric_unit_type
- subsystem: ์งํ๊ฐ ์ํ ๊ตฌ์ฑ ์์(์: `http`, `api`, `database`).
- metric: ์ธก์ ๋๋ ๋์์ ๋ํ ์ค๋ช (์: `requests`, `latency`).
- unit: ์ธก์ ์ ๊ธฐ๋ณธ ๋จ์(๋ณต์ํ) (์: `seconds`, `bytes`, `requests`).
- type: ์งํ ์ ํ, ์นด์ดํฐ์ ๊ฒฝ์ฐ ์ข ์ข `_total` (์: `http_requests_total`).
์์: `api_http_requests_total`์ ๋ช ํํ๊ณ ๋ชจํธํ์ง ์์ต๋๋ค.
์นด๋๋๋ฆฌํฐ๋ฅผ ์ ์คํ๊ฒ ๋ค๋ฃจ๊ธฐ
์นด๋๋๋ฆฌํฐ๋ ์งํ ์ด๋ฆ๊ณผ ๋ ์ด๋ธ ์ธํธ(ํค-๊ฐ ์)์ ์ํด ์์ฑ๋๋ ๊ณ ์ ํ ์๊ณ์ด์ ์๋ฅผ ๋ํ๋ ๋๋ค. ์๋ฅผ ๋ค์ด, `http_requests_total{method=\"GET\", path=\"/api/users\", status=\"200\"}` ์งํ๋ ํ๋์ ์๊ณ์ด์ ๋ํ๋ ๋๋ค.
๋์ ์นด๋๋๋ฆฌํฐ(์ฌ์ฉ์ ID, ์ปจํ ์ด๋ ID ๋๋ ์์ฒญ ํ์์คํฌํ์ ๊ฐ์ด ๊ฐ๋ฅํ ๊ฐ์ด ๋ง์ ๋ ์ด๋ธ๋ก ์ธํด ๋ฐ์)๋ ๋๋ถ๋ถ์ TSDB์์ ์ฑ๋ฅ ๋ฐ ๋น์ฉ ๋ฌธ์ ์ ์ฃผ์ ์์ธ์ ๋๋ค. ์ด๋ ์คํ ๋ฆฌ์ง, ๋ฉ๋ชจ๋ฆฌ ๋ฐ CPU ์๊ตฌ ์ฌํญ์ ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐ์ํต๋๋ค.
๋ชจ๋ฒ ์ฌ๋ก: ๋ ์ด๋ธ์ ์ ์คํ๊ฒ ์ฌ์ฉํ์ญ์์ค. ์ง๊ณ์ ์ ์ฉํ ๋ฎ์-์ค๊ฐ ์นด๋๋๋ฆฌํฐ ์ฐจ์(์: ์๋ํฌ์ธํธ, ์ํ ์ฝ๋, ์ง์ญ)์ ์ฌ์ฉํ์ญ์์ค. ์ฌ์ฉ์ ID ๋๋ ์ธ์ ID์ ๊ฐ์ด ์ ํ ์๋ ๊ฐ์ ์งํ ๋ ์ด๋ธ๋ก ์ ๋ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
๋ช ํํ ๋ฐ์ดํฐ ๋ณด์กด ์ ์ฑ ์ ์
๊ณ ํด์๋ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌ์ ์ผ๋ก ์ ์ฅํ๋ ๊ฒ์ ์์ฒญ๋๊ฒ ๋น์๋๋ค. ๊ณ์ธตํ๋ ๋ณด์กด ์ ๋ต์ด ํ์์ ์ ๋๋ค:
- ์์, ๊ณ ํด์๋ ๋ฐ์ดํฐ: ์์ธํ๊ณ ์ค์๊ฐ ๋ฌธ์ ํด๊ฒฐ์ ์ํด ์งง์ ๊ธฐ๊ฐ(์: 7-30์ผ) ๋์ ์ ์งํฉ๋๋ค.
- ๋ค์ด์ํ๋ง๋, ์ค๊ฐ ํด์๋ ๋ฐ์ดํฐ: ์์ ๋ฐ์ดํฐ๋ฅผ 5๋ถ ๋๋ 1์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ์ง๊ณํ๊ณ ์ถ์ธ ๋ถ์์ ์ํด ๋ ๊ธด ๊ธฐ๊ฐ(์: 90-180์ผ) ๋์ ์ ์งํฉ๋๋ค.
- ์ง๊ณ๋, ์ ํด์๋ ๋ฐ์ดํฐ: ์ฅ๊ธฐ ์ฉ๋ ๊ณํ์ ์ํด ๊ณ ๋๋ก ์ง๊ณ๋ ๋ฐ์ดํฐ(์: ์ผ๋ณ ์์ฝ)๋ฅผ 1๋ ์ด์ ์ ์งํฉ๋๋ค.
"์ฝ๋ํ ๋ชจ๋ํฐ๋ง" ๊ตฌํ
๋์๋ณด๋, ์๋ฆผ, ์์ง ์์ด์ ํธ ์ค์ ๊ณผ ๊ฐ์ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์ธํ๋ผ์ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. ๊ทธ๋ ๊ฒ ์ทจ๊ธํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ (์: Git)์ ์ ์ฅํ๊ณ ์ธํ๋ผ-์ ์ฆ-์ฝ๋ ๋๊ตฌ(์: Terraform, Ansible) ๋๋ ํน์ ์ด์์(์: Kubernetes์ฉ Prometheus Operator)๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ์ญ์์ค.
์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๋ฒ์ ๊ด๋ฆฌ, ๋๋ฃ ๊ฒํ ๋ฐ ์๋ํ๋๊ณ ๋ฐ๋ณต ๊ฐ๋ฅํ ๋ฐฐํฌ๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ด๋ ์ฌ๋ฌ ํ๊ณผ ํ๊ฒฝ์ ๊ฑธ์ณ ๋๊ท๋ชจ๋ก ๋ชจ๋ํฐ๋ง์ ๊ด๋ฆฌํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
์คํ ๊ฐ๋ฅํ ์๋ฆผ์ ์ง์ค
์๋ฆผ์ ๋ชฉํ๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ์๋ ค์ฃผ๋ ๊ฒ์ด ์๋๋ผ, ์ฌ๋์ ๊ฐ์ ์ด ํ์ํ ๋ฌธ์ ๋ฅผ ์๋ ค์ฃผ๋ ๊ฒ์ ๋๋ค. ๋์์์ด ๋ฎ์ ๊ฐ์น์ ์๋ฆผ์ ํ์ด ์ค์ํ ์๋ฆผ๊น์ง ๋ฌด์ํ๊ธฐ ์์ํ๋ "์๋ฆผ ํผ๋ก"๋ก ์ด์ด์ง๋๋ค.
๋ชจ๋ฒ ์ฌ๋ก: ์์ธ์ด ์๋ ์ฆ์์ ๋ํด ์๋ฆผ์ ์ค์ ํ์ญ์์ค. ์ฆ์์ ์ฌ์ฉ์์๊ฒ ๋ณด์ด๋ ๋ฌธ์ (์: "์น์ฌ์ดํธ๊ฐ ๋๋ ค์", "์ฌ์ฉ์๋ค์ด ์ค๋ฅ๋ฅผ ๋ณด๊ณ ์์ด์")์ ๋๋ค. ์์ธ์ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ (์: "CPU ์ฌ์ฉ๋ฅ ์ด 90%์ ๋๋ค")์ ๋๋ค. ๋์ CPU ์ฌ์ฉ๋ฅ ์ ๋์ ์ง์ฐ ์๊ฐ์ด๋ ์ค๋ฅ๋ก ์ด์ด์ง์ง ์๋ ํ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ์๋น์ค ์์ค ๋ชฉํ(SLO)์ ๋ํด ์๋ฆผ์ ์ค์ ํจ์ผ๋ก์จ ์ฌ์ฉ์ ๋ฐ ๋น์ฆ๋์ค์ ์ง์ ์ผ๋ก ์ค์ํ ๊ฒ์ ์ง์คํ ์ ์์ต๋๋ค.
์งํ์ ๋ฏธ๋: ๋ชจ๋ํฐ๋ง์ ๋์ด ์ง์ ํ ๊ฐ์์ฑ์ผ๋ก
์งํ ์์ง์ ๋ ์ด์ CPU์ ๋ฉ๋ชจ๋ฆฌ ๋์๋ณด๋๋ฅผ ๋ง๋๋ ๊ฒ์ ๊ทธ์น์ง ์์ต๋๋ค. ์ด๋ ํจ์ฌ ๋ ๊ด๋ฒ์ํ ์ค์ฒ์ธ ๊ฐ์์ฑ์ ์ ๋์ ๊ธฐ๋ฐ์ ๋๋ค. ๊ฐ์ฅ ๊ฐ๋ ฅํ ํต์ฐฐ๋ ฅ์ ์งํ๋ฅผ ์์ธํ ๋ก๊ทธ ๋ฐ ๋ถ์ฐ ํธ๋ ์ด์ค์ ์ํธ ์ฐ๊ด์์ผ ๋ฌด์์ด ์๋ชป๋์์ ๋ฟ๋ง ์๋๋ผ ์ ์๋ชป๋์๋์ง ์ดํดํ๋ ๋ฐ์ ๋์ต๋๋ค.
์ธํ๋ผ ๋ชจ๋ํฐ๋ง ์ ๋ต์ ๊ตฌ์ถํ๊ฑฐ๋ ๊ฐ์ ํ ๋ ๋ค์ ํต์ฌ ์ฌํญ์ ๊ธฐ์ตํ์ญ์์ค:
- ์งํ๋ ๊ธฐ๋ณธ์ ๋๋ค: ์ด๋ ์์คํ ์ํ์ ์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ฅธ ์ถ์ธ๋ฅผ ์ดํดํ๋ ๊ฐ์ฅ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค.
- ์ํคํ ์ฒ๊ฐ ์ค์ํฉ๋๋ค: ํน์ ์ฌ์ฉ ์ฌ๋ก ๋ฐ ๋คํธ์ํฌ ํ ํด๋ก์ง์ ๋ง๋ ์ฌ๋ฐ๋ฅธ ์์ง ๋ชจ๋ธ(ํธ์, ํ ๋๋ ํ์ด๋ธ๋ฆฌ๋)์ ์ ํํ์ญ์์ค.
- ๋ชจ๋ ๊ฒ์ ํ์คํํ์ญ์์ค: ๋ช ๋ช ๊ท์น๋ถํฐ ๊ตฌ์ฑ ๊ด๋ฆฌ๊น์ง, ํ์คํ๋ ํ์ฅ์ฑ๊ณผ ๋ช ํ์ฑ์ ํต์ฌ์ ๋๋ค.
- ๋๊ตฌ๋ฅผ ๋์ด๋ณด์ญ์์ค: ๊ถ๊ทน์ ์ธ ๋ชฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๊ฒ์ด ์๋๋ผ ์์คํ ์์ ์ฑ, ์ฑ๋ฅ ๋ฐ ๋น์ฆ๋์ค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ํ๋ ์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ์ ์ป๋ ๊ฒ์ ๋๋ค.
๊ฐ๋ ฅํ ์ธํ๋ผ ๋ชจ๋ํฐ๋ง ์ฌ์ ์ ์ง์์ ์ธ ์ฌ์ ์ ๋๋ค. ๊ฑด์ ํ ์ํคํ ์ฒ ์์น๊ณผ ๊ธ๋ก๋ฒ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฌ๊ณ ํ ์งํ ์์ง ์์คํ ์ ์์ํจ์ผ๋ก์จ ๋์ฑ ํ๋ ฅ์ ์ด๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋๋ฉฐ ๊ฐ์์ ์ธ ๋ฏธ๋๋ฅผ ์ํ ํ ๋๋ฅผ ๋ง๋ จํ๋ ๊ฒ์ ๋๋ค.