2016-09-27 3 views
0

현재 NodeJS 애플리케이션에 Application Insights를 추가하고 있으며, 패키지를 설치하고 데이터를 성공적으로 전송하고 있지만 각 데이터 포인트가 전송 될 때마다 추가 태그를 추가하고 싶습니다.NodeJS에 대한 Application Insights에서 태그 지정 메트릭

문서를 보면 Telemetry Processor가이 작업을 수행 할 장소 인 것처럼 보이지만 아래 코드를 사용하면 Azure Portal에서 태그를 볼 수 없습니다.

var TraceProcessor = function (envelope) { 
    envelope.tags['TestTag'] = 'Test Tag'; 
    return true; 
}; 
module.exports = TraceProcessor; 

나는 실행중인 코드와 추가되는 태그를 볼 수는 있지만 Azure Portal에서이 태그로 필터링 할 수는 없습니다.

태그를 올바르게 추가하고 있습니까? 그렇다면 어디서 포털에서 데이터를 필터링 할 수 있습니까?

+0

https://github.com/Microsoft/ApplicationInsights-node.js/blob/master/Library/Client.ts#L215의 소스 코드에있는 'envelope'의'tag' 속성에 따르면, 'context' 클래스의 https://github.com/Microsoft/ApplicationInsights-node.js/blob/master/Library/Context.ts#L49에서 검증되었습니다. 귀하의 요구 사항을 명확히 설명해 주시겠습니까? –

+0

응답 해 주셔서 감사합니다. 내가 원하는 것은 데이터를 분석 할 때 각 정보가 전송 될 때 각 메트릭에 정보를 추가 한 다음이 정보로 필터링 할 수 있다는 것입니다. 태그 이름은 각 데이터 요소에 대해 동일하지만 값은 다를 수 있습니다. 통찰력의 C# 버전을 보면 태그를 사용하여이 작업을 수행 할 수 있다고 생각했습니다. - https://blogs.msdn.microsoft.com/visualstudioalm/2015/01/07/application-insights-support- for-multiple-environments-stamps-and-app-versions/ NodeJS와 비슷한 메커니즘이 있습니까? –

답변

0

그래서 이것을 알아 냈고 결국 원래의 접근법과 John이 제안한 접근 방식의 조합으로 밝혀졌습니다.

var TraceProcessor = function (envelope) { 
    envelope.data.baseData.properties['TraceID'] = 'trace1'; 
    return true; 
}; 
module.exports = TraceProcessor; 

사용자 지정 속성은 내가 필요로 무엇을 실제로 있었지만, 이미 한 원격 측정 프로세서는 모든 요청에 ​​대한 자동 원격 측정이 작업을 수행 할 수 있도록 필요했던 것이었다.

0

"사용자 정의 속성"(위의 샘플은 이라는 이름의 "태그"를 사용함)이라고 생각합니다. SDK의 모든 메소드는 일반적으로 문자열 키 : 값 쌍의 사전을 전달할 수있게하며 이러한 속성은 모든 이벤트와 함께 이동합니다. TrackEvent와 같은 모든 비 메트릭 호출의 경우 사용자 정의 속성 사전 사전에 맞춤 메트릭의 사전 (문자열 : 이중)을 실제로 전달할 수 있습니다. TelemetryClient

C# 1 SDK :

public void TrackMetric(string name, double value, IDictionary<string, string> properties = null) 

또는 trackevent 통화 측정 항목 및 속성을 사용하여 :

public void TrackEvent(string name, IDictionary<string, string> properties = null, IDictionary<string, double> metrics = null) 

스크립트 SDK (음, TS 인터페이스에서 어쨌든) AppInsights.prototype

trackMetric(name: string, average: number, sampleCount?: number, min?: number, max?: number, properties?: { [name: string]: string; }); 

여기에 귀하가 보내는 속성 이면은 통계 탐색기 또는 애널리틱스 검색어 도구의 필터링 옵션으로 표시됩니다.

+0

응답 해 주셔서 감사합니다. 아마도 오해입니다. TrackMetric 및 TrackEvent를 사용하지 않으면 자동 원격 측정을 사용하는 대신 수동으로 이벤트 추적을 구현해야합니까? –

관련 문제