2017-05-02 3 views
1

우리는 SPA 웹 사이트 (Vuejs)와 점진적 웹 페이지 (모바일 사용자 용)의 두 가지 프론트 엔드로 ASP.Net Core를 실행하는 백엔드 API를 보유하고 있습니다. 프런트 엔드는 기본적으로 클라이언트 코드이며 모든 서비스는 서로 다른 도메인에 있습니다. 우리는 인증이 베어러 토큰을 사용하기 때문에 쿠키를 사용하지 않습니다.여러 클라이언트에 서비스하는 웹 API에 대한 애플리케이션 통찰력 전략

우리는 모니터링을위한 응용 프로그램 통찰력과 함께 연주했지만, 문서는 우리의 상황에 매우 설명이 아니므로, 내가위한 최선의 전략과 가능성이 무엇인지에 대해 좀 더 입력을 좀하고 싶습니다 :

  • 예를 들어 쿠키가없는 사용자 및 측정 항목 추적 서버 호출에 대한 응용 프로그램의 버튼을 클릭하면 Entity Framework/SQL 쿼리 (현재 지원되지 않음, How to enable dependency tracking with Application Insights in an Asp.Net Core project)가 클라이언트에서 결과 및 데이터를 처리합니다.
  • Application Insights 쿼리에서 모바일 및 표준 웹의 호출을 쉬운 방식으로 구분합니다. 처음에 나타나는 표준 차트에이를 표시하는 방법은 유용 할 것입니다.
  • Google의 전략이 다른 외부 클라이언트가 API에 액세스하는 상황에도 맞는지 확인하고이를 쉽게 식별 할 수 있어야하며 시스템에 대해 얼마나 많은 부하가 발생하는지 확인해야합니다.
  • 최소한의 코드로 위의 모든 작업을 수행하십시오.

답변

2

이 중 하나에 대해 구체적으로 알고 싶다면 몇 가지 독립적 인 질문이 가치가있을 수 있습니다. (일반적으로 마지막 글 머리 기호는 항상 암시 적입니다. :))

지금까지 시도한 것은 무엇입니까? 대부분의 "당신을위한 최선의 방법"종류의 것들이 의견이 될 것입니다.

  • 재 : 일반적인 답변을

    이미 다른 목적을 위해 사용자 정보/인증을 수행하는 경우 추적 사용자 ...

, 당신은 단지 다양한 context.user.* 필드를 설정할 것 들어오는 요청의 원격 측정 컨텍스트에 대한 정보가 있습니다. 동일한 원격 측정 컨텍스트를 사용하여 발생하는 다른 모든 원격 측정 값은 사용자가 이미 가지고있는 사용자 정보를 불식합니다.

  • 재 : 모바일 및 표준에서 분리 호출 ...

하는 다음, 당신은 이미이 같은 다양한 서비스/도메인을하고있어, 당신은 이미 두 곳 모두에 대해 동일한 계측 키를 사용하는 경우 페이지 뷰 또는 요청의 도메인/호스트 정보가 이미 있으면 포털에서이를 필터링/그룹화하거나 분석 포털에서 사용자 정의 쿼리를 작성하여 분석 할 수 있습니다. 호스트와 상관없이 어떤 사이트인지 알고 있다면 원격 측정 컨텍스트에서이를 사용자 지정 속성으로 추가 할 수 있습니다. 호스트 정보를 다루지 않도록 할 수도 있습니다.

  • 재 : 이미 API를 노출하고 인증을 사용하는 경우

유사하게 API를 통해 외부 발신자가, 당신은 (이상적으로) 이미 인바운드 발신자가 누구인지해야합니다, 당신은 설정할 수 있습니다 그 정보는 사용자 정의 속성에도 있습니다.

일반적으로, custom properties (문자열 : 문자열 키 값 쌍) 및 맞춤 측정 항목 (문자열 : 이중 키 값 쌍)은 친구입니다. 해당 컨텍스트에서 생성 된 모든 이벤트가 동일한 등록 정보를 상속 할 수 있도록 컨텍스트에서 설정할 수 있으므로 개별 이벤트에서 특정 등록 정보/메트릭을 전송하기 위해 개별 TrackEvent (또는 다른 Track* 호출 중 하나)에 명시 적으로 설정할 수 있습니다.

또한 증대 또는

(요청 또는 종속 서버 측에서, 또는 페이지 뷰와 아약스 종속 클라이언트 측 등) 자동으로 생성되는 상관 없음 원격 측정을 필터링 할 수 telemetry initializers을 사용할 수 있습니다
관련 문제