Datensammlung, -aufbewahrung und -speicherung in Application InsightsData collection, retention and storage in Application Insights

Wenn Sie das Visual Studio Application Insights-SDK in Ihrer App installieren, werden Telemetriedaten für Ihre App an die Cloud gesendet.When you install Azure Application Insights SDK in your app, it sends telemetry about your app to the Cloud. Als Entwickler möchten Sie natürlich genau wissen, welche Daten gesendet werden, was mit den Daten geschieht und wie Sie die Kontrolle darüber behalten.Naturally, responsible developers want to know exactly what data is sent, what happens to the data, and how they can keep control of it. Dabei ist insbesondere interessant, ob womöglich sensible Daten übermittelt werden, wo sie gespeichert werden und wie sicher die Daten sind.In particular, could sensitive data be sent, where is it stored, and how secure is it?

Zunächst die kurze Antwort:First, the short answer:

  • Bei Verwendung der Standardtelemetriemodule in der vorkonfigurierten Form ist es äußerst unwahrscheinlich, dass sensible Daten an den Dienst übermittelt werden.The standard telemetry modules that run "out of the box" are unlikely to send sensitive data to the service. Bei der Telemetrie dreht sich alles um Lade-, Leistungs- und Nutzungsmetriken sowie um Ausnahmeberichte und andere Diagnosedaten.The telemetry is concerned with load, performance and usage metrics, exception reports, and other diagnostic data. In den Diagnoseberichten sind als Benutzerdaten hauptsächlich URLs sichtbar. Ihre App sollte jedoch in keinem Fall sensible Daten im Nur-Text-Format in eine URL einfügen.The main user data visible in the diagnostic reports are URLs; but your app shouldn't in any case put sensitive data in plain text in a URL.
  • Sie können Code schreiben, der zusätzliche benutzerdefinierte Telemetriedaten sendet, die Sie bei der Diagnose und Überwachung der Nutzung unterstützen.You can write code that sends additional custom telemetry to help you with diagnostics and monitoring usage. (Diese Erweiterbarkeit ist ein großartiges Feature von Application Insights.) Der Code kann theoretisch so geschrieben werden, dass versehentlich auch persönliche und andere sensible Daten einbezogen werden.(This extensibility is a great feature of Application Insights.) It would be possible, by mistake, to write this code so that it includes personal and other sensitive data. Falls Ihre Anwendung mit solchen Daten arbeitet, müssen Sie sämtlichen Code, den Sie schreiben, einer gründlichen Prüfung unterziehen.If your application works with such data, you should apply a thorough review processes to all the code you write.
  • Beim Entwickeln und Testen Ihrer App können Sie problemlos überprüfen, was vom SDK gesendet wird.While developing and testing your app, it's easy to inspect what's being sent by the SDK. Die Daten erscheinen in den Debugging-Ausgabefenstern von IDE und Browser.The data appears in the debugging output windows of the IDE and browser.
  • Die Daten werden auf Microsoft Azure-Servern in den USA oder in Europa gespeichert.The data is held in Microsoft Azure servers in the USA or Europe. (Ihre App kann jedoch überall ausgeführt werden.) Azure verfügt über ausgefeilte Sicherheitsprozesse und erfüllt eine breite Palette von Kompatibilitätsstandards.(But your app can run anywhere.) Azure has strong security processes and meets a broad range of compliance standards. Auf die Daten haben nur Sie selbst und Ihr Team Zugriff.Only you and your designated team have access to your data. Microsoft-Mitarbeiter können nur unter ganz bestimmten Bedingungen und mit Ihrem Wissen eingeschränkten Zugriff auf die Daten erlangen.Microsoft staff can have restricted access to it only under specific limited circumstances with your knowledge. Die Daten sind bei der Übertragung verschlüsselt, auf den Servern allerdings nicht.It's encrypted in transit, though not in the servers.

Im Rest dieses Artikels werden die obigen Antworten näher erläutert.The rest of this article elaborates more fully on these answers. Der Artikel ist in sich geschlossen, sodass Sie ihn auch Kollegen zeigen können, die nicht direkt Ihrem Team angehören.It's designed to be self-contained, so that you can show it to colleagues who aren't part of your immediate team.

Was ist Application Insights?What is Application Insights?

Visual Studio Application Insights ist ein Dienst von Microsoft, der Sie beim Optimieren der Leistung und Benutzerfreundlichkeit Ihrer aktiven Anwendung unterstützt.Azure Application Insights is a service provided by Microsoft that helps you improve the performance and usability of your live application. Er überwacht Ihre Anwendung während der gesamten Ausführung – sowohl in der Testphase als auch nach der Veröffentlichung oder Bereitstellung.It monitors your application all the time it's running, both during testing and after you've published or deployed it. Application Insights erstellt Diagramme und Tabellen, die beispielsweise Aufschluss darüber geben, zu welchen Tageszeiten das Benutzerinteresse besonders groß ist, wie gut die App reagiert und wie gut sie von externen Diensten versorgt wird, von denen sie unter Umständen abhängig ist.Application Insights creates charts and tables that show you, for example, what times of day you get most users, how responsive the app is, and how well it is served by any external services that it depends on. Im Falle von Abstürzen, Fehlern oder Leistungsproblemen können Sie die Telemetriedaten im Detail durchsuchen, um die Fehlerursache zu ermitteln.If there are crashes, failures or performance issues, you can search through the telemetry data in detail to diagnose the cause. Darüber hinaus informiert Sie der Dienst per E-Mail, falls sich die Verfügbarkeit oder Leistung Ihrer App ändert.And the service will send you emails if there are any changes in the availability and performance of your app.

Diese Funktionen erhalten Sie, indem Sie das Application Insights-SDK in Ihrer Anwendung installieren und es so in den Code integrieren.In order to get this functionality, you install an Application Insights SDK in your application, which becomes part of its code. Während der App-Ausführung überwacht das SDK den Betrieb und sendet Telemetriedaten an den Application Insights-Dienst.When your app is running, the SDK monitors its operation and sends telemetry to the Application Insights service. Hierbei handelt es sich um einen von Microsoft Azuregehosteten Clouddienst.This is a cloud service hosted by Microsoft Azure. (Application Insights kann aber nicht nur für in Azure gehostete Anwendungen, sondern für jede beliebige Anwendung verwendet werden.)(But Application Insights works for any applications, not just those that are hosted in Azure.)

Das SDK in Ihrer App sendet Telemetriedaten an den Application Insights-Dienst.

Der Application Insights-Dienst speichert und analysiert die Telemetriedaten.The Application Insights service stores and analyzes the telemetry. Wenn Sie sich die Analyse ansehen oder die gespeicherten Telemetriedaten durchsuchen möchten, melden Sie sich bei Ihrem Azure-Konto an, und öffnen Sie die Application Insights-Ressource für Ihre Anwendung.To see the analysis or search through the stored telemetry, you sign in to your Azure account and open the Application Insights resource for your application. Sie können auch anderen Mitgliedern Ihres Teams oder bestimmten Azure-Abonnenten Zugriff auf die Daten gewähren.You can also share access to the data with other members of your team, or with specified Azure subscribers.

Die Daten können vom Application Insights-Dienst exportiert werden (etwa in eine Datenbank oder in externe Tools).You can have data exported from the Application Insights service, for example to a database or to external tools. Für jedes Tool muss ein spezieller Schlüssel angegeben werden, den Sie über den Dienst erhalten.You provide each tool with a special key that you obtain from the service. Der Schlüssel kann bei Bedarf widerrufen werden.The key can be revoked if necessary.

Application Insights-SDKs stehen für eine Reihe von Anwendungstypen zur Verfügung. Hierzu zählen auf eigenen J2EE- oder ASP.NET-Servern oder in Azure gehostete Webdienste, Webclients (also der innerhalb einer Webseite ausgeführte Code), Desktop-Apps und -Dienste sowie Geräte-Apps (etwa für Windows Phone, iOS und Android).Application Insights SDKs are available for a range of application types: web services hosted in your own J2EE or ASP.NET servers, or in Azure; web clients - that is, the code running in a web page; desktop apps and services; device apps such as Windows Phone, iOS, and Android. Alle diese Anwendungen senden Telemetriedaten an den gleichen Dienst.They all send telemetry to the same service.

Welche Daten werden dabei gesammelt?What data does it collect?

Wie werden die Daten gesammelt?How is the data is collected?

Es werden drei Datenquellen verwendet:There are three sources of data:

  • Das SDK, das Sie entweder bei der Entwicklung oder zur Laufzeit in Ihre App integrieren.The SDK, which you integrate with your app either in development or at run time. Für die unterschiedlichen Anwendungstypen stehen jeweils unterschiedliche SDKs zur Verfügung.There are different SDKs for different application types. Darunter ist auch ein SDK für Webseiten, das zusammen mit der Seite in den Browser des Endbenutzers geladen wird.There's also an SDK for web pages, which loads into the end-user's browser along with the page.

    • Jedes SDK verfügt über eine Reihe von Modulen, die mithilfe unterschiedlicher Techniken verschiedene Arten von Telemetriedaten erfassen.Each SDK has a number of modules, which use different techniques to collect different types of telemetry.
    • Wenn Sie das SDK während der Entwicklung installieren, können Sie zusätzlich zu den Standardmodulen die API des SDK verwenden, um Ihre eigenen Telemetriedaten zu senden.If you install the SDK in development, you can use its API to send your own telemetry, in addition to the standard modules. Diese benutzerdefinierten Telemetriedaten können beliebige Daten enthalten, die Sie senden möchten.This custom telemetry can include any data you want to send.
  • Einige Webserver verfügen auch über Agents, die gemeinsam mit der App ausgeführt werden und Telemetriedaten zu CPU-, Arbeitsspeicher- und Netzwerkauslastung senden.In some web servers, there are also agents that run alongside the app and send telemetry about CPU, memory, and network occupancy. Solche Agents können etwa bei Azure-VMs, Docker-Hosts und J2EE-Servern vorhanden sein.For example, Azure VMs, Docker hosts, and J2EE servers can have such agents.
  • Verfügbarkeitstests werden von Microsoft in regelmäßigen Abständen Anforderungen an Ihre Web-App gesendet.Availability tests are processes run by Microsoft that send requests to your web app at regular intervals. Die Ergebnisse werden dann an den Application Insights-Dienst gesendet.The results are sent to the Application Insights service.

Welche Arten von Daten werden gesammelt?What kinds of data are collected?

Die gesammelten Daten lassen sich in folgende Hauptkategorien unterteilen:The main categories are:

  • Webserver-Telemetriedaten : HTTP-Anforderungen.Web server telemetry - HTTP requests. URI, Anforderungsverarbeitungsdauer, Antwortcode, Client-IP-Adresse.Uri, time taken to process the request, response code, client IP address. Sitzungs-ID.Session id.
  • Webseiten : Seiten-, Benutzer- und Sitzungszähler.Web pages - Page, user and session counts. Seitenladezeiten.Page load times. Ausnahmen.Exceptions. AJAX-Aufrufe.Ajax calls.
  • Leistungsindikatoren: Arbeitsspeicher-, CPU-, E/A-, Netzwerkauslastung.Performance counters - Memory, CPU, IO, Network occupancy.
  • Client- und Serverkontext: Betriebssystem, Gebietsschema, Gerätetyp, Browser, Bildschirmauflösung.Client and server context - OS, locale, device type, browser, screen resolution.
  • Ausnahmen und Abstürze: Stapelabbilder, Build-ID, CPU-Typ.Exceptions and crashes - stack dumps, build id, CPU type.
  • Abhängigkeiten : Aufrufe an externe Dienste wie etwa REST, SQL und AJAX.Dependencies - calls to external services such as REST, SQL, AJAX. URI oder Verbindungszeichenfolge, Dauer, Erfolg, Befehl.URI or connection string, duration, success, command.
  • Verfügbarkeitstests : Testdauer und Schritte, Antworten.Availability tests - duration of test and steps, responses.
  • Ablaufverfolgungsprotokolle und benutzerdefinierte Telemetriedaten - alles, was Sie als Code in Ihre Protokolle oder Telemetrie integrieren.Trace logs and custom telemetry - anything you code into your logs or telemetry.

Weitere DetailsMore detail.

Wie kann ich überprüfen, was gesammelt wird?How can I verify what's being collected?

Wenn Sie die App mit Visual Studio entwickeln, führen Sie sie im Debugmodus (F5) aus.If you're developing the app using Visual Studio, run the app in debug mode (F5). Die Telemetriedaten werden im Ausgabefenster angezeigt.The telemetry appears in the Output window. Dort können Sie sie kopieren und zur einfachen Überprüfung als JSON formatieren.From there, you can copy it and format it as JSON for easy inspection.

Es gibt auch eine lesbarere Ansicht im Fenster „Diagnose“.There's also a more readable view in the Diagnostics window.

Öffnen Sie bei einer Webseite das Debuggingfenster Ihres Browsers.For web pages, open your browser's debugging window.

Drücken Sie F12, und öffnen Sie die Registerkarte „Netzwerk“.

Kann ich Code schreiben, um die Telemetriedaten vor dem Senden zu filtern?Can I write code to filter the telemetry before it is sent?

Hierzu können Sie ein Telemetriedaten-Prozessor-Plug-Inschreiben.This would be possible by writing a telemetry processor plugin.

Wie lange werden Daten aufbewahrt?How long is the data kept?

Rohdatenpunkte (also Elemente, die Sie in Analytics abfragen und in Search überprüfen können) werden bis zu 90 Tage lang aufbewahrt.Raw data points (that is, items that you can query in Analytics and inspect in Search) are kept for up to 90 days. Wenn Sie Daten länger beibehalten möchten, können Sie sie mit dem fortlaufenden Export in ein Speicherkonto kopieren.If you need to keep data longer than that, you can use continuous export to copy it to a storage account.

Aggregierte Daten (d.h. Zählungen, Mittelwerte und andere statistischen Daten, die im Metrik-Explorer angezeigt werden) werden im Maß von 1 Minute für 90 Tage aufbewahrt.Aggregated data (that is, counts, averages and other statistical data that you see in Metric Explorer) are retained at a grain of 1 minute for 90 days.

Debugmomentaufnahmen werden sieben Tage lang gespeichert.Debug snapshots are stored for seven days. Diese Aufbewahrungsrichtlinie wird für jede Anwendung separat festgelegt.This retention policy is set on a per-application basis. Wenn Sie diesen Wert erhöhen möchten, können Sie eine Erhöhung anfordern, indem Sie einen Supportfall im Azure-Portal eröffnen.If you need to increase this value, you can request an increase by opening a support case in the Azure portal.

Wer kann auf die Daten zugreifen?Who can access the data?

Die Daten sind für Sie und, wenn Sie über ein Unternehmenskonto verfügen, für die Teammitglieder sichtbar.The data is visible to you and, if you have an organization account, your team members.

Sie und Ihre Teammitglieder können die Daten exportieren und an andere Speicherorte kopieren oder Sie an andere Personen weiterleiten.It can be exported by you and your team members and could be copied to other locations and passed on to other people.

Wie verwendet Microsoft die Daten, die meine App an Application Insights sendet?What does Microsoft do with the information my app sends to Application Insights?

Microsoft verwendet die Daten nur dazu, Ihnen den Dienst bereitstellen zu können.Microsoft uses the data only in order to provide the service to you.

Wo werden die Daten gespeichert?Where is the data held?

  • In den USA, Europa oder Südostasien.In the USA, Europe or Southeast Asia. Sie können den Speicherort auswählen, wenn Sie eine neue Application Insights-Ressource erstellen.You can select the location when you create a new Application Insights resource.

Bedeutet dies, dass meine App in den USA, in Europa oder Südostasien gehostet werden muss?Does that mean my app has to be hosted in the USA, Europe or Southeast Asia?

  • Nein.No. Die Anwendung kann überall ausgeführt werden – auf Ihren eigenen lokalen Hosts oder in der Cloud.Your application can run anywhere, either in your own on-premises hosts or in the Cloud.

Wie sicher sind meine Daten?How secure is my data?

Application Insights ist ein Azure-Dienst.Application Insights is an Azure Service. Sicherheitsrichtlinien werden im Whitepaper Azure Security, Privacy, and Compliance (Azure-Sicherheit, -Datenschutz und -Kompatibilität) beschrieben.Security policies are described in the Azure Security, Privacy, and Compliance white paper.

Die Daten werden auf Microsoft Azure-Servern gespeichert.The data is stored in Microsoft Azure servers. Für Konten im Azure-Portal sind die Kontobeschränkungen im Dokument Trusted Cloud: Microsoft Azure Security, Privacy, and Compliance(in englischer Sprache) beschrieben.For accounts in the Azure Portal, account restrictions are described in the Azure Security, Privacy, and Compliance document.

Der Zugriff auf Ihre Daten durch Microsoft-Mitarbeiter ist eingeschränkt.Access to your data by Microsoft personnel is restricted. Wir werden nur mit Ihrer Erlaubnis und ausschließlich dann auf Ihre Daten zugreifen, wenn es erforderlich ist, Sie bei der Verwendung von Application Insights zu unterstützen.We access your data only with your permission and if it is necessary to support your use of Application Insights.

Aggregierte Daten in den Anwendungen unserer Kunden (z. B. Datenraten und die durchschnittliche Größe von Ablaufverfolgungen) werden zur Verbesserung von Application Insights verwendet.Data in aggregate across all our customers' applications (such as data rates and average size of traces) is used to improve Application Insights.

Könnte die Telemetrie eines anderen Benutzers meine Application Insights-Daten beeinträchtigen?Could someone else's telemetry interfere with my Application Insights data?

Sie könnten zusätzliche Telemetrie mit dem Instrumentationsschlüssel im Code Ihrer Webseiten an Ihr Konto senden.They could send additional telemetry to your account by using the instrumentation key, which can be found in the code of your web pages. Bei genügend zusätzlichen Daten würden die Metriken die Leistung und Nutzung Ihrer App nicht ordnungsgemäß darstellen.With enough additional data, your metrics would not correctly represent your app's performance and usage.

Wenn Sie Code für andere Projekte freigeben, sollten Sie Ihren Instrumentationsschlüssel entfernen.If you share code with other projects, remember to remove your instrumentation key.

Werden die Daten verschlüsselt?Is the data encrypted?

Derzeit nicht innerhalb der Server.Not inside the servers at present.

Alle Daten werden bei der Übertragung zwischen Datencentern verschlüsselt.All data is encrypted as it moves between data centers.

Werden die Daten während der Übertragung von meiner Anwendung zu Application Insights-Servern verschlüsselt?Is the data encrypted in transit from my application to Application Insights servers?

Ja, wir verwenden HTTPS zum Senden von Daten an das Portal aus nahezu allen SDKs, darunter Webserver, Geräte und HTTPS-Webseiten.Yes, we use https to send data to the portal from nearly all SDKs, including web servers, devices and HTTPS web pages. Die einzige Ausnahme sind Daten, die von einfachen HTTP-Webseiten gesendet werden.The only exception is data sent from plain HTTP web pages.

Erstellt das SDK einen temporären lokalen Speicher?Does the SDK create temporary local storage?

Ja, bestimmte Telemetriekanäle speichern Daten dauerhaft lokal, wenn ein Endpunkt nicht erreicht werden kann.Yes, certain Telemetry Channels will persist data locally if an endpoint cannot be reached. Weiter unten in diesem Artikel erfahren Sie, welche Frameworks und Telemetriekanäle betroffen sind.Please review below to see which frameworks and telemetry channels are affected.

Telemetriekanäle, die lokalen Speicher nutzen, erstellen temporäre Dateien in den Verzeichnissen TEMP oder APPDATA, die auf das Konto beschränkt sind, in dem Ihre Anwendung ausgeführt wird.Telemetry channels that utilize local storage create temp files in the TEMP or APPDATA directories which are restricted to the specific account running your application. Dies kann passieren, wenn ein Endpunkt vorübergehend nicht verfügbar war oder das Drosselungslimit erreicht wurde.This may happen when an endpoint was temporarily unavailable or you hit the throttling limit. Sobald das Problem gelöst wurde, setzt der Telemetriekanal das Senden aller neuen und dauerhaft gespeicherten Daten fort.Once this issue is resolved, the telemetry channel will resume sending all the new and persisted data.

Diese dauerhaft gespeicherten Daten sind nicht verschlüsselt, und es wird dringend empfohlen, Ihre Datensammlungsrichtlinie so zu strukturieren, dass die Sammlung von privaten Daten deaktiviert ist.This persisted data is not encrypted and it is strongly recommended to restructure your data collection policy to disable the collection of private data. (Weitere Informationen finden Sie unter Exportieren und Löschen personenbezogener Daten.)(See How to export and delete private data for more information.)

Wenn ein Kunde dieses Verzeichnis mit bestimmten Sicherheitsanforderungen konfigurieren muss, kann diese Konfiguration pro Framework erfolgen.If a customer needs to configure this directory with specific security requirements it can be configured per framework. Stellen Sie sicher, dass der Prozess, der Ihre Anwendung ausführt, über Schreibzugriff auf dieses Verzeichnis verfügt. Stellen Sie aber außerdem sicher, dass dieses Verzeichnis geschützt ist, um zu verhindern, dass Telemetriedaten von Benutzern gelesen werden, die dafür nicht zugelassen sind.Please make sure that the process running your application has write access to this directory, but also make sure this directory is protected to avoid telemetry being read by unintended users.

JavaJava

C:\Users\username\AppData\Local\Temp wird für die dauerhafte Speicherung von Daten verwendet.C:\Users\username\AppData\Local\Temp is used for persisting data. Dieser Speicherort kann nicht über das config-Verzeichnis konfiguriert werden, und die Zugriffsberechtigungen für diesen Ordner sind auf einen bestimmten Benutzer mit den erforderlichen Anmeldeinformationen beschränkt.This location isn't configurable from the config directory and the permissions to access this folder are restricted to the specific user with required credentials. (Näheres dazu finden Sie in der Implementierung.)(See implementation here.)

.Net.Net

Standardmäßig verwendet ServerTelemetryChannel den lokalen Ordner des aktuellen Benutzers für App-Daten (%localAppData%\Microsoft\ApplicationInsights) oder den temporären Ordner (%TMP%).By default ServerTelemetryChannel uses the current user’s local app data folder %localAppData%\Microsoft\ApplicationInsights or temp folder %TMP%. (Näheres dazu finden Sie in der Implementierung.)(See implementation here.)

Per Konfigurationsdatei:Via configuration file:

<TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel,   Microsoft.AI.ServerTelemetryChannel">
    <StorageFolder>D:\NewTestFolder</StorageFolder>
</TelemetryChannel>

Per Code:Via code:

  • Entfernen Sie „ServerTelemetryChannel“ aus der Konfigurationsdatei.Remove ServerTelemetryChannel from configuration file
  • Fügen Sie diesen Codeausschnitt zu Ihrer Konfiguration hinzu:Add this snippet to your configuration: ServerTelemetryChannel channel = new ServerTelemetryChannel(); channel.StorageFolder = @"D:\NewTestFolder"; channel.Initialize(TelemetryConfiguration.Active); TelemetryConfiguration.Active.TelemetryChannel = channel;

NetCoreNetCore

Standardmäßig verwendet ServerTelemetryChannel den lokalen Ordner des aktuellen Benutzers für App-Daten (%localAppData%\Microsoft\ApplicationInsights) oder den temporären Ordner (%TMP%).By default ServerTelemetryChannel uses the current user’s local app data folder %localAppData%\Microsoft\ApplicationInsights or temp folder %TMP%. (Näheres dazu finden Sie in der Implementierung.) In einer Linux-Umgebung ist der lokale Speicher deaktiviert, sofern kein Speicherordner angegeben wird.(See implementation here.) In a Linux environment, local storage will be disabled unless a storage folder is specified.

Der folgende Codeausschnitt zeigt, wie Sie ServerTelemetryChannel.StorageFolder in der ConfigureServices() -Methode Ihrer Startup.cs -Klasse festlegen:The following code snippet shows how to set ServerTelemetryChannel.StorageFolder in the ConfigureServices() method of your Startup.cs class:

services.AddSingleton(typeof(ITelemetryChannel), new ServerTelemetryChannel () {StorageFolder = "/tmp/myfolder"});

(Weitere Informationen finden Sie unter AspNetCore Custom Configuration.(See AspNetCore Custom Configuration for more information. ))

Node.jsNode.js

Standardmäßig wird %TEMP%/appInsights-node{INSTRUMENTATION KEY} für die dauerhafte Speicherung von Daten verwendet.By default %TEMP%/appInsights-node{INSTRUMENTATION KEY} is used for persisting data. Die Berechtigungen für den Zugriff auf diesen Ordner sind auf den aktuellen Benutzer und Administratoren beschränkt.Permissions to access this folder are restricted to the current user and Administrators. (Näheres dazu finden Sie in der Implementierung.)(See implementation here.)

Das Ordnerpräfix appInsights-node kann überschrieben werden, indem der Laufzeitwert der statischen Variablen Sender.TEMPDIR_PREFIX geändert wird, die sich in Sender.ts befindet.The folder prefix appInsights-node can be overridden by changing the runtime value of the static variable Sender.TEMPDIR_PREFIX found in Sender.ts.

Wie sende ich mit TLS 1.2 Daten an Application Insights?How do I send data to Application Insights using TLS 1.2?

Um die Sicherheit von Daten bei der Übertragung an die Application Insights-Endpunkte sicherzustellen, wird Kunden dringend empfohlen, ihre Anwendung so zu konfigurieren, dass mindestens Transport Layer Security (TLS) 1.2 verwendet wird.To insure the security of data in transit to the Application Insights endpoints, we strongly encourage customers to configure their application to use at least Transport Layer Security (TLS) 1.2. Bei älteren Versionen von TLS/Secure Sockets Layer (SSL) wurde ein Sicherheitsrisiko festgestellt. Sie funktionieren aus Gründen der Abwärtskompatibilität zwar noch, werden jedoch nicht empfohlen, und die Industrie ist bestrebt, diese älteren Protokolle schnell auszumustern.Older versions of TLS/Secure Sockets Layer (SSL) have been found to be vulnerable and while they still currently work to allow backwards compatibility, they are not recommended, and the industry is quickly moving to abandon support for these older protocols.

Das PCI Security Standards Council hat den 30. Juni 2018 als Termin für die Deaktivierung älterer Versionen von TLS/SSL und das Upgrade auf sicherere Protokolle festgelegt.The PCI Security Standards Council has set a deadline of June 30th, 2018 to disable older versions of TLS/SSL and upgrade to more secure protocols. Wenn Azure keine Legacyunterstützung mehr anbietet und Ihre Anwendung/Clients nicht mindestens über TLS 1.2 kommunizieren können, können Sie keine Daten an Application Insights senden.Once Azure drops legacy support, if your application/clients cannot communicate over at least TLS 1.2 you would not be able to send data to Application Insights. Welche Methode Sie verwenden, um die TLS-Unterstützung Ihrer Anwendung zu testen und zu überprüfen, hängt vom Betriebssystem bzw. von der Plattform sowie von der Sprache bzw. vom Framework ab, die von Ihrer Anwendung verwendet werden.The approach you take to test and validate your application's TLS support will vary depending on the operating system/platform as well as the language/framework your application uses.

Wir empfehlen nicht, Ihre Anwendung explizit so einzurichten, dass nur TLS 1.2 verwendet wird, es sei denn, dies ist unbedingt erforderlich. Denn dadurch können Sicherheitsfeatures auf Plattformebene deaktiviert werden, mit deren Hilfe neuere, sicherere Protokolle wie TLS 1.3 automatisch erkannt und genutzt werden können, sobald diese verfügbar sind.We do not recommend explicitly setting your application to only use TLS 1.2 unless absolutely necessary as this can break platform level security features that allow you to automatically detect and take advantage of newer more secure protocols as they become available such as TLS 1.3. Es wird empfohlen, gründlich zu überprüfen, ob der Code einer Anwendung Hartcodierungen bestimmter TLS/SSL-Versionen enthält.We recommend performing a thorough audit of your application's code to check for hardcoding of specific TLS/SSL versions.

Plattform-/sprachspezifischer LeitfadenPlatform/Language specific guidance

Plattform/SprachePlatform/Language SupportSupport Weitere InformationenMore Information
Azure App ServicesAzure App Services Wird unterstützt, möglicherweise ist eine Konfiguration erforderlich.Supported, configuration may be required. Unterstützung wurde im April 2018 angekündigt.Support was announced in April 2018. Informationen zur Ankündigung finden Sie in den Konfigurationsdetails.Read the announcement for configuration details.
Azure Function-AppsAzure Function Apps Wird unterstützt, möglicherweise ist eine Konfiguration erforderlich.Supported, configuration may be required. Unterstützung wurde im April 2018 angekündigt.Support was announced in April 2018. Informationen zur Ankündigung finden Sie in den Konfigurationsdetails.Read the announcement for configuration details.
.NET.NET Wird unterstützt, Konfiguration hängt von der Version ab.Supported, configuration varies by version. Ausführliche Informationen zur Konfiguration für .NET 4.7 und frühere Versionen finden Sie in diesen Anweisungen.For detailed configuration info for .NET 4.7 and earlier versions refer to these instructions.
StatusmonitorStatus Monitor Wird unterstützt, Konfiguration erforderlichSupported, configuration required Statusmonitor greift zur Unterstützung von TLS 1.2 auf die Betriebssystemkonfiguration + .NET-Konfiguration zurück.Status Monitor relies on OS Configuration + .NET Configuration to support TLS 1.2.
Node.jsNode.js Wird in Version 10.5.0 unterstützt, möglicherweise ist eine Konfiguration erforderlich.Supported, in v10.5.0, configuration may be required. Informationen zu anwendungsspezifischen Konfigurationen finden Sie in der offiziellen Dokumentation zu TLS/SSL bei Node.js.Use the official Node.js TLS/SSL documentation for any application specific configuration.
JavaJava Wird unterstützt, JDK-Unterstützung für TLS 1.2 seit JDK 6 Update 121 und JDK 7.Supported, JDK support for TLS 1.2 was added in JDK 6 update 121 and JDK 7. Bei JDK 8 wird standardmäßig TLS 1.2 verwendet.JDK 8 uses TLS 1.2 by default.
LinuxLinux Linux-Distributionen greifen zur Unterstützung von TLS 1.2 tendenziell auf OpenSSL zurück.Linux distributions tend to rely on OpenSSL for TLS 1.2 support. Überprüfen Sie anhand des OpenSSL-Änderungsprotokolls, ob Ihre Version von OpenSSL unterstützt wird.Check the OpenSSL Changelog to confirm your version of OpenSSL is supported.
Windows 8.0 bis 10Windows 8.0 - 10 Wird unterstützt und ist standardmäßig aktiviert.Supported, and enabled by default. Zur Bestätigung, dass Sie weiterhin die Standardeinstellungen verwenden.To confirm that you are still using the default settings.
Windows Server 2012 bis 2016Windows Server 2012 - 2016 Wird unterstützt und ist standardmäßig aktiviert.Supported, and enabled by default. Zur Bestätigung, dass Sie weiterhin die Standardeinstellungen verwenden.To confirm that you are still using the default settings
Windows 7 SP1 und Windows Server 2008 R2 SP1Windows 7 SP1 and Windows Server 2008 R2 SP1 Wird unterstützt, ist jedoch standardmäßig deaktiviert.Supported, but not enabled by default. Details zur Aktivierung finden Sie auf der Seite Transport Layer Security (TLS) registry settings (Registrierungseinstellungen für Transport Layer Security (TLS)).See the Transport Layer Security (TLS) registry settings page for details on how to enable.
Windows Server 2008 SP2Windows Server 2008 SP2 Unterstützung für TLS 1.2 muss aktualisiert werden.Support for TLS 1.2 requires an update. Informationen hierzu finden Sie unter Update zum Hinzufügen der Unterstützung von TLS 1.1 und TLS 1.2 in Windows Server 2008 SP2.See Update to add support for TLS 1.2 in Windows Server 2008 SP2.
Windows VistaWindows Vista Nicht unterstützt.Not Supported. N/VN/A

Prüfen, welche Version von OpenSSL von Ihrer Linux-Distribution ausgeführt wirdCheck what version of OpenSSL your Linux distribution is running

Zum Prüfen, welche Version von OpenSSL installiert ist, öffnen Sie das Terminal und führen Sie folgenden Befehl aus:To check what version of OpenSSL you have installed, open the terminal and run:

openssl version -a

Ausführen einer TLS-1.2-Testtransaktion unter LinuxRun a test TLS 1.2 transaction on Linux

Zum Ausführen eines einfachen vorläufigen Tests, um festzustellen, ob Ihr Linux-System über TLS 1.2 kommunizieren kann,To run a basic preliminary test to see if your Linux system can communicate over TLS 1.2. öffnen Sie das Terminal und führen Sie folgenden Befehl aus:Open the terminal and run:

openssl s_client -connect bing.com:443 -tls1_2

Personenbezogene Daten, die in Application Insights gespeichert sindPersonal data stored in Application Insights

In unserem Artikel über personenbezogene Daten in Application Insights wird dieses Thema ausführlich besprochen.Our Application Insights personal data article discusses this issue in-depth.

Können meine Benutzer Application Insights abschalten?Can my users turn off Application Insights?

Nicht direkt.Not directly. Wir bieten keinen Schalter, mit dem Ihre Benutzer Application Insights abschalten können.We don't provide a switch that your users can operate to turn off Application Insights.

Sie können jedoch eine solche Funktion in Ihrer Anwendung implementieren.However, you can implement such a feature in your application. Alle SDKs enthalten eine API-Einstellung, mit der die Telemetrie-Erfassung deaktiviert wird.All the SDKs include an API setting that turns off telemetry collection.

Von Application Insights gesendete DatenData sent by Application Insights

Die SDKs sind je nach Plattform unterschiedlich, und es gibt verschiedene Komponenten, die Sie installieren können.The SDKs vary between platforms, and there are several components that you can install. (Weitere Informationen finden Sie unter Application Insights – Übersicht.) Jede Komponente sendet unterschiedliche Daten.(Refer to Application Insights - overview.) Each component sends different data.

Klassen von in verschiedenen Szenarien gesendeten DatenClasses of data sent in different scenarios

AktionYour action Gesammelte Datenklassen (siehe nächste Tabelle)Data classes collected (see next table)
Hinzufügen des Application Insights SDK zu Ihrem .NET-WebprojektAdd Application Insights SDK to a .NET web project ServerContextServerContext
InferredInferred
Perf countersPerf counters
RequestsRequests
ExceptionsExceptions
SitzungSession
usersusers
Installieren des Statusmonitors auf IISInstall Status Monitor on IIS AbhängigkeitenDependencies
ServerContextServerContext
InferredInferred
Perf countersPerf counters
Hinzufügen des Application Insights SDK zu einer Java-Web-AppAdd Application Insights SDK to a Java web app ServerContextServerContext
InferredInferred
AnforderungRequest
SitzungSession
usersusers
Hinzufügen des JavaScript SDK zur WebseiteAdd JavaScript SDK to web page ClientContext ClientContext
InferredInferred
SeitePage
ClientPerfClientPerf
AjaxAjax
Definieren von StandardeigenschaftenDefine default properties Properties für alle standardmäßigen und benutzerdefinierten EreignisseProperties on all standard and custom events
Aufrufen von TrackMetricCall TrackMetric Numerische WerteNumeric values
PropertiesProperties
Aufrufen von Track*Call Track* EreignisnameEvent name
PropertiesProperties
Aufrufen von TrackExceptionCall TrackException AusnahmenExceptions
StapelabbildStack dump
PropertiesProperties
SDK kann keine Daten sammeln.SDK can't collect data. Beispiel: For example:
– auf Leistungsindikatoren kann nicht zugegriffen werden- can't access perf counters
– Ausnahme beim Telemetrieinitialisierer- exception in telemetry initializer
SDK-DiagnoseSDK diagnostics

Weitere Informationen zu SDKs für andere Plattformen finden Sie in den entsprechenden Dokumenten.For SDKs for other platforms, see their documents.

Die Klassen der gesammelten DatenThe classes of collected data

Gesammelte DatenklasseCollected data class Umfasst (keine vollständige Liste)Includes (not an exhaustive list)
PropertiesProperties Alle Daten – bestimmt durch CodeAny data - determined by your code
DeviceContextDeviceContext ID, IP, Gebietsschema, Gerätemodell, Netzwerk, Netzwerktyp, OEM-Name, Bildschirmauflösung, Rolleninstanz, Rollenname, GerätetypId, IP, Locale, Device model, network, network type, OEM name, screen resolution, Role Instance, Role Name, Device Type
ClientContext ClientContext Betriebssystem, Gebietsschema, Sprache, Netzwerk, FensterauflösungOS, locale, language, network, window resolution
Sitzung (Session)Session Sitzungs-IDsession id
ServerContextServerContext Computername, Gebietsschema, Betriebssystem, Gerät, Benutzersitzung, Benutzerkontext, VorgangMachine name, locale, OS, device, user session, user context, operation
InferredInferred Geolocation anhand IP-Adresse, Zeitstempel, Betriebssystem, Browsergeo location from IP address, timestamp, OS, browser
MetrikenMetrics Metrikname und -wertMetric name and value
EreignisseEvents Ereignisname und -wertEvent name and value
PageViewsPageViews URL und Seitenname oder BildschirmnameURL and page name or screen name
Client perfClient perf URL-/Seitenname, BrowserladezeitURL/page name, browser load time
AjaxAjax HTTP-Aufrufe von der Webseite an den ServerHTTP calls from web page to server
RequestsRequests URL, Dauer, AntwortcodeURL, duration, response code
AbhängigkeitenDependencies Typ (SQL, HTTP,...), Verbindungszeichenfolge oder URI Sync/Async, Dauer, Erfolg, SQL-Anweisung (mit Statusmonitor)Type(SQL, HTTP, ...), connection string or URI, sync/async, duration, success, SQL statement (with Status Monitor)
AusnahmenExceptions Typ, Meldung, Aufrufliste, Quelldatei und Zeilennummer, Thread-IDType, message, call stacks, source file and line number, thread id
CrashesCrashes Prozess-ID, übergeordnete Vorgangs-ID, Thread-ID des Absturzes, Anwendungs-Patch, ID, Build, Typ der Ausnahme, Adresse, Ursache; abgeblendete Symbole und Registerkarten, binäre Start- und Endadressen, binärer Name und Pfad, CPU-TypProcess id, parent process id, crash thread id; application patch, id, build; exception type, address, reason; obfuscated symbols and registers, binary start and end addresses, binary name and path, cpu type
TraceTrace Meldung und SchweregradMessage and severity level
Perf countersPerf counters Prozessorzeit, verfügbarer Speicher, Anforderungsrate, Ausnahmerate, private Bytes verarbeiten, E/A-Rate, Anforderungsdauer, Länge der AnforderungswarteschlangeProcessor time, available memory, request rate, exception rate, process private bytes, IO rate, request duration, request queue length
VerfügbarkeitAvailability Webtestantwortcode, Dauer der einzelnen Testschritte, Testname, Zeitstempel, Erfolg, Antwortzeit, TestverzeichnisWeb test response code, duration of each test step, test name, timestamp, success, response time, test location
SDK-DiagnoseSDK diagnostics Ablaufverfolgungsmeldung oder AusnahmeTrace message or Exception

Sie können einige der Daten durch Bearbeiten von ApplicationInsights.config abschalten.You can switch off some of the data by editing ApplicationInsights.config

GuthabenCredits

Dieses Produkt enthält GeoLite2-Daten, die von MaxMind erstellt wurden und unter http://www.maxmind.com verfügbar sind.This product includes GeoLite2 data created by MaxMind, available from http://www.maxmind.com.