Prometheus

Prometheus ๋ž€(=Open Source Monitoring System)

Prometheus collects and stores its metrics as time series data, i.e. metrics information is stored with the timestamp at which it was recorded, alongside optional key-value pairs called labels.

๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์— ์—ฌ๋Ÿฌ ์„ค๋ช…์ด ์žˆ์ง€๋งŒ ์œ„ ๋ฌธ๊ตฌ๊ฐ€ ๊ฐ€์žฅ ํ•ต์‹ฌ์ด๋ผ ์ƒ๊ฐํ•ด์„œ ๊ฐ€์ ธ์™”๋‹ค. ์œ„ ๋ฌธ์žฅ์„ ์ •๋ฆฌํ•˜๋ฉด Prometheus๋Š” metric์„ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์‹œ๊ณ„์—ด๋กœ ์ €์žฅํ•˜๋ฉฐ ์ด metric์€ ์‹œ๊ณ„์—ด์ธ ๋งŒํผ ๊ฐ ๋ฐ์ดํ„ฐ๋งˆ๋‹ค timestamp ๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ณ , ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์€ label ์ด๋ผ ๋ถˆ๋ฆฌ์šฐ๋Š” key-value ๋ฐฉ์‹์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

์ •ํ™•ํ•˜๊ฒŒ๋Š” ๊ฐ ๋ฐ์ดํ„ฐ๊ฐ€ timestamp๋ฅผ ๊ฐ–๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ Prometheus๊ฐ€ ์ž„์˜๋กœ ํŒ๋‹จํ•œ ํŠน์ • ์‹œ์ ์— key-value ์— ํ•ด๋‹นํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ(metric)๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š”๋ฐ ์ด๊ฑธ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๊ณ„์† ๋ฐ˜๋ณตํ•œ๋‹ค๋Š” ์˜๋ฏธ๋กœ ๋ณด์ธ๋‹ค.

Prometheus ๊ตฌ์„ฑ

์—ฌ๊ธฐ์„œ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•  ๋Œ€์ƒ์ธ Application ์€ ์ขŒ์ธก ํ•˜๋‹จ์˜ Prometheus targets ์ด๋‹ค. Prometheus target์ด ๋˜๋Š” exporters ๋“ค์€ Prometheus ๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ pull ํ•  ๋•Œ ์‚ฌ์šฉํ•  endpoint๋ฅผ ์ œ๊ณตํ•˜๊ณ , Prometheus๊ฐ€ ์ด๋ฅผ pullํ•˜๋Š” ํ–‰์œ„๋ฅผ job ์ด๋ผ๊ณ  ์„ค์ •ํ•˜์—ฌ ํ–‰ํ•ด์ง„๋‹ค.

Last updated