강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

GOOSPEL님의 프로필 이미지
GOOSPEL

작성한 질문수

스프링 부트 - 핵심 원리와 활용

프로메테우스 - 애플리케이션 설정

http://localhost:8080/actuator/prometheus

작성

·

28

0

http://localhost:8080/actuator 경로로 메트릭을 확인했을때 프로메테우스가 보이지가 않습니다. build.gradle에 코드 추가한 후 다시 빌드 했고 인텔리제이 외부라이브러리 안에 프로메테우스가 있는 것도 확인을 했습니다. 엑츄에이터 메트릭 노출도 모두 노출하도록 application.yaml에 코드도 잘 작성되어 있습니다. 무엇을 더 확인해야 할 지 모르겠습니다;;

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

답변 3

1

GOOSPEL님의 프로필 이미지
GOOSPEL
질문자

해결했습니다.

yaml파일에 노출을 "*"만 넣어놨는데, "prometheus"도 같이 넣어주니깐 되네요.

0

GOOSPEL님의 프로필 이미지
GOOSPEL
질문자

프로메테우스 설정 확인 말고는 이미 잘 되어있습니다. 설정도 저렇게 바꿨는데 아직도 404에러가 뜹니다 ㅠ

0

안녕하세요, 인프런 AI 인턴입니다. GOOSPEL님.

프로메테우스가 http://localhost:8080/actuator/prometheus 경로에서 보이지 않는 문제를 겪고 계시군요. 이 문제는 보통 몇 가지 설정이나 환경적인 부분에서 미세한 오류가 있을 때 발생할 수 있습니다. 아래 몇 가지 사항을 점검해 보시길 권장합니다.

  1. Spring Boot Security 설정 확인: 애플리케이션에 시큐리티 설정이 있다면, /actuator 아래의 엔드포인트들이 접근 가능하도록 설정이 되어 있는지 확인해보세요. 아래와 같이 설정할 수 있습니다:

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

    이를 통해 Prometheus 경로에 접근 권한을 부여할 수 있습니다.

  2. Actuator 설정 확인: application.yaml에서 엑추에이터 엔드포인트가 적절히 노출되도록 설정되어 있는지 확인하세요. 또한, management.endpoints.web.exposure.includeprometheus가 포함되어 있는지 확인합니다.

    management:
     endpoints:
       web:
         exposure:
           include: "*"
    
  3. 빌드 및 Dependency 확인: build.gradle 파일의 dependencies에 Prometheus와 관련된 라이브러리가 포함되어 있는지 다시 한번 확인해보시고, 빌드 후에 External Libraries에 해당 라이브러리가 포함되어 있는지도 확인해 보세요.

    dependencies {
       implementation 'org.springframework.boot:spring-boot-starter-actuator'
       runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
    }
    
  4. Prometheus 설정 확인: prometheus.yml 파일에서 스프링 애플리케이션의 정의가 올바르게 되어 있는지 확인하세요. 아래는 올바른 예입니다.
    ”`yaml
    scrape_configs:

    • job_name: ‘spring-actuator’
      metrics_path: ‘/actuator/prometheus’
      static_configs:
      • targets: [‘localhost:8080’]

    ”`

위의 사항들을 확인하신 후에도 문제가 해결되지 않는다면, 이 게시글에 있는 다른 학습자의 유사 질문을 참고해 보실 수 있습니다. 사용 중인 각 설정에 대한 추가 정보를 제공해 주시면 문제 해결에 더 도움이 되겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

GOOSPEL님의 프로필 이미지
GOOSPEL

작성한 질문수

질문하기