Posts Prometheus 1
Post
Cancel

Prometheus 1

Prometheus


๐Ÿ’ฟ Node Exporter

์ฃผ๋กœ ์šด์˜ ์‹œ์Šคํ…œ ์ปค๋„์—์„œ ์˜ค๋Š” ๋จธ์‹  ์ˆ˜์ค€์˜ ๋ฉ”ํŠธ๋ฆญ์„ ๊ฒŒ์‹œํ•œ๋‹ค.

  • ์ฆ‰ ๋จธ์‹  ์ž์ฒด๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ

CPU ์ˆ˜์ง‘๊ธฐ

  • ์ฃผ์š” ๋ฉ”ํŠธ๋ฆญ: node_cpu_seconds_total: ๊ฐ ๋ชจ๋“œ์—์„œ CPU๋งˆ๋‹ค ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ–ˆ๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ์นด์šดํ„ฐ
    • ๋ ˆ์ด๋ธ”: cpu, mode
  • avg without(cpu, mode)(rate(node_cpu_seconds_total{mode=โ€idleโ€}[1m])
    • CPU๋งˆ๋‹ค ์ดˆ๋‹น ์œ ํœด ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•œ ๋‹ค์Œ ๋จธ์‹ ์—์„œ ๋ชจ๋“  CPU์˜ ํ‰๊ตฐ์„ ๊ณ„์‚ฐ

FileSystem ์ˆ˜์ง‘๊ธฐ

df ๋ช…๋ น์–ด์—์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋งˆ์šดํŠธ ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ฉ”ํŠธ๋ฆญ์„ ์ˆ˜์ง‘

  • โ€“collector.filesystem.ignored-mount-points์™€ โ€“collector.filesystem.ignored-fs-types๋Š” ํฌํ•จ๋˜๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ฃจํŠธ ์‚ฌ์šฉ์ž๋กœ Exporter๋ฅผ ์‹คํ–‰์‹œํ‚ค์ง€ ์•Š์•„์„œ ๋งˆ์šดํŠธ ์ง€์ ์—์„œ statfs ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ ์ ‘๊ทผ ๊ถŒํ•œ ํ™•์ธ
  • ๋ชจ๋“  ๋ฉ”ํŠธ๋ฆญ์— node_filesystem_ ์ ‘๋‘์–ด๊ฐ€ ๋ถ™์–ด์žˆ์Œ
  • node_filesystem_avail_bytes, node_filesystem_free_bytes
  • ์ „์ž: ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์ด ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„
    • ์‚ฌ์šฉ๋œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒฝ์šฐ: node_filesystem_avail_bytes / node_filesystem_size_bytes
  • ํ›„์ž: ์ „์ฒด inode ๊ฐœ์ˆ˜์™€ ์ด๋“ค ์ค‘ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ inode ๊ฐœ์ˆ˜ ์ด๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ๊ฐ–๊ณ  ์žˆ๋Š” ๋Œ€๋žต์ ์ธ ํŒŒ์ผ ๊ฐœ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Œ(df -i)

diskstats ์ˆ˜์ง‘๊ธฐ

/proc/diskstats์—์„œ ์–ป์€ ๋””์Šคํฌ I/O ๋ฉ”ํŠธ๋ฆญ์„ ๊ฒŒ์‹œํ•œ๋‹ค.

  • ๊ธฐ๋ณธ์ ์œผ๋กœ โ€“collector.diskstats.ignored-device๋Š” ํŒŒํ‹ฐ์…˜๊ณผ ๋ฃจํ”„๋ฐฑ ์žฅ์น˜๊ฐ™์ด ์‹ค์ œ ๋””์Šคํฌ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ๋Š” ์ œ์™ธ

netdev ์ˆ˜์ง‘๊ธฐ

node_network_ ์ ‘๋‘์–ด์™€ device ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•ด ๋„คํŠธ์›Œํฌ ๋””๋ฐ”์ด์Šค์— ๋Œ€ํ•œ ๋ฉ”ํŠธ๋ฆญ์„ ๊ฒŒ์‹œํ•œ๋‹ค.

  • ์ฃผ์š” ๋ฉ”ํŠธ๋ฆญ
    • node_network_receive_bytes_total
    • node_network_transmit_bytes_total
    • node_network_receive_packets_total
    • node_network_transmit_packets_total

meminfo ์ˆ˜์ง‘๊ธฐ

/proc/meminfo์—์„œ ์–ป๋Š” ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ํ‘œ์ค€ ๋ฉ”ํŠธ๋ฆญ์„ ๊ฐ–๊ณ  ์žˆ์Œ

  • ์ฃผ์š” ๋ฉ”ํŠธ๋ฆญ
    • node_memory_MemTotal_bytes: ๋จธ์‹ ์˜ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ ์ด๋Ÿ‰
      • ํ•˜์ง€๋งŒ ์‚ฌ์šฉ๋œ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๋ฉ”ํŠธ๋ฆญ์€ ์—†์Œ
      • ๋‹ค๋ฅธ ๋ฉ”ํŠธ๋ฆญ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ ์–‘๋„ ๊ณ„์‚ฐํ•ด์•ผํ•จ
    • node_memory_MemFree_bytes: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์ด๋Ÿ‰
      • ๋ณด์œ ํ•œ ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์—ฌ์œ ๋ถ„์ด๋ผ๋Š” ๊ฒƒ์€ ์•„๋‹˜
      • ์ด๋ก ์ ์œผ๋กœ, ํŽ˜์ด์ง€ ์บ์‹œ๋Š” ์“ฐ๊ธฐ ๋ฒ„ํผ์ฒ˜๋Ÿผ ๋‹ค์‹œ ํ™•๋ณด๋  ์ˆ˜ ์žˆ์ง€๋งŒ ์„ฑ๋Šฅ์— ๋ถ€์ •์  ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Œ
      • slab๊ณผ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”๊ฐ™์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ปค๋„ ๊ตฌ์กฐ๋“ค๋„ ์žˆ์Œ
    • node_memory_MemAvailable๋Š” ์ปค๋„์—์„œ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ฒƒ
      • ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๋ฅผ ๊ฐ์ง€ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ

hwmon ์ˆ˜์ง‘๊ธฐ

๋ฒ ์–ด ๋ฉ”ํƒˆ์˜ ๊ฒฝ์šฐ hwmon ์ˆ˜์ง‘๊ธฐ๋Š” ์˜จ๋„, ํŒฌ ์†๋„ ๋“ฑ node_hwmon_ ์ ‘๋‘์–ด๋ฅผ ๊ฐ–๋Š” ๋ฉ”ํŠธ๋ฆญ์„ ์ œ๊ณต

stat ์ˆ˜์ง‘๊ธฐ

/proc/stat์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ์„ฑ๊ฒฉ์˜ ๋ฉ”ํŠธ๋ฆญ

  • ์ฃผ์š” ๋ฉ”ํŠธ๋ฆญ
    • node_boot_time_seconds: ์ปค๋„์ด ์‹œ์ž‘๋œ ์‹œ๊ฐ„
    • node_intr_total: ๋ˆ„์ ๋œ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ ๊ฐœ์ˆ˜
      • ๋†’์€ ์นด๋””๋„๋ฆฌํ‹ฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”

uname ์ˆ˜์ง‘๊ธฐ

node_uname_info ๊ฒŒ์‹œ

loadavg ์ˆ˜์ง‘๊ธฐ

๊ฐ๊ฐ 1๋ถ„, 5๋ถ„, 15๋ถ„ ๋ถ€ํ•˜ ํ‰๊ท ์„ ์˜๋ฏธํ•˜๋Š” node_load1/5/15 ๋ฉ”ํŠธ๋ฆญ ์ œ๊ณต

  • ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” ์‹คํ–‰ ๋Œ€๊ธฐ์—ด์—์„œ ๋Œ€๊ธฐ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ๊ฐœ์ˆ˜ ๋ฟ ์•„๋‹ˆ๋ผ I/O๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ™์ด ์ธํ„ฐ๋ŸฝํŠธ ํ•  ์ˆ˜ ์—†๋Š” ํ”„๋กœ์„ธ์Šค๋„ ์˜๋ฏธ

textfile ์ˆ˜์ง‘๊ธฐ

์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ํŒŒ์ผ์—์„œ ๊ฐ€์ ธ์˜ด

  • ์ปค๋„์—์„œ ์•ˆ๊ฐ€์ ธ์˜ด

๐Ÿ’ฟ Service Discovery

๋™์ ํ™˜๊ฒฝ์—์„œ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋˜๋Š” ๋จธ์‹  ์ •๋ณด๋ฅผ ๋งค๋ฒˆ prometheus.yml์— ์ง์ ‘ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์„ฑ๊ฐ€์‹  ์ผ์ด๋‹ค.

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

### ๋ฉ”์ปค๋‹ˆ์ฆ˜

์„œ๋น„์Šค ๊ฒ€์ƒ‰์€ ๋จธ์‹  ๋ชฉ๋ก์„ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ์ด๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ๋งŒ์ด ์•„๋‹ˆ๋ผ ์‹œ์Šคํ…œ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋‚˜ํƒ€๋Š” ์ข€ ๋” ์ผ๋ฐ˜์ ์ธ ๊ด€์‹ฌ์‚ฌํ•ญ ๊ฐ™์€ ๊ฒƒ

  • ๋”ฐ๋ผ์„œ ๋จธ์‹ ๋“ค์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ ์–ด๋–ค ์ƒ๋ช…์ฃผ๊ธฐ๋กœ ์šด์˜๋˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ทœ์น™๋„ ํ™•๋ณด
  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค.
    • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ: ์„œ๋น„์Šค ์ด๋ฆ„, ์„ค๋ช… ์„œ๋น„์Šค ๋ณด์œ  ํŒ€, ๊ตฌ์กฐํ™”๋œ ํƒœ๊ทธ๋“ฑ
    • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋Œ€์ƒ ๋ ˆ์ด๋ธ”๋กœ ๋ณ€ํ™˜๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋” ์ข‹๋‹ค.
  • ์ƒํ–ฅ์‹: ์ปจ์„ค์ฒ˜๋Ÿผ ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค๋ฅผ ๋“ฑ๋กํ•  ๋•Œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์„ฑํ•ด ์„œ๋น„์Šค ๊ฒ€์ƒ‰ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ํ•จ๊ป˜ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ์‹
    • ์„œ๋น„์Šค ์‹คํ–‰ ์‹œ, ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•œ ๋ณ„๋„์˜ ์ ˆ์ถฉ ๊ณผ์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ
    • ๋”ฐ๋ผ์„œ App ์ธ์Šคํ„ด์Šค๊ฐ€ ๋“ฑ๋ก๋˜๊ธฐ ์ „์— ์ค‘๋‹จ๋œ ๊ฒฝ์šฐ์™€ ๊ฐ™์€ ์ƒํ™ฉ์„ ๊ฐ์ง€
  • ํ•˜ํ–ฅ์‹: EC2 ์ฒ˜๋Ÿผ ์„œ๋น„์Šค ๊ฒ€์ƒ‰ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์Šค์Šค๋กœ ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์–ด๋–ค ํ•ญ๋ชฉ์ด ์žˆ์–ด์•ผ ํ•˜๋Š”์ง€ ํŒŒ์•…ํ•˜๊ณ  ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹
    • ์–ด๋–ค ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰๋  ์˜ˆ์ •์ด์—ˆ์ง€๋งŒ ์‹ค์ œ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๋ฅผ ์‰ฝ๊ฒŒ ๊ฐ์ง€
This post is licensed under CC BY 4.0 by the author.

Prometheus 0

Golang Slice