Share via


문제 해결 서비스 후크

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

이 문서에서는 일반적인 문제 해결 지침 및 FAQ(질문과 대답)를 참조하세요.

활동 및 디버그 문제 보기

웹 액세스 관리자의 서비스 후크 페이지에는 각 구독에 대한 최근 활동(지난 14일)과 구독이 활성화, 비활성화 또는 제한되었는지 여부가 표시됩니다.

자세한 요청/응답 데이터를 포함하여 구독에 대한 자세한 기록에 액세스할 수 있습니다. 이는 문제가 있는 서비스 또는 구독을 디버깅하는 데 유용합니다.

  1. 구독의 활동 및 상태 보려면 서비스 후크 페이지로 이동합니다.

    활동 보기 및 구독 상태 보여 주는 스크린샷

  2. 전체 요청, 응답 및 이벤트 페이로드 데이터를 포함하여 구독에 대한 자세한 활동을 보려면 테이블에서 구독을 선택한 다음 기록을 선택합니다.

    구독에 대한 활동의 자세한 보기를 보여 주는 스크린샷

구독 실패 및 보호 관찰(제한)

오류 유형

서비스 후크 알림의 오류는 다음 범주로 그룹화됩니다.

  • 터미널 오류
  • 일시적인 오류
  • 지속적인 오류

터미널 오류

유일한 터미널 오류는 HTTP 상태 코드 410(사라)입니다. 구독에 터미널 오류가 표시되면 이전 상태 관계없이 자동으로 비활성화됩니다.

일시적인 오류

구독에 일시적인 오류가 표시되면 알림을 최대 8번 다시 보내려고 시도하며 각 시도 사이에 지연이 증가합니다. 일시적인 오류에는 다음 코드가 포함됩니다.

  • 408(Request Timeout)
  • 502(Bad Gateway)
  • 503(Service Unavailable)
  • 504(Gateway Timeout)

일시적인 오류에 대한 재시도 시퀀스

재시도 # 대기 시간
다시 시도하기 전에 1 ~1초 대기
다시 시도하기 전에 2 ~2초 대기(총 지연 시간 3초)
다시 시도하기 전에 3 ~4초 대기(총 지연 시간 7초)
다시 시도하기 전에 4 최대 8초 대기(총 지연 시간 15초)
다시 시도하기 전에 5 ~16초 대기(총 지연 시간 31초)
다시 시도하기 전에 6 ~32초 대기(총 지연 시간 63초)
다시 시도하기 전에 7 최대 60초 대기(최대 백오프 시간, 총 지연 시간 123초)
다시 시도하기 전에 8 최대 60초 대기(최대 백오프 시간, 총 지연 시간 183초)

알림이 모든 재시도를 소진하고 각 시도에 대해 일시적 실패를 계속 볼 경우 구독은 알림 전송 시도를 중지하고 지속적인 실패를 본 것처럼 알림을 처리합니다.

지속적인 오류

지속적인 오류에는 다른 모든 HTTP 오류 코드(예: 404(찾을 수 없음), 500(내부 서버 오류) 등이 포함됩니다.

구독에 지속적인 실패가 표시되는 경우 보호 관찰이 적용 됩니다.

테스트

보호 관찰 중 구독은 보낼 수 있는 알림 수로 제한됩니다. 구독이 지속적인 실패에 계속 도달하면 점점 더 제한되고 결국에는 사용하지 않도록 설정됩니다. 구독이 보호 관찰 중 성공적인 응답을 받으면 완전히 활성화된 상태로 복원됩니다.

구독이 보호 관찰 중일 때 최대 7회 재시도 시퀀스

구독이 보호 관찰 중이면 새 이벤트가 손실됩니다. 재시도에 성공하면 구독이 활성화되고 이벤트가 다시 게시됩니다.

재시도 # 대기 시간
다시 시도하기 전에 1 ~20분 대기
다시 시도하기 전에 2 최대 40분 대기(총 보호 관찰 시간 1시간)
다시 시도하기 전에 3 ~1시간 20분 대기(총 보호 관찰 시간 2.33시간)
다시 시도하기 전에 4 ~2시간 40분 대기(총 보호 관찰 시간 5시간)
다시 시도하기 전에 5 ~5시간 20분 대기(총 보호 관찰 시간 10.33시간)
다시 시도하기 전에 6 ~10시간 40분 대기(총 보호 관찰 시간 21시간)
다시 시도하기 전에 7 최대 15시간 대기(최대 백오프 시간, 총 보호 관찰 시간 36시간)

7번의 재시도 후 구독 상태 소비자에게 알리는 데 실패하면 DisabledBySystem으로 설정됩니다.

FAQ

Q: 서비스 후크의 페이로드 제한은 무엇인가요?

A: 페이로드 제한은 2MB입니다. 페이로드가 크면 성능과 안정성이 저하됩니다. 서비스 후크는 페이로드를 2MB 이하로 제한하는 것이 가장 좋습니다.

Q: 상태 사용(제한됨)은 무엇을 의미하나요?

A: 너무 많은 오류가 발생하면 구독이 제한됩니다. 사용(제한됨)은 보호 관찰 중과 동일합니다.

Q: 상태 사용 안 함(오류로 인해)은 무엇을 의미하나요?

A: 장기간에 걸쳐 일련의 연속 오류가 발생하거나 터미널 오류가 발생한 후 구독이 자동으로 비활성화됩니다. 일시적인 오류 유형은 실패로 선언되기 전에 여러 번 다시 시도됩니다. 지속적인 오류 유형은 다시 시도되지 않습니다. 다음은 각 오류 유형의 예입니다.

  • 일시적: 408(요청 시간 제한), 502(잘못된 게이트웨이), 503(서비스를 사용할 수 없음), 504(게이트웨이 시간 제한)
  • 터미널: 410(사라지음)
  • 지속형: 일시적 또는 터미널이 아닌 모든 오류

Q: 상태 Disabled(사용자 왼쪽 프로젝트)는 무엇을 의미하나요?

A: 구독을 만든 사용자가 더 이상 팀의 구성원이 아닙니다.

Q: 서비스 후크가 작동하지 않는 경우 어떻게 해야 하나요?

A: 다음 항목을 확인합니다.

  • 구독이 사용하도록 설정되어 있는지 확인

  • 구독 설정이 올바른지 확인합니다(이벤트 필터 및 작업 모두)

  • 특히 오류가 있는 경우 기록을 살펴보세요.

Q: 일반 프로젝트 사용자에게 프로젝트에 대한 서비스 후크 구독을 보고 관리할 수 있는 기능을 부여할 수 있나요?

A: 기본적으로 프로젝트 관리자만 이러한 권한을 갖습니다. 다른 사용자에게 직접 권한을 부여하려면 명령줄 도구 또는 보안 REST API를 사용할 수 있습니다.

Q: 프로그래밍 방식으로 구독을 만들 수 있나요?

A: 예, REST API를 사용합니다.