Infra & DevOps

[AWS] Native Observability - Logs ์‹ค์Šต

hyeyeonismm 2024. 11. 12. 13:28

AWS Community Day์—์„œ ์‹ค์Šตํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

 

AWS๊ฐ€ ์ž์ฒด์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋Š” ์‹ค์Šต
CloudWatch, X-Ray์™€ ๊ฐ™์€ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์‹œ์Šคํ…œ์˜ ๋™์ž‘, ์„ฑ๋Šฅ ๋“ฑ์„ ๋Šฅ๋™์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

CloudWatch Logs๋ž€?

CloudWatch Logs๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ์Šคํ…œ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, AWS ์„œ๋น„์Šค์˜ ๋กœ๊ทธ๋ฅผ ํ•œ ๊ณณ์—์„œ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŠน์ • ์—๋Ÿฌ ์ฝ”๋“œ๋‚˜ ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์šฉ์ดํ•˜๋ฉฐ, ๋กœ๊ทธ๋ฅผ ํŠน์ • ํ•„๋“œ๋กœ ํ•„ํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ์•„์นด์ด๋ธŒํ•˜์—ฌ ์ถ”ํ›„ ๋ถ„์„ํ•˜๊ธฐ์—๋„ ํŽธํ•˜๋‹ค. ๋˜ํ•œ, CloudWatch Logs Insights๋กœ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ ๋ฐ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Logs Insights ์‹ค์Šต - ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์• ์™„๋™๋ฌผ ์ž…์–‘ ํŒจํ„ด ํ™•์ธํ•˜๋Š” ์ฟผ๋ฆฌ ์งœ๊ธฐ

์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด PetListAdoptions ECS ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰๋œ ์ตœ๊ทผ 20๊ฐœ์˜ ๋กœ๊ทธ ์ด๋ฒคํŠธ๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค. ์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ผ ๋กœ๊ทธ ์ด๋ฒคํŠธ์˜ ๋ถ„ํฌ๋ฅผ ํžˆ์Šคํ† ๊ทธ๋žจ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ๊ณ , JSON ํ˜•์‹์œผ๋กœ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 


๋˜ํ•œ filter ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, stats ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์ง‘๊ณ„๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

stats๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 5๋ถ„๋™์•ˆ ๊ฐ์ง€๋œ ๋ฉ”์‹œ์ง€ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์ฟผ๋ฆฌ

fields @timestamp, @message
| stats count(@message) as number_of_events by bin(5m)
| limit 20

bin()์€ @timestamp ๊ฐ’์„ ์ง€์ •ํ•œ ๊ธฐ๊ฐ„์œผ๋กœ ๋ฐ˜์˜ฌ๋ฆผํ•œ ํ›„ ์ž๋ฅธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด bin(5m)์€ timestamp ๊ฐ’์„ 5๋ถ„ ๋‹จ์œ„๋กœ ๋ฐ˜์˜ฌ๋ฆผํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

 

๊ฒฐ๊ณผ๊ฐ€ ์ด๋ ‡๊ฒŒ ํ‘œ์‹œ๋˜๋ฉฐ, ์‹œ๊ฐํ™” ํƒญ์„ ํ†ตํ•ด ๊ทธ๋ž˜ํ”„๋กœ๋„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

๊ฒฐ๊ณผ๊ฐ’ ๋Œ€์‹œ๋ณด๋“œ์— ์ถ”๊ฐ€

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

 

 

์•„๋ž˜์™€ ๊ฐ™์ด AWS CLI๋ฅผ ํ†ตํ•ด ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ›„์— parse๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ณ , ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜๋Š” ์‹ค์Šต๋„ ์ง„ํ–‰ํ–ˆ์ง€๋งŒ… ์‹ค์Šต์ง€๋ฅผ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ผํ•˜๋Š” ๊ฒƒ์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ ์ง„ ์•Š๊ฒ ๋‹ค.

 

 

Log Anomaly Detector & Pattern Analysis

Amazon CloudWatch Logs Anomaly์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ ํŒจํ„ด์„ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

CloudWatch Logs Insights๋ฅผ ํ†ตํ•ด ํŠน์ • ๋กœ๊ทธ ๊ทธ๋ฃน์„ ์„ ํƒํ•œ ํ›„, ์ฟผ๋ฆฌ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์›ํ•˜๋Š” ํ•„๋“œ์™€ ๋ฐ์ดํ„ฐ๋งŒ ํ•„ํ„ฐ๋งํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒจํ„ด ํƒญ์„ ํ†ตํ•ด ๋กœ๊ทธ ์ด๋ฒคํŠธ์˜ ํŠน์ • ํŒจํ„ด์„ ์„ธ๋ถ€์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ๋กœ๊ทธ ๋ฐ์ดํ„ฐ์˜ ๋น„์ •์ƒ์ ์ธ ํŒจํ„ด์„ ์ž๋™์œผ๋กœ ์‹๋ณ„ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

ํŒจํ„ด ํƒญ์˜ ์„ธ๋ถ€ ๋‚ด์šฉ

์ด๋ฒคํŠธ ๊ฐœ์ˆ˜/๋น„์œจ์„ ํ†ตํ•ด ์–ด๋–ค ๋กœ๊ทธ ํŒจํ„ด์ด ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ERROR ํ‘œ์‹œ๋ฅผ ํ†ตํ•ด ๊ฐ ํŒจํ„ด์˜ ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Live Tail

์‹ค์‹œ๊ฐ„์œผ๋กœ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ํŠน์ • ์ด๋ฒคํŠธ๋‚˜ ํŒจํ„ด์„ ์‹ ์†ํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ

์‹ค์‹œ๊ฐ„ ์ด๋ฒคํŠธ ํ๋ฆ„์„ ์ง๊ด€์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. CloudWatch Logs์—์„œ Live Tail์„ ์‚ฌ์šฉํ•˜๋ฉด DevOps ํŒ€์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹œ์ž‘๋˜์—ˆ๋Š”์ง€ ๋˜๋Š” ์ƒˆ ๋ฐฐํฌ๊ฐ€ ์›ํ™œํ•˜๊ฒŒ ์ง„ํ–‰๋˜์—ˆ๋Š”์ง€ ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํŠน์ • ํ‚ค์›Œ๋“œ๋ฅผ ๊ฐ•์กฐํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ’์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

 

์ƒ์„ธ ๋กœ๊ทธ ํ™•์ธ

 

 

๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ ๋งˆ์Šคํ‚น

AWS CloudWatch Logs์—์„œ๋Š” ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋งˆ์Šคํ‚น ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์—ฌ, ๋กœ๊ทธ ๋ฐ์ดํ„ฐ์— ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐœ์ธ์ •๋ณด๋‚˜ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋กœ๊ทธ ๊ทธ๋ฃน ์ƒ์„ฑ
์ฝ˜์†”์—์„œ ์ƒˆ๋กœ์šด ๋กœ๊ทธ ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•˜๊ณ , ์ด๋ฆ„์„ dataprotection-log๋กœ ์ง€์ •

 

๋ฐ์ดํ„ฐ ๋ณดํ˜ธ ์ •์ฑ… ์ƒ์„ฑ
CreditCardNumber, CreditCardSecurityCode์™€ ๊ฐ™์€ ํ•„๋“œ๋ฅผ ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ๋กœ ์ง€์ •ํ•˜์—ฌ ๋กœ๊ทธ์— ํฌํ•จ๋  ๊ฒฝ์šฐ ํ•ด๋‹น ์ •๋ณด๋ฅผ ๋งˆ์Šคํ‚นํ•˜๋„๋ก ๊ตฌ์„ฑ

 

๋กœ๊ทธ ๊ทธ๋ฃน ๋‚ด ๋งˆ์Šคํ‚น๋œ ๋ฐ์ดํ„ฐ ํ™•์ธ
๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ ํ•„๋“œ๊ฐ€ ************๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ