์๋ ํ์ธ์ ๊ตฌ๋ ์๋, ์ต์ DevOps ์์์ ์ ๋ฆฌํด์ ๊ณต์ ํด๋๋ฆฌ๋ DevOps ์ฌํ์ ์ํ ์์์ง์ ๋๋ค.
์ด๋ฒ์ฃผ ์์์ง์์๋ ์๋ก์ด ๋ฒ์ ์ผ๋ก ๋์์จ ๋ฐ์ดํฐ ์๊ฐํ ์คํ์์ค ํด Grafana์, ๊ธฐ์กด์ ๊ฐ๋ฐ์๋ค์ด ์์ฃผํ๋ ์ค์๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ Go ์ธ์ด์ ํฅํ ๋ฆด๋ฆฌ์ฆ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๐์๊ฐํ ๊ธฐ๋ฅ์ด ํ์ธต ๋ ๊ฐํ๋ Grafana v10.3
Grafana๋ ๋ฐ์ดํฐ๋ฅผ ์์ง ๋ฐ ๋น๊ตํ ์ ์๊ณ , ๊ฐ์์ฑ์ด ์ข์ ๋์๋ณด๋๋ก ์๊ฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์คํ์์ค ํด์ ๋๋ค. ์ ๋ณด ๊ธฐ๋ฐ์ ๊ฒฐ์ ์ ์ด๋์ด๋ด๊ณ , ์์คํ ํผํฌ๋จผ์ค๋ฅผ ํฅ์์ํค๋ฉฐ, ํธ๋ฌ๋ธ์ํ ์ ๊ฐ์ํํ๊ธฐ ์ํด ๊ฐ๋ฐ๋์๋๋ฐ์.
๊ทธ๋ฐ Grafana๊ฐ v10.3๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ๊ธฐ์กด์ ์๊ฐํ ๊ธฐ๋ฅ์ ํฅ์์ํค๊ณ , Grafana Alerting๊ณผ ๋ก๊ทธ ๋ถ์ ๊ธฐ๋ฅ์ ๊ฐ์ ํ์ฌ ๋ชจ๋ํฐ๋ง๊ณผ ํธ๋ฌ๋ธ์ํ ์ ๋์ฑ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๋๋ก ๊ฐ๋ฐ ๋ฐ ๋ฆด๋ฆฌ์ฆ๋์๋ค๊ณ ํฉ๋๋ค.
Grafana v10.3์ ์ฃผ์ ๊ฐ์ ์ ๋ฐ ์ ๋ฐ์ดํธ๋ฅผ ๊ฐ๋ตํ๊ฒ ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
๋์ฑ ์์ธํ ๋ด์ฉ์ Grafana ๊ณต์ ๋ฌธ์์์ ํ์ธํ์ค ์ ์์ต๋๋ค. (๋งํฌ)
๐๊ฐ๋ฐ์๋ค์ด ์์ฃผํ๋ ์ค์๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ Go v1.22
๊ตฌ๊ธ์์ ๊ฐ๋ฐํ Go ์ธ์ด๊ฐ 2024๋ 2์์ v1.22 ๋ฆด๋ฆฌ์ฆ ์์ ์ ๋๋ค. ์ด๋ฒ ๋ฆด๋ฆฌ์ฆ์์ ๊ธฐ์กด For๋ฌธ์ ์๋๋ฐฉ์์ด ๋ณ๊ฒฝ๋๋ค๊ณ ํ๋๋ฐ์.
Go ์ธ์ด์ ๊ธฐ์กด For๋ฌธ์ ์๋๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. For๋ฌธ ์คํ ์ For๋ฌธ์ผ๋ก ์ ์๋ ๋ณ์(์: i)๊ฐ 1ํ ์์ฑ
2. For๋ฌธ์ ๊ฐ Iteration(๋ฐ๋ณต)๋ง๋ค ํด๋น ๋ณ์๊ฐ ์ ๋ฐ์ดํธ
๊ธฐ์กด For๋ฌธ์ ์๋๋ฐฉ์์ ํจ์จ์ฑ์ ์ํ ๊ฒ์ด์์ง๋ง, Go ์ธ์ด๋ฅผ ๋ง ์ฌ์ฉํ๊ธฐ ์์ํ ๊ฐ๋ฐ์์๊ฒ ์ต์ํ์ง ์์ ๋ฐฉ์์ด์์ต๋๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ์ For๋ฌธ ๋ด ์ ์๋ ๋ณ์๊ฐ ๋ฐ๋ณต ๊ณผ์ ์์ ์์๋๋ก ์ฐ์ฐ๋์ง ์๊ธฐ๋ ํ์ฃ . (๊ด๋ จ ๋ฌธ์ ๋งํฌ)
์ด๋ก ์ธํด ๊ฐ๋ฐ ๊ณผ์ ์์ ์ค์๊ฐ ์๊ฒจ Production ๋จ๊ณ์์ ๋ฌธ์ ๊ฐ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์๊ณ , ์ด ๋ฌธ์ ๊ณผ ๊ด๋ จ๋ Go ์ธ์ด ๊ณต์ Wiki ํ์ด์ง๋ ์์ฑ๋ ์ ๋์์ต๋๋ค. (๋งํฌ)
์ด๋ฌํ For๋ฌธ ๊ด๋ จ ์ค์๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ด๋ฒ ๋ฆด๋ฆฌ์ฆ์์ For๋ฌธ ์๋๋ฐฉ์์ด ๋ณ๊ฒฝ๋ ์์ ์ธ๋ฐ์. Go v1.22 ๋ฆด๋ฆฌ์ฆ์์ For๋ฌธ ๊ด๋ จ ๋ณ๊ฒฝ์ ์ ์๋์ ๊ฐ์ต๋๋ค.
- For๋ฌธ ๋ด์ ์ ์๋ ๋ณ์์ ๋ํด ๊ฐ Iteration๋ง๋ค ์๋ก์ด ๋ณ์๊ฐ ์์ฑ
์ถ๊ฐ์ ์ผ๋ก, Go v1.22์์ For๋ฌธ ์์ฑ ์ ๊ฐ๋ฐ์์ ํธ์๋ฅผ ์ํด ์ ์(Integer)๋ฅผ range(๋ฒ์)๋ก ๋ช ์ํด์ ์ฌ์ฉํ ์ ์๊ฒ๋ ์ ๋ฐ์ดํธ๋ ์์ ์ ๋๋ค. ์๋์ ์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ข ๋ ์ง๊ด์ ์ผ๋ก ์ดํดํ์ค ์ ์์ ๊ฒ์ ๋๋ค.
๐ญ๋ง์น๋ฉฐ...
ํน์ ์ด๋ฒ ๋ด์ฉ ๊ด๋ จํด์ ๋ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ค๋ฉด ์๋ ๋ฉ์ผ๋ฆฌ ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์.๐
๊ทธ๋ผ, ๋ค์ ์์์ง์์ ๋ณด๋ค ์์ฐจ๊ณ ํฅ๋ฏธ๋ก์ด ๋ด์ฉ์ผ๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ๐บ
์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์ธ์