Back-End/Spring Study

๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๋ฐ ์‹œํ์–ด ์ฝ”๋”ฉ

Kr1 2026. 6. 4. 15:30

๐Ÿ—จ๏ธ ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜

๋ชจ๋‹ˆํ„ฐ๋ง์˜ ์ค‘์š”์„ฑ

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

๋ณด์•ˆ

  • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์€ ํ•ญ์ƒ ํ•ด์ปค๋“ค์˜ ํƒ€๊ฒŸ์ด ๋ฉ๋‹ˆ๋‹ค. ํ•ด์ปค๋“ค์€ ๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ์ทจ์•ฝ์ ์„ ์ฐพ๊ณ , ์ด๋ฅผ ์•…์šฉํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณด์•ˆ์€ ๋งค์šฐ ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค.
  • ๋ณด์•ˆ ์œ„ํ˜‘์œผ๋กœ๋ถ€ํ„ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด, ๊ฐ•๋ ฅํ•œ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ ‘๊ทผ์„ ์ œํ•œํ•˜๊ณ , ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ •๊ธฐ์ ์ธ ๋ณด์•ˆ ์ ๊ฒ€ ๋ฐ ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธ๋Š” ์‹œ์Šคํ…œ์˜ ๋ณด์•ˆ ์ƒํƒœ๋ฅผ ํ‰๊ฐ€ํ•˜๊ณ , ์ƒˆ๋กœ์šด ์œ„ํ˜‘์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์‚ฌ์ „์— ๋ฐœ๊ฒฌํ•˜๊ณ , ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ—จ๏ธ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ฐœ์š”

๋ชจ๋‹ˆํ„ฐ๋ง์ด๋ž€?

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

๋ชจ๋‹ˆํ„ฐ๋ง์˜ ์ค‘์š”์„ฑ

  • ๋ฌธ์ œ ์˜ˆ๋ฐฉ: ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ†ตํ•ด ์ž ์žฌ์ ์ธ ๋ฌธ์ œ๋ฅผ ์‚ฌ์ „์— ๋ฐœ๊ฒฌํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋น ๋ฅธ ๋Œ€์‘: ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹ ์†ํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์–ด ์‹œ์Šคํ…œ ๋‹ค์šดํƒ€์ž„์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ์ง€์ ์„ ์ฐพ์•„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ํ–ฅ์ƒ: ์•ˆ์ •์ ์ด๊ณ  ๋น ๋ฅธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋งŒ์กฑ๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.
  • ๋น„์ฆˆ๋‹ˆ์Šค ์—ฐ์†์„ฑ: ์‹œ์Šคํ…œ ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์šด์˜์˜ ์—ฐ์†์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง์˜ ๋ฒ”์œ„

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

 

๐Ÿ—จ๏ธ Spring Boot Actuator

Spring Boot Actuator๋ž€?

  • Spring Boot Actuator๋Š” Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ์™€ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
  • Actuator๋Š” ํ—ฌ์Šค ์ฒดํฌ, ๋ฉ”ํŠธ๋ฆญ์Šค, ํ™˜๊ฒฝ ์ •๋ณด, ๋กœ๊ทธ ์ •๋ณด ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

Actuator ์˜์กด์„ฑ ์ถ”๊ฐ€

implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-web'

Actuator ์—”๋“œํฌ์ธํŠธ

  • Actuator๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—”๋“œํฌ์ธํŠธ๋Š” /actuator ๊ฒฝ๋กœ ํ•˜์œ„์— ์œ„์น˜ํ•˜๋ฉฐ, ๊ฐ๊ฐ์˜ ์—”๋“œํฌ์ธํŠธ๋Š” ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • /actuator/health: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    • /actuator/metrics: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฉ”ํŠธ๋ฆญ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • /actuator/loggers: ๋กœ๊น… ์„ค์ •์„ ์กฐํšŒํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • /actuator/env: ํ™˜๊ฒฝ ๋ณ€์ˆ˜์™€ ์„ค์ • ์ •๋ณด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    • /actuator/beans: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…์ŠคํŠธ์— ์žˆ๋Š” ๋นˆ ๋ชฉ๋ก์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    • /actuator/threaddump: ์Šค๋ ˆ๋“œ ๋คํ”„๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    • /actuator/httptrace: ์ตœ๊ทผ HTTP ์š”์ฒญ ๋ฐ ์‘๋‹ต์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.

Actuator ์—”๋“œํฌ์ธํŠธ ์„ค์ •

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. application.properties ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ค์ • ์˜ต์…˜ ์„ค๋ช…
    • never: ํ—ฌ์Šค ์ฒดํฌ ์ƒ์„ธ ์ •๋ณด๋ฅผ ์ ˆ๋Œ€ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • always: ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ํ—ฌ์Šค ์ฒดํฌ ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ•ญ์ƒ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
    • when_authorized: ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ํ—ฌ์Šค ์ฒดํฌ ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค
src/main/resources/application.properties
spring.application.name=sample

server.port=8080

#๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ ๋…ธ์ถœ ์„ค์ •
management.endpoints.web.exposure.include=* 

#ํ—ฌ์Šค ์ฒดํฌ ์—”๋“œํฌ์ธํŠธ ์ƒ์„ธ ์ •๋ณด ํ‘œ์‹œ ์„ค์ •
management.endpoint.health.show-details=always # ์ด ์„ค์ •์€ /actuator/health ์—”๋“œํฌ์ธํŠธ์—์„œ ํ—ฌ์Šค ์ฒดํฌ ์ •๋ณด๋ฅผ ํ•ญ์ƒ ์ƒ์„ธํžˆ ๋ณด์—ฌ์ฃผ๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ, ํ—ฌ์Šค ์ฒดํฌ ์—”๋“œํฌ์ธํŠธ๋Š” ์š”์•ฝ๋œ ์ƒํƒœ ์ •๋ณด๋งŒ ์ œ๊ณตํ•˜๋ฉฐ, ์ƒ์„ธ ์ •๋ณด๋Š” ๋…ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

์ฃผ์˜์‚ฌํ•ญ ๋ฐ ๊ถŒ์žฅ์‚ฌํ•ญ

๋ณด์•ˆ

  • ๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋…ธ์ถœํ•˜๋Š” ์„ค์ •์€ ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ๋Š” ์œ ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ณด์•ˆ ์œ„ํ—˜์„ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์—”๋“œํฌ์ธํŠธ๋งŒ ๋…ธ์ถœํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ—ฌ์Šค ์ฒดํฌ ์—”๋“œํฌ์ธํŠธ์—์„œ ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ•ญ์ƒ ๋…ธ์ถœํ•˜๋Š” ์„ค์ • ์—ญ์‹œ ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, show-details ์„ค์ •์„ when_authorized ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์—”๋“œํฌ์ธํŠธ ๋ณดํ˜ธ

  • actuator ์ ‘๊ทผ ํฌํŠธ๋งŒ ๋‹ค๋ฅธ ํฌํŠธ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ณดํ˜ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
# ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋ณธ ํฌํŠธ๋ฅผ 8080์œผ๋กœ ์„ค์ •
server.port=8080

# Actuator ์—”๋“œํฌ์ธํŠธ๋ฅผ 19090 ํฌํŠธ์—์„œ ์„œ๋น„์Šคํ•˜๋„๋ก ์„ค์ •
management.server.port=19090
  • Spring Security๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ์—”๋“œํฌ์ธํŠธ์— ์ ‘๊ทผ ์ œ์–ด๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, /actuator ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋ณด์•ˆ ์„ค์ •์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .antMatchers("/actuator/**").authenticated()
            .and()
            .httpBasic();
    }
}

 

์‹ค์Šต

  • ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
    • start.spring.io ์— ์ ‘์†ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์ด๋ฏธ์ง€ ์ฐธ๊ณ 

  • http://localhost:8080/actuator ์— ์ ‘๊ทผํ•˜๋ฉด ํ™•์ธ ๊ฐ€๋Šฅํ•œ actuator ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.