Prometheus์™€ ํ˜ธํ™˜๋˜๋Š” ์‹œ๊ณ„์—ด DBMS์ธ VictoriaMetrics๋Š” ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

์—ด๋ ค ์žˆ๋Š” ์›๋ณธ ํ…์ŠคํŠธ ๋น…ํ† ๋ฆฌ์•„๋ฉ”ํŠธ๋ฆญ์Šค โ€” ์‹œ๊ณ„์—ด ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋น ๋ฅด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ DBMS(๊ธฐ๋ก์€ ์‹œ๊ฐ„๊ณผ ์ด ์‹œ๊ฐ„์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ์ง‘ํ•ฉ์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„ผ์„œ ์ƒํƒœ์— ๋Œ€ํ•œ ์ฃผ๊ธฐ์ ์ธ ํด๋ง ๋˜๋Š” ์ˆ˜์ง‘์„ ํ†ตํ•ด ์–ป์€ ๊ฐ’) ์ธก์ •ํ•ญ๋ชฉ). ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์†”๋ฃจ์…˜๊ณผ ๊ฒฝ์Ÿํ•ฉ๋‹ˆ๋‹ค. ์ธํ”Œ๋Ÿญ์ŠคDB, ํƒ€์ž„์Šค์ผ€์ผDB, Thanos, ํ”ผ์งˆ ะธ ์šฐ๋ฒ„ M3. ์ฝ”๋“œ๋Š” Go ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž Apache 2.0์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

VictoriaMetrics์˜ ์žฅ์  ๋ฐ ํŠน์ง•:

  • ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด. ์‹œ์ž‘ ์‹œ ๋ช…๋ น์ค„์„ ํ†ตํ•ด ์ „๋‹ฌ๋œ ์ตœ์†Œ ์„ค์ •์ด ํฌํ•จ๋œ ๋‹จ์ผ ์‹คํ–‰ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ์‹œ์ž‘ ์‹œ "-storageDataPath" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ํ•˜๋‚˜์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ์ฟผ๋ฆฌ ์–ธ์–ด ์ง€์› PromQL, ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ ํ”„๋กœ ๋ฉ”ํ…Œ์šฐ์Šค. PromQL ํ•˜์œ„ ์ฟผ๋ฆฌ ๋ฐ ์ผ๋ถ€๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ํ™•์žฅ๋œ ๊ธฐ๋Šฅ, "์˜คํ”„์…‹" ํ‘œํ˜„, "WIDTH", "if" ๋ฐ "๊ธฐ๋ณธ" ๋ฌธ ๋‚ด์˜ ํŒจํ„ด, ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ ์ฃผ์„์„ ํฌํ•จํ•˜๋Š” ๊ธฐ๋Šฅ;
  • ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฅ๊ธฐ ๋ฐ์ดํ„ฐ ์ €์žฅํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ทธ๋ผ ํŒŒ๋‚˜.
  • ๊ธฐ๋ก ๋ฐ์ดํ„ฐ ๋กœ๋“œ๋ฅผ ์œ„ํ•œ ๋ฐฑํ•„ ๋ชจ๋“œ ๊ฐ€์šฉ์„ฑ
  • ๋‹ค์Œ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค API, ์œ ์ž…, ์„๋ฌต ะธ ์˜คํ”ˆTSDB. VictoriaMetrics๋Š” InfluxDB์˜ ํˆฌ๋ช…ํ•œ ๋Œ€์ฒดํ’ˆ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ Telegraf์™€ ๊ฐ™์€ InfluxDB ํ˜ธํ™˜ ์ˆ˜์ง‘๊ธฐ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ณ ์„ฑ๋Šฅ ๋ฐ ๋‚ฎ์€ ๋ฆฌ์†Œ์Šค ์†Œ๋น„ ๋น„๊ต ๊ฒฝ์Ÿ ์‹œ์Šคํ…œ๊ณผ ํ•จ๊ป˜. ์ผ๋ถ€ ํ…Œ์ŠคํŠธ์—์„œ VictoriaMetrics๋Š” ์‚ฝ์ž… ๋ฐ ๊ฒ€์ƒ‰ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ InfluxDB ๋ฐ TimescaleDB๋ณด๋‹ค ์ตœ๋Œ€ 20๋ฐฐ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค. ๋ถ„์„ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ๊ด€๊ณ„ํ˜• DBMS PostgreSQL ๋ฐ MySQL์— ๋น„ํ•ด 10~1000๋ฐฐ์˜ ์ด๋“์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    Prometheus์™€ ํ˜ธํ™˜๋˜๋Š” ์‹œ๊ณ„์—ด DBMS์ธ VictoriaMetrics๋Š” ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

    Prometheus์™€ ํ˜ธํ™˜๋˜๋Š” ์‹œ๊ณ„์—ด DBMS์ธ VictoriaMetrics๋Š” ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

    Prometheus์™€ ํ˜ธํ™˜๋˜๋Š” ์‹œ๊ณ„์—ด DBMS์ธ VictoriaMetrics๋Š” ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

  • ์žˆ๋‹ค ๊ธฐํšŒ ๋งค์šฐ ๋งŽ์€ ์ˆ˜์˜ ๊ณ ์œ ํ•œ ์‹œ๊ณ„์—ด์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ๊ณ„์—ด์„ ์ฒ˜๋ฆฌํ•  ๋•Œ InfluxDB๋ณด๋‹ค ์ตœ๋Œ€ 10๋ฐฐ ์ ์€ RAM์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋””์Šคํฌ ์Šคํ† ๋ฆฌ์ง€์˜ ๋†’์€ ์ˆ˜์ค€์˜ ๋ฐ์ดํ„ฐ ์••์ถ•. TimescaleDB์— ๋น„ํ•ด ๋™์ผํ•œ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰์— ์ตœ๋Œ€ 70๋ฐฐ ๋” ๋งŽ์€ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ๊ณ  ์ดˆ๋‹น ์ž…์ถœ๋ ฅ ์ž‘์—… ์ˆ˜๊ฐ€ ์ ์€ ์Šคํ† ๋ฆฌ์ง€(์˜ˆ: ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ ๋ฐ ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€ AWS, Google Cloud ๋ฐ Microsoft Azure)์— ๋Œ€ํ•œ ์ตœ์ ํ™” ๊ฐ€์šฉ์„ฑ
  • ๊ฐ„ํŽธํ•œ ๋ฐฑ์—… ์‹œ์Šคํ…œ ๊ธฐ๋ฐ˜ ์Šค๋ƒ…์ƒท;
  • ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธด๊ธ‰ ์ •์ „์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์†์ƒ์œผ๋กœ๋ถ€ํ„ฐ ์ €์žฅ์†Œ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์˜ ๊ฐ€์šฉ์„ฑ(์ €์žฅ์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉ์ด ๊ฐ€๋Šฅํ•œ ๋กœ๊ทธ ๊ตฌ์กฐ ํŠธ๋ฆฌ);
  • Rust ๋ฐ C++์— ๋น„ํ•ด ์„ฑ๋Šฅ๊ณผ ์ฝ”๋“œ ๋ณต์žก์„ฑ ๊ฐ„์˜ ๊ท ํ˜•์„ ์ œ๊ณตํ•˜๋Š” Go ์–ธ์–ด๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
  • ์†Œ์Šค์ฝ”๋“œ ์ œ๊ณต ํด๋Ÿฌ์Šคํ„ฐ ๋ฒ„์ „, ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๊ฑธ์ณ ์ˆ˜ํ‰ ํ™•์žฅ์„ ์ง€์›ํ•˜๊ณ  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋‚ฎ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€