2014-11-20 1 views
17

나는 Azure 웹 사이트가 있습니다. 이 질문을 위해 웹 사이트의 생산 버전은 example.com이고 웹 사이트의 테스트 버전은 sandbox.example.com입니다.Azure 웹 사이트 응용 프로그램 통찰력 - 전환 구성

두 경우의 유일한 차이점은 서로 다른 구성을 갖고 있다는 것입니다.

현재 그들은 서로 다른 웹 사이트에서 운영되고 있으며 동일한 웹 사이트를 git을 통해 각 웹 사이트에 배포합니다.

Application Insights 데이터를 분리하고 싶습니다. 배포 후 샌드 박스 환경에서 ApplicationInsights.config 파일을 편집하는 것 외에 다른 사람이 사용하는 기술이나 프로세스가 있습니까?

배포 슬롯을 사용하면 어떤 방식 으로든이 문제를 해결할 수 있습니까?

답변

26

정확히 오늘이 블로그 게시물이 새로 게시되었습니다 : Application Insights Support for Multiple Environments, Stamps and App Versions.

원격 측정 대상은 모든 원격 측정 메시지와 함께 전송되는 키 (iKey)의 계측기로 결정됩니다. Application Insights 포털에서 동일한 iKey를 사용하는 비슷한 이벤트와 메트릭을 집계하여 평균 지속 시간, 이벤트 카운트 및 사용자 수 등의 차트를 제공합니다. iKey는 프로젝트 의 두 곳에 나타납니다. 하나는 ApplicationInsights.config에 : 응용 프로그램이 웹 페이지가 <InstrumentationKey>94843456-2345-3456-4567-324562759284</InstrumentationKey>

경우, iKey를 또한 모든 웹 페이지의 머리에 스크립트 에 나타납니다. 대개 Views\Shared\_Layout.cshtml과 같이 마스터 페이지에서 한 번만 코딩됩니다.

원격 측정을 다른 응용 프로그램 자원에 지정하려면 다른 iKeys로 여러 자원을 생성 할 수 있습니다. 그렇다면 연결 문자열, 인증서 및 구독과 같은 다른 구성 데이터와 함께 해당 라이프 사이클의 각 전환시 응용 프로그램의 iKeys 만 변경하면됩니다.대신 iKey에서를 사용하는)

2 :

1) Web.config에 속성으로 iKey을 추가

기사는 다음 코드 confg 등이 작업을 수행하는 방법에 간다 ApplicationInsights.config이면 코드에 설정합니다. global.asax.cs.

혼동을 피하려면 ApplicationInsights.config에서 <InstrumentationKey> 노드를 제거하십시오.

3) 웹 페이지를 구성하여 instrumentationKey: "@Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey"을 선택하십시오. 이 스크립트는 보통 이며 View\Shared\_Layout.cshtml에 있습니다.

4) 배포 과정 중에 Web.config을 적절한 iKey 구성으로 업데이트하는 것을 잊지 마십시오. 을 빌드의 일부로 적절하게 설정하는 방법을 고안 할 수도 있지만, 나는 이것을 으로 남겨 둘 것입니다.

+0

이것은 내가 필요한 것이다. . 이것이 문서화되지 않았거나 찾기 힘든 기존 기능인지 아니면 새로운 것이 있는지 궁금합니다. –

+1

블로그 게시물에있는 대부분의 내용은 잠시 동안 할 수있는 물건이라고 생각합니다. 아직 어느 곳에서도 문서화되지 않았습니다. 적어도 내 독서로 –

2

웹 사이트의 Azure 포털에서 구성 탭에는 응용 프로그램 설정이라는 섹션이 있습니다. 다른 구성 설정을 여기에 입력 할 수 있습니다. 게시 할 때 azure는 이러한 설정을 web.config에 삽입합니다.

그런 다음 정상적으로 WebConfigurationManager.AppSettings를 사용하면 주입 된 값이 추출됩니다.

+3

예 -하지만 Application Insights 구성은 'web.config'가 아니라'ApplicationInsights.config'입니다. –

+0

죄송합니다, 그 시점을 놓쳤습니다. 빌드 구성별로 applicationinsights.config를 구성 할 수있는 것 같습니다. 여기에 링크가 있습니다 ... http://msdn.microsoft.com/en-us/library/dn550723.aspx – dascalos

2

반 관련 질문 : How to support multiple Azure subscriptions for a single application with application insights 이것은 클라우드 서비스를 사용하기위한 것이며 작동합니다!

Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey = ConfigurationManager.AppSettings["appInsightsKey"]; 

나는 이것을 내 unity registertypes 메소드에서 수행했다.

+0

이 질문에 대한 답변을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남기십시오. 자신의 게시물에 언제나 댓글을 달 수 있으며 충분한 [평판] (http://stackoverflow.com/help/whats-reputation)을 갖게되면 [모든 게시물에 댓글을 달 수] 있어야합니다 (http://stackoverflow.com/help/privileges/comment). – JTG

+0

@JTG가 더 나은 대답입니까? – Dennis

+0

나는 당신이 아직 논평 할 수 없다는 것과 이해할 수 없다는 것을 이해한다. 그러나 그것은 대답 섹션이 충분한 담당자가없는 사람들을위한 즉석 코멘트 섹션이된다는 것을 의미하지 않는다. Rep locking 주석은 SO가 스팸을 막는 가장 좋은 방법입니다. 좋은 질문을하거나 좋은 답변을 올리면 50 점을 쉽게 얻을 수 있습니다. – JTG

관련 문제