2017-11-30 6 views
0

스프링 부트 통합 앱을 만들고 Pivotal Cloud Foundry (PCF) 환경에 배포했습니다. 며칠 동안 작동 한 다음 나중에 무작위로 충돌하기 시작합니다. PCF 로그를 확인하고 충돌에 대한 정보를 찾았습니다.헬스 체크를 수행하는 동안 내 Pivotal 클라우드 파운드리 앱이 자주 중단됩니다.

OUTApp instance exited with guid 3c348d47-48c4-403f-950a-29af1efa551d 
payload: {"instance"=>"e2122543-214f-4806-62c7-00e1", "index"=>2, 
"reason"=>"CRASHED", "exit_description"=>"Instance became unhealthy: Failed 
to make HTTP request to '/health' on port 8080: timed out after 1.00 
seconds", "crash_count"=>1, "crash_timestamp"=>1511959503256098495, 
"version"=>"10cea919-d490-460d-83d6-5132c96ef781"} 

내 CPU 사용률은 그리 높지 않습니다. 내 기억도 누출되지 않습니다.

PCF에 배포 된 응용 프로그램에 대한 정보 : 스프링 부트 통합 응용 프로그램은 IBM MQ 대기열에 연결하고 메시지를 폴링 한 다음 몇 가지 웹 서비스를 호출합니다.

PCF 응용 프로그램에서 상태 확인 호출을 사용하여 PCF 응용 프로그램의 사용 가능 여부를 확인하는 또 다른 응용 프로그램 서비스 버스가 있습니다. Service Bus에서 PCF 응용 프로그램을 사용할 수있는 것으로 확인되면 요청은 PCF로 라우팅되고 서비스 버스 자체에서 처리됩니다.

CRASH의 근본 원인을 찾는 방법과 해결 방법을 알려주십시오. 미리 감사드립니다. 자세한 내용이 필요하면 알려주십시오.

+0

여기에 동일합니다. http 건강 상태 검사를 위해 스프링 부트 액츄에이터 라이브러리의 health endpoint를 사용하고 있습니다. manifest의 설정은 다음과 같습니다 : 'health-check-type : http health-check-http-endpoint :/health' 이 건강 종점이 응답해야하는 1 초의 하드 제한이 있습니다. 그렇지 않으면 CF가 응용 프로그램을 크래시로 표시하고 다시 시작 메커니즘이 시작됩니다. 그 동작을 개선해야한다고 생각합니다. 이 주제를 읽은 Pivotal 출신 분? – Bernd

답변

0

manifest.yml 파일의 상태 확인 유형을 http에서 포트 유형으로 변경했습니다.

건강 체크 형 : 포트

이제 응용 프로그램이 충돌되지 않습니다 다음과 같이 매니페스트 파일에 구성 변경입니다. 잘 작동합니다. 희망이 도움이됩니다.