>source

애플리케이션 인사이트에 로깅하도록 구성된 apim 인스턴스가 있습니다.

유용한 정보를 가져 오기 위해 다음 kusto 쿼리를 실행합니다.

requests
| extend requestBody = customDimensions["Request-Body"]
| extend requestMethod = customDimensions["HTTP Method"]
| extend ApiName = customDimensions["API Name"]
| where ApiName == "client"
| project  timestamp, ApiName, url, requestBody, requestMethod
| sort by timestamp desc

이것이 반환하는 "url"은 apim 인스턴스의 인바운드 URL입니다. 누구든지 apim이 요청을 전달한 백엔드 URL을 다시 가져 오기 위해 이것이 어떻게 업데이트 될 수 있는지 알고 있습니까?

  • 답변 # 1

    백엔드 애플리케이션의 로그를 Application Insights의 동일한 인스턴스에 기록하는 경우 APIM 요청의 operation_Id 및 백엔드 요청의 operation_ParentId를 사용하여 쿼리 결과를 "requests"테이블과 결합 할 수 있습니다.

    APIM 요청을 종속성 테이블과 조인 할 수도 있습니다. 이것은 또한 백엔드 요청을 제공해야합니다.

    dependencies
    | where timestamp > ago(1h) 
    | join (requests | where timestamp > ago(1h))
      on operation_Id
    
    

    그런 다음 관심있는 필드를 추출 할 수 있습니다.

    편집하다: APIM에서 로깅 한 데이터 만 있고 Application Insights에 대한 백엔드 로깅없이 백엔드 URL 필드를 가져 오려면 다음과 같이 요청 및 종속성을 조인하는 종속성 테이블의 '데이터'필드를 사용할 수 있습니다.

    dependencies
    | where timestamp > ago(1h) 
    | join (requests | where timestamp > ago(1h))
      on operation_Id
      | project backendUrl = data
    
    

  • 이전 jquery - 요소 내부의 클래스 무시
  • 다음 c - uint64_t를 배열에 어떻게 저장할 수 있습니까?