๐Ÿ“บ EC2์—์„œ Grafana, Prometheus๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ

ํ…์ €๋ฆฐํ‹ฐยท2023๋…„ 12์›” 13์ผ
2
post-thumbnail

๐ŸŽฏย ์‚ฌ๊ฑด์˜ ๋ฐœ๋‹จ

ํŒ€ํ”Œ MVP๋ฅผ ๋ชจ๋‘ ๊ตฌํ˜„ ์™„๋ฃŒํ•œ ์‹œ์ ์—์„œ ํ•ด์•ผํ•  ๊ฒƒ์€ ๋ช…ํ™•ํ–ˆ๋‹ค.

  1. ๋ฆฌํŒฉํ† ๋ง
  2. ์„ฑ๋Šฅ ๊ฐœ์„ 
  3. ๊ธฐ๋Šฅ ์ถ”๊ฐ€

์ผ๋‹จ ๋ฆฌํŒฉํ† ๋ง์œผ๋กœ ๊ผด๋ณด๊ธฐ ์‹ซ์€ ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์ƒˆ๋กœ ๋งž์ถฐ๋†“๊ณ , ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์œ„ํ•ด์„œ ์ •๋Ÿ‰ ์ง€ํ‘œ๋ฅผ ์–ป์–ด ๋น„๊ตํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ–ˆ๋‹ค.

๋ง‰๋ง‰ํ•˜๋˜ ์ฐจ์— ๊ทธ๋ผํŒŒ๋‚˜, ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค๋ผ๋Š” ์ข‹์€ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

์ด ๊ธ€์„ ํ†ตํ•ด ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค๊ณ , ์„ฑ๋Šฅ์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋งˆ๋ จํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

๐Ÿงณย ์ค€๋น„๋ฌผ

  • ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์ƒ ์„œ๋ฒ„ EC2
  • ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„ EC2
  • Spring Actuator
  • Prometheus
  • Grafana
  • ์–ต๊นŒ์—๋„ ๊ตณ๊ฑดํ•œ ์ •์‹ ๋ ฅ

๐Ÿ›๏ธย ๊ตฌ์กฐ

๐Ÿงฎย ์ง„ํ–‰๊ณผ์ •

๋งˆ์ง€๋ง‰์— docker compose ๋กœ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์ถ”๊ฐ€ํ•ด๋†จ๋‹ค.
ใ„นใ…‡ ๊ฐ„๋‹จํ•จ

1๏ธโƒฃย ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์ƒ ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ

๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์ƒ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

๋…ธํŒŒ์‹ฌ์— ๋งํ•˜๋Š”๋ฐ, ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„๋Š” ๋”ฐ๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์„œ๋น„์Šค์— ํ•„์š”ํ•œ ์ž์›๊ณผ ํŠธ๋ž˜ํ”ฝ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์— ์˜ํ•ด์„œ ์ค„์–ด๋“ค ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ผ๋‹จ ์•„๋งˆ์กด EC2๋ฅผ ํ™œ์šฉํ•ด์„œ ์„œ๋น„์Šค ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ๋”ฐ๋กœ ์ƒ์„ฑ๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.

2๏ธโƒฃย ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์ƒ ์„œ๋ฒ„์— Spring Actuator, Prometheus ์—ด์–ด๋‘๊ธฐ

์šฐ๋ฆฐ ์ด ์„œ๋ฒ„์— Spring FrameWork ์—์„œ ์ œ๊ณตํ•˜๋Š” Actuator ๋ฅผ ํ™œ์šฉํ•ด์„œ ๋ชจ๋‹ˆํ„ฐ๋ง ์ง€ํ‘œ๋ฅผ ์ˆ˜์ง‘ํ• ๊ฑฐ๋‹ค.

Loki, Node Exporter, Spring Actuator ๋“ฑ ์—ฌ๋Ÿฌ ์ง€ํ‘œ๊ฐ€ ์žˆ์œผ๋‚˜ ๋‚˜๋Š” Spring Actuator ๋ฅผ ์ผ๋‹ค.

์ผ๋‹จ ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ์ ์šฉํ•˜๊ธฐ ํ›จ์”ฌ ์‰ฝ๊ณ  ๋น ๋ฅด๋‹ค.

์ผ๋‹จ ๋‚˜์ค‘์— ๋” ๋น„๊ตํ•ด๋ณด๊ธฐ๋กœ ํ•จ.

์„œ๋ฒ„์— ์ ์šฉํ•˜๋Ÿฌ ๊ฐ€๋ณด์ฆˆ์•„.

๋นŒ๋“œ ์ข…์†์„ฑ ์ถ”๊ฐ€

# build.gradle

dependencies {

	// Spring Actuator
    implementation 'org.springframework.boot:spring-boot-starter-actuator'

	// Prometheus
    runtimeOnly 'io.micrometer:micrometer-registry-prometheus'

}

๋ชจ๋‹ˆํ„ฐ๋ง ํ”„๋กœํŒŒ์ผ ์„ค์ •

monitoring ํ”„๋กœํŒŒ์ผ๋กœ ์„ค์ •ํ•œ ๋‚ด์šฉ์ด๋‹ค.

ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ 9292๋กœ ํ–ˆ๋‹ค.

Spring Actuator ๊ธฐ๋ณธ ํฌํŠธ๋Š” 9090 ์ด๋‹ค.

ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ”๊พผ ์ด์œ ๋Š” ๋ณด์•ˆ ๋•Œ๋ฌธ.

ํฌํŠธ๋ฅผ ์ž„์˜๋กœ ๋ณ€๊ฒฝํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ์€ ์‰ฝ๊ฒŒ ์˜ˆ์ธก์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.

๋‹ค๋ฅธ ๋ถ€๋ถ„์€ Spring Actuator ๋ฅผ ํ†ตํ•ด์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ Endpoint ๋ฅผ ์„ค์ •ํ–ˆ๋‹ค.

include ๋ฅผ ํ†ตํ•ด ์„ค์ •ํ–ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์›ํ•˜๋Š” ์—”๋“œ ํฌ์ธํŠธ๋ฅผ ์—ด์–ด๋‘˜ ์ˆ˜๋„ ์žˆ๊ณ , include: โ€˜*โ€™ ์™€ ๊ฐ™์ด ๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ๋ฅผ ์—ด์–ด๋‘˜ ์ˆ˜๋„ ์žˆ๋‹ค.

# application-monitoring.yml

management:
  server:
    port: 9292
  endpoint:
    metrics:
      enabled: true
    prometheus:
      enabled: true

  endpoints:
    web:
      exposure:
        include: health, info, metrics, prometheus

๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ •

EC2 ์ธ์Šคํ„ด์Šค > ๋ณด์•ˆ ๊ทธ๋ฃน > ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™

์ด๊ฑธ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

๋ณด๋˜ ๋ฐ”์™€ ๊ฐ™์ด 9292 ํฌํŠธ๋กœ ์—ด์–ด๋‘” ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์„ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.

์›๋ณธ CM์€ 0.0.0.0/0 ์œผ๋กœ ๋ชจ๋“  ์ธ๋ฐ”์šด๋“œ๋ฅผ ํ—ˆ์šฉํ–ˆ๋‹ค.

๋๋Š”์ง€ ํ™•์ธ

http://{IP์ฃผ์†Œ}:ํฌํŠธ๋ฒˆํ˜ธ/actuator ๋กœ ์ ‘๊ทผํ–ˆ์„๋•Œ

์ด๋ ‡๊ฒŒ ์„ค์ •์— ์ถ”๊ฐ€ํ•œ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ๋ณด์ด๋ฉด ๋œ๊ฑฐ๋‹ค.

3๏ธโƒฃย ๋ชจ๋‹ˆํ„ฐ๋ง ์šฉ EC2 ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ

์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋‹ค. ์„œ๋น„์Šค์šฉ ์„œ๋ฒ„์™€ ํŠธ๋ž˜ํ”ฝ, ์ž์›์„ ๋‚˜๋ˆ ์“ฐ์ง€ ์•Š๋„๋ก ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„๋ฅผ ๋”ฐ๋กœ ๊ตฌ์ถ•ํ•ด์•ผ ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.

๋‹ค๋ฅธ EC2 ์™€ ๋ณ„๋‹ค๋ฅธ ์ฐจ์ด์ ์€ ์—†๋‹ค.

์•„์ง ์ŠคํŠธ๋ ˆ์Šค ํ…Œ์ŠคํŠธ๋ฅผ ์ƒ์ •ํ•˜์ง€๋Š” ์•Š์•„์„œ ํ”„๋ฆฌํ‹ฐ์–ด micro ์ธ์Šคํ„ด์Šค๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.

๋น„์‹ธ๊ธด ํ•˜์ง€๋งŒ, ํƒ„๋ ฅ์  IP๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋งค๋ฒˆ ํผ๋ธ”๋ฆญ IP ์ฃผ์†Œ๋กœ ์ ‘๊ทผํ•˜์ง€ ์•Š๋„๋ก ํ–ˆ๋‹ค.

์ฐธ๊ณ ๋กœ, Amazon Linux ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.

4๏ธโƒฃย ๋ชจ๋‹ˆํ„ฐ๋ง ์šฉ ์„œ๋ฒ„์— ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ์„ค์น˜ํ•˜๊ธฐ

๋ฐฉ๊ธˆ ๋งŒ๋“  EC2 ์ธ์Šคํ„ด์Šค ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค๋ฅผ ์„ค์น˜ํ• ๊ฑฐ๋‹ค.

์ตœ์‹ ๋ฒ„์ „ ์„ค์น˜ ใ„ฑใ„ฑ

Download | Prometheus

  1. ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ์„ค์น˜
  2. ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ์••์ถ•ํ•ด์ œ
  3. ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค yml ์„ค์ •
  4. ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค service ๋“ฑ๋ก
  5. ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค service ์‹คํ–‰

ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ์„ค์น˜

wget https://github.com/prometheus/prometheus/releases/download/v2.45.1/prometheus-2.45.1.linux-amd64.tar.gz

ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ์••์ถ•ํ•ด์ œ

tar xzvf prometheus-2.45.1.linux-amd64.tar.gz

ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค yml ์„ค์ •

๋จผ์ € ์••์ถ• ํ•ด์ œํ•œ ํด๋”๋กœ ์ด๋™ํ•ด์„œ ์„ค์ •ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.

-- yml ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ๋กœ๋กœ ์ด๋™
cd prometheus-2.45.1.linux-amd64/

-- prometheus yml ํŒŒ์ผ ์„ค์ •
sudo vim prometheus.yml

ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ธํŒ…๋˜๋Š” yml ํŒŒ์ผ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•  ๊ฒƒ์€ ์•„๋ž˜ ์ฝ”๋“œ๋กœ ๋นผ๋†จ๋‹ค.

์•„๋ž˜๋Œ€๋กœ ์„ค์ •ํ•œ ํ›„์— ESC + :wq ๋กœ yaml ํŒŒ์ผ์„ ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค.

scrape_configs:
    -- ์ž‘์—… ์ด๋ฆ„ (์•”๊ฑฐ๋‚˜ ๊ฐ€๋Šฅ)
	- job_name: "prometheus"

		-- ์ง€ํ‘œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ฃผ๊ธฐ
		scrape_interval: 3s

		-- ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ์ ‘๊ทผํ•˜๋Š” endpoint ๊ฒฝ๋กœ
		metrics_path: '/actuator/prometheus'

		-- ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ๊ฐ€์ ธ์˜ค๋Š” ๋Œ€์ƒ ์„œ๋ฒ„ ๋„๋ฉ”์ธ
		static_configs:
			- targets: ["{๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์ƒ IP์ฃผ์†Œ}:{๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์ƒ ํฌํŠธ๋ฒˆํ˜ธ}"]

ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค service ๋“ฑ๋ก

๋ชจ๋‹ˆํ„ฐ๋ง EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹คํ–‰๋˜๋ฉด ๋ฐ”๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ํ•˜๊ณ  ์‹ถ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์„œ๋น„์Šค๋ฅผ ๋“ฑ๋กํ•ด์•ผ ํ•œ๋‹ค.

-- system ์œผ๋กœ ์ด๋™
cd /etc/systemd/system

-- prometheus ์„œ๋น„์Šค ํŒŒ์ผ ์ƒ์„ฑ
sudo vim prometheus.service

์ด ๋‚ด์šฉ์„ ๋ณต๋ถ™ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๊ทผ๋ฐ ์›๋ž˜ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋Š” ๋‚ด์šฉ๊ณผ ๋ณ„ ์ฐจ์ด ์—†์„๊ฑฐ์ž„.

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
restart=on-failure
ExecStart=/etc/prometheus/prometheus \
		--config.file=/etc/prometheus/prometheus.yml \
        --storage.tsdb.path=/var/lib/prometheus \
        --web.console.templates=/etc/prometheus/console \
        --web.console.libraries=/etc/prometheus/console_libraries \
        --web.listen-address=0.0.0.0:9090 \
        --web.external-url=
        
[Install]
WantedBy=multi-user.target

ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค service ์‹คํ–‰

-- ์„œ๋น„์Šค ์ข…๋ฃŒ (์•ˆํ•ด๋„ ๋จ)
-- ๊ทผ๋ฐ ๋งŒ์•ฝ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋จผ์ € ๋ฉˆ์ถฐ์•ผ ํ•จ.
sudo systemctl stop prometheus.service

-- ๋ฐ๋ชฌ ๋‹ค์‹œ๋กœ๋”ฉ
sudo systemctl daemon-reload

-- ์„œ๋น„์Šค ์žฌ์‹œ์ž‘
sudo systemctl restart prometheus.service

-- ์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ
sudo systemctl status prometheus.service

์ด๋ ‡๊ฒŒ active(running) ์ด๋ฉด, ์„ฑ๊ณต์ด๋‹ค.

๊ทธ ์ „์— ๋ณด์•ˆ ๊ทธ๋ฃน์œผ๋กœ ํ•ด๋‹น ํฌํŠธ๋ฅผ ์—ด์–ด๋‘์ž.

๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ •ํ•˜๊ธฐ

9090 ํฌํŠธ๋ฅผ ์—ด์–ด์•ผ ํ•œ๋‹ค.

์œ„์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค.

ํ™•์ธํ•˜๊ธฐ!

http://{๋ชจ๋‹ˆํ„ฐ๋ง์„œ๋ฒ„IP}:9090

ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค๋Š” ๊ธฐ๋ณธ ํฌํŠธ๊ฐ€ 9090์ด๋‹ค.

ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ์š”์ฒญํ•˜๋ฉด ์ด ํŽ˜์ด์ง€๊ฐ€ ๋‚˜์˜จ๋‹ค.

์•ˆ ๋‚˜์˜ค๋ฉด ์œ„ ๋ฐฐ๋„ˆ์—์„œ status > targets

5๏ธโƒฃย ๋ชจ๋‹ˆํ„ฐ๋ง ์šฉ ์„œ๋ฒ„์— ๊ทธ๋ผํŒŒ๋‚˜ ์„ค์น˜ํ•˜๊ธฐ

์—ฌ๊ธฐ๊นŒ์ง€ ๋˜์—ˆ์œผ๋ฉด ์ž˜ ๋œ ๊ฑฐ๋‹ค.

์ด์ œ ์ง€ํ‘œ๋ฅผ ์–ป์„ ์ˆ˜๋„ ์žˆ๊ณ , ์‹ค์ œ๋กœ ์–ป๊ธฐ๋„ ํ–ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด๊ฑธ ํ†ตํ•ด์„œ ๊ทธ๋ผํŒŒ๋‚˜๋ผ๋Š” UI ๋ฅผ ํ†ตํ•ด ํ™”๋ฉด์— ๋„์›Œ, ์šฐ๋ฆฌํŒ€ ์ „์ฒด๊ฐ€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉด ๋œ๋‹ค.

๊ทธ๋ผํŒŒ๋‚˜ ์„ค์น˜

์ตœ์‹ ๋ฒ„์ „ ใ„ฑใ„ฑ

์ฐธ๊ณ ๋กœ ์šฐ๋ฆฌ๋Š” ์•„๋งˆ์กด ๋ฆฌ๋ˆ…์Šค ๋ฒ„์ „์œผ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.

Download Grafana | Grafana Labs

-- ์„ค์น˜
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.2.linux-amd64.tar.gz

๊ทธ๋ผํŒŒ๋‚˜ ์••์ถ•ํ•ด์ œ

-- ์••์ถ• ํ•ด์ œ
tar -zxvf grafana-enterprise-10.2.2.linux-amd64.tar.gz

๊ทธ๋ผํŒŒ๋‚˜ ์„œ๋น„์Šค ์„ค์ •

sudo systemctl enable grafana-server.service
sudo systemctl start grafana-server.service
sudo systemctl status grafana-server.service

๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ •

์„ค์น˜ ๋‹ค ํ–ˆ์œผ๋ฉด ๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.

๊ทธ๋ผํŒŒ๋‚˜ ๊ธฐ๋ณธ ํฌํŠธ๋Š” 3000์ด๋‹ค.

์ด๊ฑธ ์—ด์–ด์ฃผ๋ฉด ๋œ๋‹ค.

ํ™•์ธํ•˜๊ธฐ!

http://{๋ชจ๋‹ˆํ„ฐ๋งIP}:3000

ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๋ฉด ๊ทธ๋ผํŒŒ๋‚˜ ๋กœ๊ทธ์ธ ์ฐฝ์ด ๋œฌ๋‹ค.

์ดˆ๊ธฐ ID / PassWord ๋Š” admin / admin ์ด๋‹ค.

Data Sources ์„ค์ •ํ•˜๊ธฐ

์ด๋ ‡๊ฒŒ ๋˜๋„๋ก ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๋ณ„๊ฑฐ ์—†๋‹ค.

ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ์„ค์ •ํ•˜๊ณ , ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„ IP:ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๋Œ€์‹œ๋ณด๋“œ ์„ค์ •ํ•˜๊ธฐ

์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

  1. ์ง์ ‘ ๋Œ€์‹œ๋ณด๋“œ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•
  2. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“ ๊ฑฐ import ํ•ด์˜ค๋Š” ๋ฐฉ๋ฒ•
  3. ๋‹ค๋ฅธ๊ฑฐ ๋ญ ํ•˜๋‚˜ ๋”

๋‚˜๋Š” Spring Boot 2.1 System Monitor ๋ฅผ import ํ•ด์„œ ๋Œ€์‹œ๋ณด๋“œ๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค.

์ด์ œ ์ด ํ™”๋ฉด์œผ๋กœ ์šฐ๋ฆฌํŒ€์€ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๊ฑฐ๋‹ค.

Docker Compose ๋กœ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š”๋ฒ•

services:
  prometheus:
    image: prom/prometheus:main
    container_name: prometheus
    restart: always
    ports:
      - '{ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ํฌํŠธ๋ฒˆํ˜ธ}:{ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ํฌํŠธ๋ฒˆํ˜ธ}'
    volumes:
      - ./prometheus.yaml:/etc/prometheus/prometheus.yml

  grafana:
    image: grafana/grafana:main
    container_name: grafana
    restart: always
    ports:
      - '{๊ทธ๋ผํŒŒ๋‚˜ ํฌํŠธ๋ฒˆํ˜ธ}:{๊ทธ๋ผํŒŒ๋‚˜ ํฌํŠธ๋ฒˆํ˜ธ}'

๐ŸŽย ๊ฒฐ๋ก 

์„ฑ๋Šฅ ๊ฐœ์„ ์— ๋Œ€ํ•œ ์ •๋Ÿ‰ ์ง€ํ‘œ๋ฅผ ๋ฐ”๋กœ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋งˆ๋ จํ–ˆ๋‹ค.

์ด์ œ๋Š” ๊ฐ์ด๋‚˜, ํ…Œ์ŠคํŠธ๋กœ๋งŒ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์‹ค์ œ๋กœ ํ”„๋ก ํŠธ์—์„œ ์š”์ฒญ์„ ๋‚ ๋ ค๋ณด๊ณ  ์–ด๋–ค ์ž‘์—…์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

์ผ๋ฐ˜ ์œ ์ €์—๊ฒŒ๋„ ๋ฐฐํฌํ•ด์„œ ํ™•์ธํ•˜๊ฒŒ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.

profile
๊ฐœ๋ฐœํ•˜๊ณ  ๋งํ…Œ์•ผ

2๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2024๋…„ 2์›” 2์ผ

์ข‹์€ ๊ธ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์ฝ์œผ๋ฉด์„œ ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ์–ด์š” ๐Ÿ™‡โ€โ™€๏ธ

1๊ฐœ์˜ ๋‹ต๊ธ€