Verwalten von Application Insights-Cookies

8

Ich frage mich, wie Application Insights mit Cookies funktionieren, weil ich das Tracking von Benutzern und Sitzungen gerne verstehe, also habe ich recherchiert und ...

Hier ist eine kurze Einführung über die Theorie:

  1.   

    Wenn das Application Insights SDK eine Anfrage erhält, die kein Application Insight-Cookie enthält (festgelegt durch Application Insights JS-Snippet), wird dieses Cookie gesetzt und eine neue Sitzung gestartet.   (aus apmtips )

2.

  

UserTelemetryInitializer aktualisiert die Eigenschaften Id und AcquisitionDate des User -Kontexts für alle Telemetrieobjekte mit Werten aus dem ai_user Cookie, das vom Application Insights JavaScript-Instrumentationscode generiert wird, der im Browser des Benutzers ausgeführt wird.

     

SessionTelemetryInitializer aktualisiert die ID -Eigenschaft des Sitzung -Kontexts für alle Telemetrieobjekte, deren Wert aus ai_session extrahiert wurde Cookie, der vom JavaScript-Instrumentierungscode von ApplicationInsights generiert wird, der im Browser des Benutzers ausgeführt wird.   (aus azur-Dokumentation (Konfigurieren der Application Insights SKD mit ApplicationInsights. config) )

Es gibt also zwei Cookies: ai_session und ai_user .

Und hier kommen meine Fragen:

  1. Wann werden sie initialisiert?
  2. Was macht es?
  3. Wie kann ich aufhören, sie zu benutzen?
  4. Wenn ich sie behalten möchte, wie kann ich ihre Ablaufzeit ändern?

Versuche, sie zu entfernen Ich habe ein Projekt mit ASP.NET Web Applications unter Verwendung der Standardvorlage für Web API erstellt, die MVC und Web API enthält.

Bei einer Recherche fand ich dieser Ansatz , um sie zu deaktivieren, aber ich habe kein WebSessionTrackingTelemetryModule. Also habe ich "UserTelemetryInitializer" und "SessionTelemetryInitializer" auskommentiert und das habe ich:

%Vor%

Und:

%Vor%

Aber es macht keinen Unterschied. Entweder lasse ich die Module kommentiert oder nicht, die Cookies werden noch generiert.

Beim Versuch, die Cookies zu entfernen, habe ich die im Startvorgang ausgeführten Schritte kommentiert und alle .js-Dateien von meinem Projekt ausgeschlossen. Die Cookies werden jedoch nach jeder Anfrage angezeigt.

An diesem Punkt verstehe ich nicht, wo das "Application Insights Javascript" stattfindet und ich vermute, dass mir etwas im Backend fehlt. Liege ich falsch?

Schließlich sieht meine kommentierte Startup.cs wie folgt aus:

%Vor%

Und mein Global.asax.cs sieht wie folgt aus:

%Vor%

Wo RegisterRoutes nur das Standard-Routing durchführt. Also wollte ich nur die grundlegenden Dinge tun, um es zum Laufen zu bringen, aber ich habe keine Ahnung, wo ich graben sollte.

Könnte mich jemand aufklären?

Danke fürs Lesen bis jetzt.

    
Pliyo 07.07.2015, 22:48
quelle

1 Antwort

7

Die Cookie-Initialisierungslogik findet im Application Insights JavaScript SDK statt. Wenn Sie in die Quelle Ihrer Seite schauen, werden Sie JS von //az416426.vo.msecnd.net/scripts/a/ai.0.js bemerken. Sie können auch den Quellcode von JavaScript SDK auf GitHub lesen / beitragen: Ссылка

Beantworten Sie Ihre Fragen:

Wann werden sie initialisiert und was geschieht? Sie werden vom JavaScript SDK initialisiert, wenn sie versucht, Telemetrieobjekte zu senden, und prüft, ob sie nicht vorhanden sind. Für Details siehe Ссылка , gibt es auch eine ähnliche Logik für Session-Cookies .

Wie kann ich aufhören, sie zu verwenden? Sie können diese Cookies nicht deaktivieren, wenn Sie JavaScript SDK verwenden. Die einzige Möglichkeit besteht darin, das JavaScript SDK zu entfernen (indem Sie das Snippet entfernen, das es der Seite hinzufügt). Dies würde jedoch bedeuten, dass Sie keine clientseitige Telemetrie mehr haben Ansichten und Client-Leistung und Benutzer / Sitzungen Informationen.

Wenn ich sie behalten möchte, wie kann ich ihre Ablaufzeit ändern? Es gibt zwei Einstellungen, die Sie steuern können:

  • Sitzungserneuerungszeit - Wie viel Zeit vergeht, bis die Sitzung zurückgesetzt wird ohne Aktivität (Standard ist 30 Minuten)
  • Sitzungsablaufzeit - wie viel Zeit verstreicht, bevor die Sitzung zurückgesetzt wird, selbst wenn die Aktivität aktiv ist (standardmäßig 24 Stunden).

Um sie zu ändern, setzen Sie die folgenden Werte in diesem Code-Snippet neben dem Installationsschlüssel:

%Vor%     
Alex Bulankou 08.07.2015, 13:37
quelle