CICD

๐Ÿ”ญ๋ฏธ๋ฆฌ ์‚ดํŽด๋ณด๋Š” Grafana์™€ Go ์–ธ์–ด ์ตœ์‹  ๋ฆด๋ฆฌ์ฆˆ

์˜คํ”ˆ์†Œ์Šค ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ํˆด Grafana์™€ ๊ตฌ๊ธ€์˜ Go ์–ธ์–ด๊ฐ€ ์ƒˆ๋กœ์šด ๋ฒ„์ „์œผ๋กœ ์ฐพ์•„์˜ต๋‹ˆ๋‹ค.

2024.01.29 | ์กฐํšŒ 225 |
0
|

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

์•ˆ๋…•ํ•˜์„ธ์š” ๊ตฌ๋…์ž๋‹˜, ์ตœ์‹  DevOps ์†Œ์‹์„ ์ •๋ฆฌํ•ด์„œ ๊ณต์œ ํ•ด๋“œ๋ฆฌ๋Š” DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ์ฃผ ์†Œ์‹์ง€์—์„œ๋Š” ์ƒˆ๋กœ์šด ๋ฒ„์ „์œผ๋กœ ๋Œ์•„์˜จ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ์˜คํ”ˆ์†Œ์Šค ํˆด Grafana์™€, ๊ธฐ์กด์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž์ฃผํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ Go ์–ธ์–ด์˜ ํ–ฅํ›„ ๋ฆด๋ฆฌ์ฆˆ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ“Š์‹œ๊ฐํ™” ๊ธฐ๋Šฅ์ด ํ•œ์ธต ๋” ๊ฐ•ํ™”๋œ Grafana v10.3

Grafana v10.3์ด 2024๋…„ 1์›” ๋ฆด๋ฆฌ์ฆˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
Grafana v10.3์ด 2024๋…„ 1์›” ๋ฆด๋ฆฌ์ฆˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Grafana๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ ๋ฐ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ€์‹œ์„ฑ์ด ์ข‹์€ ๋Œ€์‹œ๋ณด๋“œ๋กœ ์‹œ๊ฐํ™”๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ํˆด์ž…๋‹ˆ๋‹ค. ์ •๋ณด ๊ธฐ๋ฐ˜์˜ ๊ฒฐ์ •์„ ์ด๋Œ์–ด๋‚ด๊ณ , ์‹œ์Šคํ…œ ํผํฌ๋จผ์Šค๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋ฉฐ, ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…์„ ๊ฐ„์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ๋Š”๋ฐ์š”.

๊ทธ๋Ÿฐ Grafana๊ฐ€ v10.3๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ์‹œ๊ฐํ™” ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ , Grafana Alerting๊ณผ ๋กœ๊ทธ ๋ถ„์„ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…์„ ๋”์šฑ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ๋ฐœ ๋ฐ ๋ฆด๋ฆฌ์ฆˆ๋˜์—ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

Grafana v10.3์˜ ์ฃผ์š” ๊ฐœ์„ ์  ๋ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์˜ ํˆดํŒ ๊ฐœ์„  (๋งํฌ)
  • Canvas ํŒจ๋„์— Zoom and Pan ์˜ต์…˜ ์ถ”๊ฐ€ (๋งํฌ)
  • Stat ์‹œ๊ฐํ™”์—์„œ Percent Change ์˜ต์…˜ ์ถ”๊ฐ€ (๋งํฌ)
  • System ๋ฐ Service์˜ ์ƒํƒœ ์‹œ๊ฐํ™” ๊ฐ€๋Šฅ (๋งํฌ)

๋”์šฑ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Grafana ๊ณต์‹ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋งํฌ

 

๐Ÿ”๊ฐœ๋ฐœ์ž๋“ค์ด ์ž์ฃผํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ Go v1.22

Go ์–ธ์–ด์˜ v1.22 ๋ฆด๋ฆฌ์ฆˆ๋กœ ๊ธฐ์กด์— ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž์ฃผํ•˜๋˜ ์‹ค์ˆ˜๊ฐ€ ์ค„์–ด๋“ค ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋ฉ๋‹ˆ๋‹ค.
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(๋ฒ”์œ„)๋กœ ๋ช…์‹œํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์—…๋ฐ์ดํŠธ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ์ข€ ๋” ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

func main() { for i := range 5 { fmt.Printf("%d ", i) } } // ์‹คํ–‰ ๊ฒฐ๊ณผ: 0 1 2 3 4

 

๐Ÿ”ญ๋งˆ์น˜๋ฉฐ...

ํ˜น์‹œ ์ด๋ฒˆ ๋‚ด์šฉ ๊ด€๋ จํ•ด์„œ ๋” ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์•„๋ž˜ ๋ฉ”์ผ๋ฆฌ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.๐Ÿ˜€

๊ทธ๋Ÿผ, ๋‹ค์Œ ์†Œ์‹์ง€์—์„œ ๋ณด๋‹ค ์•Œ์ฐจ๊ณ  ํฅ๋ฏธ๋กœ์šด ๋‚ด์šฉ์œผ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ˜บ

๋‹ค๊ฐ€์˜ฌ ๋‰ด์Šค๋ ˆํ„ฐ๊ฐ€ ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”?

์ง€๊ธˆ ๊ตฌ๋…ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ ˆํ„ฐ๋ฅผ ๋ฐ›์•„๋ณด์„ธ์š”

์ด๋ฒˆ ๋‰ด์Šค๋ ˆํ„ฐ ์–ด๋– ์…จ๋‚˜์š”?

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€ ๋‹˜์—๊ฒŒ โ˜•๏ธ ์ปคํ”ผ์™€ โœ‰๏ธ ์ชฝ์ง€๋ฅผ ๋ณด๋‚ด๋ณด์„ธ์š”!

๋Œ“๊ธ€

์˜๊ฒฌ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

ํ™•์ธ
์˜๊ฒฌ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์ œ์ผ ๋จผ์ € ๋Œ“๊ธ€์„ ๋‹ฌ์•„๋ณด์„ธ์š” !
ยฉ 2024 DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

๋‰ด์Šค๋ ˆํ„ฐ ๋ฌธ์˜eduukulelekim@gmail.com

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ ์„œ๋น„์Šค ์†Œ๊ฐœ์„œ ์˜ค๋ฅ˜ ๋ฐ ๊ธฐ๋Šฅ ๊ด€๋ จ ์ œ๋ณด

์„œ๋น„์Šค ์ด์šฉ ๋ฌธ์˜admin@team.maily.so

๋ฉ”์ผ๋ฆฌ ์‚ฌ์—…์ž ์ •๋ณด

๋ฉ”์ผ๋ฆฌ (๋Œ€ํ‘œ์ž: ์ดํ•œ๊ฒฐ) | ์‚ฌ์—…์ž๋ฒˆํ˜ธ: 717-47-00705 | ์„œ์šธ ์„œ์ดˆ๊ตฌ ๊ฐ•๋‚จ๋Œ€๋กœ53๊ธธ 8, 8์ธต 11-7ํ˜ธ

์ด์šฉ์•ฝ๊ด€ | ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ | ์ •๊ธฐ๊ฒฐ์ œ ์ด์šฉ์•ฝ๊ด€