스프링 부트 액추에이터 상태 엔드 포인트 + 동적 resilience4j 회로 차단기

derabbink :

resilience4j AOP 기반 @CircuitBreakers 를 사용하는 스프링 부트 앱이 있습니다.

이제 /actuator/health끝점 에서 회로 차단기의 정보를 사용할 수 있도록하고 싶지만 JSON 출력 의 문서설명 된details.circuitBtreakers 개체가 표시 되지 않습니다 .

내가 뭘 잘못하고 있죠?


이에 비해 동적 캐시 정보를 /actuator/metrics엔드 포인트 에 표시 하려면 소량의 사용자 지정 연결이 필요했지만 이는 잘 문서화되어 있습니다. 동적으로 정의 된 @CircuitBreakers를 /actuator/health엔드 포인트에 등록하도록 신청할 수있는 유사한 트릭이 있는지 궁금 합니다.

MyService.java:

@Service
public class MyService {
    @Autowired
    private CacheManager cacheManager;
    @Autowired
    private CacheMetricsRegistrar cacheMetricsRegistrar;

    @PostConstruct
    public void postConstruct() {
        // On-the-fly defined (annotation-based) caches are not auto-registered with micrometer metrics.
        final Cache cache = cacheManager.getCache("myCache");
        cacheMetricsRegistrar.bindCacheToRegistry(cache);
    }

    @CircuitBreaker(name = "myCB", fallbackMethod = "fallbackCallAnApi")
    public String callAnApi() throws RestClientException {
        // ...
    }

    @Cacheable("myCache")
    public String getSomethingCacheable() {
        // ...
    }
}

application.properties:

resilience4j.circuitbreaker.configs.default.registerHealthIndicator=true
management.endpoints.web.expose=health,metrics
management.endpoints.web.exposure.include=health,metrics
management.endpoint.health.enabled=true
management.endpoint.metrics.enabled=true
management.metrics.enable.resilience4j.circuitbreaker.calls=true
management.health.circuitbreakers.enabled=true
로버트 윙클러 :

HealthIndicator 끝점에 대한 CircuitBreakers를 동적으로 등록하는 것은 현재 작동하지 않습니다. 안타깝게도 다음과 같이 구성해야합니다.

resilience4j.circuitbreaker:
    configs:
        default:
            registerHealthIndicator: true
    instances:
        myCB:
            baseConfig: default

버그라고 말할 수 있습니다.

https://github.com/resilience4j/resilience4j/blob/master/resilience4j-spring-boot2/src/main/java/io/github/resilience4j/circuitbreaker/monitoring/health/CircuitBreakersHealthIndicator.java#L99-L102

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Resilience4j 회로 차단기 링 비트 버퍼 크기 구성

스프링 부트 액추에이터 상태 엔드 포인트

스프링 부트 액추에이터 : 일부 엔드 포인트 만 작동

스프링 부트 2 : 액추에이터 / 상태 엔드 포인트에 더 많은 시간이 소요됨

스프링 부트 액추에이터 상태 확인 컨텍스트 경로

Resilience4j 속도 제한기가 프로젝트 반응기에서 제대로 작동하지 않습니까?

resilience4J + 스프링 부트 2.x

Resilience4J 스레드가 실행 중 상태에 영원히 멈춤

스프링 부트 액추에이터의 Elastic Search 상태 확인이 때때로 상태를 반환 함

스프링 부트 액츄에이터/http.server.requests 엔드포인트가 작동하지 않음

1.5.x에서 2.3.x로 스프링부트 업그레이드 후 이전 액추에이터 엔드포인트를 유지하는 방법

나머지 엔드 포인트에서 파일을 업로드하기위한 적절한 HTTP 상태 코드

스프링 부트는 요청이 엔드포인트로 들어오지만 404 상태를 제공합니다.

Resilience4j : Tomcat에서 동기식 외부 시스템 호출을 위해 Bulkhead와 TimeLimiter 결합

스프링 부트 액츄에이터 - 커스텀 엔드포인트

Springboot 스프링 액추에이터 상태 엔드 포인트에서 MongoHealthIndicator를 비활성화 할 수 있습니까?

Consul Health 표시기가 SpringBoot의 액추에이터 상태 엔드 포인트에 표시되지 않음

스프링 보안이 클래스 경로에있는 동안 실패한 스프링 부트 액추에이터 상태 표시기를 어떻게 디버깅 할 수 있습니까?

Resilience4j 회로 차단기는 리 액티브 플럭스와 함께 사용되며 오류시 OPEN으로 변경되지 않습니다.

동적 엔드포인트에 대한 동적 액세스

스프링 회로 차단기-Resilience4j-구성 방법?

Google Cloud Run API - 내부적으로 엔드포인트에 액세스

스프링 부트 1.3.0 릴리스 버전에서 스프링 재시도 및 회로 차단기 사용

스프링 부트 액추에이터 상태 점검 API에서 로깅 사용

스프링 부트의 로그 파일 엔드 포인트

스프링 부트 엔드 포인트 경로

풀 스택 스프링 부트 학술 프로젝트의 프론트 엔드에 이상한 오류

heroku : 스프링 부트는 https로만 엔드 포인트에 액세스합니다.

vuejs 프런트 엔드에서 스프링 부트 백엔드로 메시지 보내기 / 받기

TOP 리스트

  1. 1

    셀레늄의 모델 대화 상자에서 텍스트를 추출하는 방법은 무엇입니까?

  2. 2

    Webpack 4가 분할 모듈로 취급하는 원시 JSON 파일을 배포하는 방법은 무엇입니까?

  3. 3

    Windows에서 Apache Kafka 오류-주 클래스 QuorumPeerMain을 찾거나로드 할 수 없습니다.

  4. 4

    Zookeeper Cluster를 시작합니다. 오류 : 주 클래스 org.apache.zookeeper.server.quorum.QuorumPeerMain을 찾거나로드 할 수 없습니다.

  5. 5

    어떻게 reslove: InvalidArgumentError: 그래프 실행 오류가 발생합니까?

  6. 6

    PyCharm에서 프로젝트를 제거하는 방법은 무엇입니까?

  7. 7

    Python : 특정 범위를 초과하면 플롯의 선 색상을 변경할 수 있습니까?

  8. 8

    동적 링크 작동 방식, 사용법 및 dylib를 만드는 방법과 이유

  9. 9

    화살표와 테두리가있는 CSS 전용 툴팁

  10. 10

    웹 사이트 로딩 속도를 높이는 방법을 알려주세요.

  11. 11

    응답에 대한 JMESPath 필터링

  12. 12

    D3 JS에서 하프 도넛 원형 차트 값 표시

  13. 13

    Joomla 3의 단일 기사에서 소셜 미디어 아이콘을 게시 취소하는 방법은 무엇입니까?

  14. 14

    scipy.misc 이미지 함수의 AttributeError, ImportError (예 : imread, imresize, imsave, imshow 등)

  15. 15

    Xcode 6 Beta 4 Broke stringWithContentsOfURL : encoding : error :

  16. 16

    Java에서 HSSFCell의 최대 길이 늘리기

  17. 17

    Mac에서 python import nltk 오류

  18. 18

    오류 CS0019 : '<'연산자를 'string'및 'int'유형의 피연산자에 적용 할 수 없습니다.

  19. 19

    Libavformat은 RTP 스트림을 너무 빠르게 기록합니다(너무 높은 FPS).

  20. 20

    Linux 시스템에 대해 OPEN_MAX는 어디에 정의되어 있습니까?

  21. 21

    스프링 부트에서 application.properties 값을 동적으로 변경

뜨겁다태그

보관