1

Azure 웹 응용 프로그램 (Azure 응용 프로그램 서비스)에 배포 된 스프링 부팅 (REST 서비스)으로 개발 된 웹 응용 프로그램이 있습니다. 내 계획은 Standard : 1 Small.azure webapps 404 error

신청서는 2 주 이후부터 원활하게 운영되고 있습니다. 갑자기, 오늘, 응용 프로그램이 다운되었습니다. 이러한 REST 서비스를 호출하는 소비자 응용 프로그램이 404 오류를 경험하기 시작했습니다. (원본 서버가 대상 자원에 대한 현재 표현을 찾지 못했거나 존재하지 않는다고 공개하지 않습니다.)

로그를 확인할 때 찾지 못했습니다. 근본 원인은 전체 애플리케이션을 중단시킵니다. 이것은 두 번째로 일어난 일이며 이번에는 근본 원인을 찾을 수 없습니다 (메모리 사용량/CPU 사용량은 괜찮아 보입니다). "항상 켜기"설정이 켜져 있습니다.

다음 질문이 있습니다. 1) 근본 원인 일 수 있으며 찾을 수있는 방법이 있습니까?

2) 응용 프로그램이 다운되고 자동 크기 조정되는 것을 알 수있는 방법이 있습니까? (이미 CPU 사용량과 메모리 사용량에 대한 자동 크기 조정 규칙을 설정했지만 도움이되지 않았습니다.)

답변

0

몇 가지 생각 :

  1. 이 중요한 서비스 인 경우, 당신은 당신이 두 번째 인스턴스를 정당화 할 수있는 하중이없는 경우에도, 웹 응용 프로그램 실행의 두 인스턴스가 필요합니다. 두 번째 인스턴스는 안정성을위한 것입니다.

  2. 사실 50x가 아닌 404가 나오면 서버 사용량이 너무 많아서 CPU 사용률, HTTP 대기열 길이, 등

문제 해결을 위해 확인 장소 : 애저 포털에서 웹 응용 프로그램 관리 블레이드에

  1. 을 진단 로그 메뉴 항목으로 이동합니다. 응용 프로그램 로깅, 웹 서버 로깅, 자세한 오류 메시지 및 요청 추적 실패를 켭니다.

  2. 이전 단계를 완료하면 진단 및 문제 해결 메뉴 옵션으로 이동하여 실패한 요청 추적 로그를 볼 수 있습니다. 또한 웹 서버 로그와 응용 프로그램 로그를 모두 탐색 할 수 있습니다. Visual Studio를 사용하는 것이 가장 쉬운 방법입니다.

  3. 놀기 만하면 진단 및 해결 문제 아래의 인스턴스 별 메트릭도 확인하십시오. 보고 된 404 호 문제에 대한 모든 범주를 확인하십시오. 이것은 당신이 등 CPU 사용량, 메모리 사용량, 스레드 수, HTTP 큐 길이 등의 조건을 확인하게됩니다

+0

서유럽 지역의 Azure 정전으로 인해 문제가 발생했지만 가장 정확한 문제 해결 방법은 귀하의 답변입니다. 이 문제가 다시 발생하지 않도록 webapp의 두 인스턴스를 이미 시작했습니다. 자세한 답변을 주셔서 감사합니다. 건배!! – Venky

+0

잘 알고 있습니다.동일한 App Service Plan (동일한 지역에 항상 있음)에 두 개의 인스턴스가있는 경우에도 한 지역의 문제는 여전히 귀하의 서비스에 어필됩니다. 고 가용성을 위해 엔드 포인트를 감지 할 수있는 Traffic Manager가 작동 중지되고 트래픽을 다른 지역의 대기중인 대기로 재 라우팅하십시오. –

+0

흠. 좋은 지적. 실제로 정전은 저장 장치와 관련되어있었습니다. Webapp의 두 인스턴스 모두 동일한 저장 공간을 공유하므로 두 인스턴스가 도움을받습니다. 어쨌든, 당신이 당신의 대답에서 언급 한 다른 방법을 조사 할 것입니다. – Venky

0

(한 달에 두 번 발생)보고 푸른 정지가 발생했습니다. 그들은이 문제를 해결하기 위해 노력하고 있으며 위에 언급 된 문제는 서유럽 지역의 정전으로 인한 것이라고 말했습니다.

+0

웹 앱이 매우 중요하다면 Traffic Manager를 사용하면 엔드 포인트가 작동 중지 된 후 자동으로 트래픽을 다른 지역의 대기 대기로 리디렉션합니다. –