Coleta, retenção e armazenamento de dados no Application InsightsData collection, retention, and storage in Application Insights

Quando você instala o SDK do Azure Application Insights em seu aplicativo, ele envia telemetria sobre seu aplicativo para a nuvem.When you install Azure Application Insights SDK in your app, it sends telemetry about your app to the Cloud. Naturalmente, os desenvolvedores responsáveis querem saber exatamente quais dados são enviados, o que acontece com os dados e como eles podem manter o controle sobre esses dados.Naturally, responsible developers want to know exactly what data is sent, what happens to the data, and how they can keep control of it. Em particular, poderiam ser enviados dados confidenciais, onde são armazenados e qual é o nível de segurança?In particular, could sensitive data be sent, where is it stored, and how secure is it?

Primeiro, a resposta curta:First, the short answer:

  • Os módulos de telemetria padrão que executam "prontos de fábrica" têm pouca probabilidade de enviar dados confidenciais para o serviço.The standard telemetry modules that run "out of the box" are unlikely to send sensitive data to the service. A telemetria está relacionada a carga, a métricas de desempenho e uso, a relatórios de exceção e a outros dados de diagnóstico.The telemetry is concerned with load, performance and usage metrics, exception reports, and other diagnostic data. Os principais dados de usuário visíveis nos relatórios de diagnóstico são as URLs; mas seu aplicativo, em qualquer caso, não deve colocar dados confidenciais em texto sem formatação em uma URL.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.
  • Você pode escrever código que envie a telemetria personalizada adicional para ajudá-lo com o uso de monitoramento e diagnóstico.You can write code that sends additional custom telemetry to help you with diagnostics and monitoring usage. (Essa extensibilidade é um grande recurso do Application Insights.) Seria possível, por engano, escrever esse código para que ele inclua dados confidenciais e pessoais.(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. Se seu aplicativo funciona com esses dados, você deve aplicar um processo de revisão completo a todo o código que você escreve.If your application works with such data, you should apply a thorough review process to all the code you write.
  • Ao desenvolver e testar seu aplicativo, é fácil inspecionar o que está sendo enviado pelo SDK.While developing and testing your app, it's easy to inspect what's being sent by the SDK. Os dados aparecem nas janelas de saída de depuração do IDE e do navegador.The data appears in the debugging output windows of the IDE and browser.
  • Quando você cria um novo recurso do Application Insights, você pode selecionar o local.You can select the location when you create a new Application Insights resource. Saiba mais sobre a disponibilidade de Application Insights por região aqui.Know more about Application Insights availability per region here.
  • Examine os dados coletados, pois isso pode incluir dados permitidos em algumas circunstâncias, mas não em outros.Review the collected data, as this may include data that is allowed in some circumstances but not others. Um bom exemplo disso é o nome do dispositivo.A good example of this is Device Name. O nome do dispositivo de um servidor não tem impacto de privacidade e é útil, mas um nome de dispositivo de um telefone ou laptop pode ter um impacto de privacidade e ser menos útil.The device name from a server has no privacy impact and is useful, but a device name from a phone or laptop may have a privacy impact and be less useful. Um SDK desenvolvido principalmente para servidores de destino, coletaria o nome do dispositivo por padrão, e isso pode precisar ser substituído em eventos normais e exceções.An SDK developed primarily to target servers, would collect device name by default, and this may need to be overwritten in both normal events and exceptions.

O restante deste artigo aborda mais detalhadamente essas respostas.The rest of this article elaborates more fully on these answers. Ele foi projetado para ser independente, para que possa mostrá-lo aos colegas que não fazem parte de sua equipe.It's designed to be self-contained, so that you can show it to colleagues who aren't part of your immediate team.

O que é o Application Insights?What is Application Insights?

O Azure Application Insights é um serviço fornecido pela Microsoft que ajuda a melhorar o desempenho e a usabilidade do seu aplicativo ativo.Azure Application Insights is a service provided by Microsoft that helps you improve the performance and usability of your live application. Ele monitora seus aplicativos em todo o tempo de execução, tanto durante o teste quanto depois de publicado ou implantado.It monitors your application all the time it's running, both during testing and after you've published or deployed it. O Application Insights cria gráficos e tabelas que mostram, por exemplo, em que horas do dia você tem mais usuários, o nível de capacidade de resposta do aplicativo e quão bem ele é atendido por quaisquer serviços externos dos quais depende.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. Se houver travamentos, falhas ou problemas de desempenho, você pode pesquisar os dados de telemetria em detalhes para diagnosticar a causa.If there are crashes, failures or performance issues, you can search through the telemetry data in detail to diagnose the cause. E o serviço lhe enviará emails se houver alterações na disponibilidade e no desempenho do seu aplicativo.And the service will send you emails if there are any changes in the availability and performance of your app.

Para obter essa funcionalidade, você instala um SDK do Application Insights em seu aplicativo, que passa a fazer parte do código.In order to get this functionality, you install an Application Insights SDK in your application, which becomes part of its code. Quando o aplicativo é executado, o SDK monitora a operação e envia a telemetria para o serviço do Application Insights.When your app is running, the SDK monitors its operation and sends telemetry to the Application Insights service. Este é um serviço de nuvem hospedado pelo Microsoft Azure.This is a cloud service hosted by Microsoft Azure. (Mas Application Insights funciona para qualquer aplicativo, não apenas aplicativos hospedados no Azure.)(But Application Insights works for any applications, not just applications that are hosted in Azure.)

O serviço Application Insights armazena e analisa a telemetria.The Application Insights service stores and analyzes the telemetry. Para ver a análise ou a pesquisa por meio de telemetria armazenada, você entra na sua conta do Azure e abre o recurso Application Insights para seu aplicativo.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. Você também pode compartilhar o acesso aos dados com outros membros da equipe ou com assinantes do Azure especificados.You can also share access to the data with other members of your team, or with specified Azure subscribers.

Você pode ter dados exportados do serviço Application Insights, por exemplo, para um banco de dados ou para ferramentas externas.You can have data exported from the Application Insights service, for example to a database or to external tools. Você fornece a cada ferramenta uma chave especial obtida do serviço.You provide each tool with a special key that you obtain from the service. A chave poderá ser revogada, se necessário.The key can be revoked if necessary.

Application Insights SDKs estão disponíveis para uma variedade de tipos de aplicativos: serviços Web hospedados em seus próprios servidores Java EE ou ASP.NET ou no Azure; clientes Web – ou seja, o código em execução em uma página da Web; aplicativos da área de trabalho e serviços; aplicativos de dispositivo, como Windows Phone, iOS e Android.Application Insights SDKs are available for a range of application types: web services hosted in your own Java EE 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. Todos enviam telemetria para o mesmo serviço.They all send telemetry to the same service.

Quais dados são coletados?What data does it collect?

Há três fontes de dados:There are three sources of data:

  • O SDK, que se integra com o seu aplicativo no desenvolvimento ou no tempo de execução.The SDK, which you integrate with your app either in development or at run time. Há diferentes SDKs para diferentes tipos de aplicativos.There are different SDKs for different application types. Há também um SDK para páginas da Web, que é carregado no navegador do usuário final junto com a página.There's also an SDK for web pages, which loads into the end user's browser along with the page.

    • Cada SDK tem vários módulos, que usam diferentes técnicas para coletar diferentes tipos de telemetria.Each SDK has a number of modules, which use different techniques to collect different types of telemetry.
    • Se você instalar o SDK no desenvolvimento, poderá usar sua API para enviar sua própria telemetria, além dos módulos padrão.If you install the SDK in development, you can use its API to send your own telemetry, in addition to the standard modules. Essa telemetria personalizada pode incluir quaisquer dados que você deseje enviar.This custom telemetry can include any data you want to send.
  • Em alguns servidores web, também existem agentes que são executados juntamente com o aplicativo e que enviam telemetria sobre CPU, memória e ocupação de rede.In some web servers, there are also agents that run alongside the app and send telemetry about CPU, memory, and network occupancy. Por exemplo, as VMs do Azure, hosts de Docker e servidores Java EE podem ter esses agentes.For example, Azure VMs, Docker hosts, and Java EE servers can have such agents.

  • Testes de disponibilidade são processos executados pela Microsoft que enviam solicitações para o aplicativo web a intervalos regulares.Availability tests are processes run by Microsoft that send requests to your web app at regular intervals. Os resultados são enviados para o serviço Application Insights.The results are sent to the Application Insights service.

Quais tipos de dados são coletados?What kinds of data are collected?

As principais categorias são:The main categories are:

  • Telemetria do servidor Web - solicitações HTTP.Web server telemetry - HTTP requests. URI, tempo necessário para processar a solicitação, código de resposta, endereço IP do cliente.Uri, time taken to process the request, response code, client IP address. Session id.Session id.
  • Páginas da Web - contagens de página, usuário e sessão.Web pages - Page, user and session counts. Tempos de carregamento de página.Page load times. Exceções.Exceptions. Chamadas Ajax.Ajax calls.
  • Contadores de desempenho - memória, CPU, E/S, ocupação de rede.Performance counters - Memory, CPU, IO, Network occupancy.
  • Contexto de cliente e servidor - sistema operacional, localidade, tipo de dispositivo, navegador, resolução da tela.Client and server context - OS, locale, device type, browser, screen resolution.
  • Exceções e falhas – despejos de pilha, build id , tipo de CPU.Exceptions and crashes - stack dumps, build id, CPU type.
  • Dependências - chamadas a serviços externos, como REST, SQL, AJAX.Dependencies - calls to external services such as REST, SQL, AJAX. Cadeia de conexão ou URI, duração, sucesso, comando.URI or connection string, duration, success, command.
  • Testes de disponibilidade - duração do teste e etapas, respostas.Availability tests - duration of test and steps, responses.
  • Logs de rastreamento e telemetria personalizada - qualquer elemento que você codifique nos seus logs ou telemetria.Trace logs and custom telemetry - anything you code into your logs or telemetry.

Mais detalhes.More detail.

Como verificar o que está sendo coletado?How can I verify what's being collected?

Se você estiver desenvolvendo o aplicativo usando o Visual Studio, execute o aplicativo no modo de depuração (F5).If you're developing the app using Visual Studio, run the app in debug mode (F5). A telemetria é exibida na janela Saída.The telemetry appears in the Output window. A partir dali, é possível copiá-la e formatá-la como JSON para fácil inspeção.From there, you can copy it and format it as JSON for easy inspection.

Captura de tela que mostra a execução do aplicativo no modo de depuração no Visual Studio.

Também há uma exibição mais legível na janela Diagnóstico.There's also a more readable view in the Diagnostics window.

Para páginas da Web, abra a janela de depuração do navegador.For web pages, open your browser's debugging window.

Pressione F12 e abra a guia Rede.

Posso escrever código para filtrar a telemetria antes de ela ser enviada?Can I write code to filter the telemetry before it is sent?

Isso seria possível escrevendo um plug-in de processador de telemetria.This would be possible by writing a telemetry processor plugin.

Por quanto tempo os dados são mantidos?How long is the data kept?

Pontos de dados brutos (ou seja, itens que você pode consultar na análise e inspecionar na pesquisa) são mantidos por até 730 dias.Raw data points (that is, items that you can query in Analytics and inspect in Search) are kept for up to 730 days. Você pode selecionar uma duração de retenção de 30, 60, 90, 120, 180, 270, 365, 550 ou 730 dias.You can select a retention duration of 30, 60, 90, 120, 180, 270, 365, 550 or 730 days. Se você precisar manter os dados com mais de 730 dias, poderá usar a exportação contínua para copiá-los para uma conta de armazenamento durante a ingestão de dados.If you need to keep data longer than 730 days, you can use Continuous Export to copy it to a storage account during data ingestion.

Os dados mantidos por mais de 90 dias incorrerão em encargos adicionais.Data kept longer than 90 days will incur addition charges. Saiba mais sobre preços de Application Insights na página de preços de Azure monitor.Learn more about Application Insights pricing on the Azure Monitor pricing page.

Os dados agregados (ou seja, contagens, médias e outros dados estatísticos que você vê no Gerenciador de Métricas) são mantidos em um detalhamento de um minuto por 90 dias.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.

Os instantâneos de depuração são armazenados por 15 dias.Debug snapshots are stored for 15 days. Essa política de retenção é definida por aplicativo.This retention policy is set on a per-application basis. Se for necessário aumentar esse valor, você poderá solicitar o aumento abrindo um caso de suporte no portal do Azure.If you need to increase this value, you can request an increase by opening a support case in the Azure portal.

Quem pode acessar os dados?Who can access the data?

Os dados são visíveis para você e, se você tiver uma conta de organização, para os membros de sua equipe.The data is visible to you and, if you have an organization account, your team members.

Eles podem ser exportados por você e pelos membros da equipe e podem ser copiados para outros locais e passados para outras pessoas.It can be exported by you and your team members and could be copied to other locations and passed on to other people.

O que a Microsoft faz com as informações que meu aplicativo envia ao Application Insights?What does Microsoft do with the information my app sends to Application Insights?

A Microsoft usa os dados apenas para fornecer o serviço a você.Microsoft uses the data only in order to provide the service to you.

Onde os dados são mantidos?Where is the data held?

  • Quando você cria um novo recurso do Application Insights, você pode selecionar o local.You can select the location when you create a new Application Insights resource. Saiba mais sobre a disponibilidade de Application Insights por região aqui.Know more about Application Insights availability per region here.

Quão seguros meus dados estão?How secure is my data?

O Application Insights é um serviço do Azure.Application Insights is an Azure Service. Políticas de segurança são descritas no white paper de segurança, privacidade e conformidade do Azure.Security policies are described in the Azure Security, Privacy, and Compliance white paper.

Os dados são armazenados em servidores do Microsoft Azure.The data is stored in Microsoft Azure servers. Para contas no portal do Azure, as restrições de conta são descritas no documento segurança, privacidade e conformidade do Azure.For accounts in the Azure portal, account restrictions are described in the Azure Security, Privacy, and Compliance document.

É restrito o acesso aos seus dados por funcionários da Microsoft.Access to your data by Microsoft personnel is restricted. Podemos acessar seus dados com a sua permissão e se isso for necessário para o seu uso do Application Insights.We access your data only with your permission and if it is necessary to support your use of Application Insights.

Dados agregados em aplicativos de todos os nossos clientes (como taxas de dados e tamanho médio dos rastreamentos) são usados para melhorar o Application Insights.Data in aggregate across all our customers' applications (such as data rates and average size of traces) is used to improve Application Insights.

A telemetria de outra pessoa poderia interferir meus dados do Application Insights?Could someone else's telemetry interfere with my Application Insights data?

Eles poderiam enviar telemetria adicional para sua conta usando a chave de instrumentação, que pode ser encontrada no código de suas páginas da Web.They could send additional telemetry to your account by using the instrumentation key, which can be found in the code of your web pages. Com dados suficientes adicionais, suas métricas não representariam corretamente o uso e o desempenho do seu aplicativo.With enough additional data, your metrics would not correctly represent your app's performance and usage.

Se você compartilhar código com outros projetos, lembre-se de remover sua chave de instrumentação.If you share code with other projects, remember to remove your instrumentation key.

Os dados são criptografados?Is the data encrypted?

Todos os dados são criptografados em repouso e à medida que se movem entre data centers.All data is encrypted at rest and as it moves between data centers.

Os dados são criptografados em trânsito do meu aplicativo para servidores do Application Insights?Is the data encrypted in transit from my application to Application Insights servers?

Sim, usamos HTTPS para enviar dados ao portal de praticamente todos os SDKs, incluindo servidores Web, dispositivos e páginas da Web HTTPS.Yes, we use https to send data to the portal from nearly all SDKs, including web servers, devices, and HTTPS web pages.

O SDK cria armazenamento local temporário?Does the SDK create temporary local storage?

Sim, determinados Canais de Telemetria persistirão os dados localmente se um ponto de extremidade não puder ser alcançado.Yes, certain Telemetry Channels will persist data locally if an endpoint cannot be reached. Examine abaixo para ver quais estruturas e canais de telemetria são afetados.Please review below to see which frameworks and telemetry channels are affected.

Os canais de telemetria que utilizam o armazenamento local criam arquivos temporários nos diretórios TEMP ou APPDATA, que são restritos à conta específica que executa o aplicativo.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. Isso poderá acontecer quando um ponto de extremidade estiver temporariamente indisponível ou se o limite da limitação for atingido.This may happen when an endpoint was temporarily unavailable or you hit the throttling limit. Assim que esse problema for resolvido, o canal de telemetria continuará enviando todos os dados novos e persistentes.Once this issue is resolved, the telemetry channel will resume sending all the new and persisted data.

Os dados persistentes não são criptografados localmente.This persisted data is not encrypted locally. Se essa for uma preocupação, revise os dados e restrinja a coleta de dados privados.If this is a concern, review the data and restrict the collection of private data. (Para obter mais informações, consulte como exportar e excluir dados privados.)(For more information, see How to export and delete private data.)

Se um cliente precisar configurar esse diretório com requisitos de segurança específicos, ele poderá ser configurado por estrutura.If a customer needs to configure this directory with specific security requirements, it can be configured per framework. Certifique-se de que o processo executando no aplicativo tenha acesso para gravação ao diretório, mas também certifique-se de que esse diretório está protegido para evitar que a telemetria seja lida por usuários indesejados.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 é usado para persistir dados.C:\Users\username\AppData\Local\Temp is used for persisting data. Esse local não é configurável no diretório config e as permissões para acessar essa pasta são restritas ao usuário específico com as credenciais necessárias.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. (Para obter mais informações, consulte implementação.)(For more information, see implementation.)

.NET.NET

Por padrão, ServerTelemetryChannel usa a pasta de dados do aplicativo local do usuário atual %localAppData%\Microsoft\ApplicationInsights ou a pasta temporária %TMP%.By default ServerTelemetryChannel uses the current user’s local app data folder %localAppData%\Microsoft\ApplicationInsights or temp folder %TMP%. (Consulte a implementação aqui.)(See implementation here.)

Por meio de arquivo de configuração:Via configuration file:

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

Por meio de código:Via code:

  • Remover ServerTelemetryChannel do arquivo de configuraçãoRemove ServerTelemetryChannel from configuration file
  • Adicione este snippet à configuração:Add this snippet to your configuration:
    ServerTelemetryChannel channel = new ServerTelemetryChannel();
    channel.StorageFolder = @"D:\NewTestFolder";
    channel.Initialize(TelemetryConfiguration.Active);
    TelemetryConfiguration.Active.TelemetryChannel = channel;
    

NetCoreNetCore

Por padrão, ServerTelemetryChannel usa a pasta de dados do aplicativo local do usuário atual %localAppData%\Microsoft\ApplicationInsights ou a pasta temporária %TMP%.By default ServerTelemetryChannel uses the current user’s local app data folder %localAppData%\Microsoft\ApplicationInsights or temp folder %TMP%. (Consulte a implementação aqui.)(See implementation here.)

Em um ambiente Linux, o armazenamento local será desabilitado, exceto se uma pasta de armazenamento estiver especificada.In a Linux environment, local storage will be disabled unless a storage folder is specified.

Observação

Com a versão 2.15.0-Beta3 e o armazenamento local superior agora são criados automaticamente para Linux, Mac e Windows.With the release 2.15.0-beta3 and greater local storage is now automatically created for Linux, Mac, and Windows. Para sistemas não Windows, o SDK criará automaticamente uma pasta de armazenamento local com base na seguinte lógica:For non Windows systems the SDK will automatically create a local storage folder based on the following logic:

  • ${TMPDIR} -Se ${TMPDIR} a variável de ambiente for definida, esse local será usado.${TMPDIR} - if ${TMPDIR} environment variable is set this location is used.
  • /var/tmp -Se o local anterior não existir, tentaremos /var/tmp ./var/tmp - if the previous location does not exist we try /var/tmp.
  • /tmp -Se os dois locais anteriores não existirem, tentaremos tmp ./tmp - if both the previous locations do not exist we try tmp.
  • Se nenhum desses locais existir, o armazenamento local não será criado e a configuração manual ainda será necessária.If none of those locations exist local storage is not created and manual configuration is still required. Para obter detalhes sobre a implementação completa.For full implementation details.

O snippet de código a seguir mostra como definir ServerTelemetryChannel.StorageFolder no método ConfigureServices() da classe Startup.cs: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"});

(Para obter mais informações, consulte configuração personalizada do AspNetCore.)(For more information, see AspNetCore Custom Configuration.)

Node.jsNode.js

Por padrão, %TEMP%/appInsights-node{INSTRUMENTATION KEY} é usado para persistir dados.By default %TEMP%/appInsights-node{INSTRUMENTATION KEY} is used for persisting data. As permissões para acessar essa pasta são restritas ao usuário atual e aos Administradores.Permissions to access this folder are restricted to the current user and Administrators. (Consulte a implementação aqui.)(See implementation here.)

O prefixo de pasta appInsights-node pode ser substituído, alterando o valor de runtime da variável estática Sender.TEMPDIR_PREFIX localizada em Sender.ts.The folder prefix appInsights-node can be overridden by changing the runtime value of the static variable Sender.TEMPDIR_PREFIX found in Sender.ts.

JavaScript (navegador)JavaScript (browser)

O armazenamento de sessão HTML5 é usado para manter os dados.HTML5 Session Storage is used to persist data. Dois buffers separados são usados: AI_buffer e AI_sent_buffer .Two separate buffers are used: AI_buffer and AI_sent_buffer. A telemetria que está em lote e aguardando para ser enviada é armazenada em AI_buffer .Telemetry that is batched and waiting to be sent is stored in AI_buffer. A telemetria que acabou de ser enviada é colocada AI_sent_buffer até que o servidor de ingestão responda que foi recebido com êxito.Telemetry that was just sent is placed in AI_sent_buffer until the ingestion server responds that it was successfully received. Quando a telemetria é recebida com êxito, ela é removida de todos os buffers.When telemetry is successfully received, it's removed from all buffers. Em falhas transitórias (por exemplo, um usuário perde a conectividade de rede), a telemetria permanece em AI_buffer até que seja recebida com êxito ou o servidor de ingestão responda que a telemetria é inválida (esquema incorreto ou muito antigo, por exemplo).On transient failures (for example, a user loses network connectivity), telemetry remains in AI_buffer until it is successfully received or the ingestion server responds that the telemetry is invalid (bad schema or too old, for example).

Os buffers de telemetria podem ser desabilitados definindo enableSessionStorageBuffer como false .Telemetry buffers can be disabled by setting enableSessionStorageBuffer to false. Quando o armazenamento de sessão é desativado, uma matriz local é usada como armazenamento persistente.When session storage is turned off, a local array is instead used as persistent storage. Como o SDK do JavaScript é executado em um dispositivo cliente, o usuário tem acesso a esse local de armazenamento por meio das ferramentas de desenvolvedor do navegador.Because the JavaScript SDK runs on a client device, the user has access to this storage location via their browser's developer tools.

OpenCensus PythonOpenCensus Python

Por padrão, o SDK do Python OpenCensus usa a pasta do usuário atual %username%/.opencensus/.azure/ .By default OpenCensus Python SDK uses the current user folder %username%/.opencensus/.azure/. As permissões para acessar essa pasta são restritas ao usuário atual e aos Administradores.Permissions to access this folder are restricted to the current user and Administrators. (Consulte a implementação aqui.) A pasta com os dados persistentes será nomeada após o arquivo Python que gerou a telemetria.(See implementation here.) The folder with your persisted data will be named after the Python file that generated the telemetry.

Você pode alterar o local do arquivo de armazenamento passando o storage_path parâmetro no construtor do exportador que você está usando.You may change the location of your storage file by passing in the storage_path parameter in the constructor of the exporter you are using.

AzureLogHandler(
  connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000',
  storage_path='<your-path-here>',
)

Como enviar dados ao Application Insights usando o TLS 1.2?How do I send data to Application Insights using TLS 1.2?

Para garantir a segurança dos dados em trânsito para os pontos de extremidade do Application Insights, incentivamos os clientes para configurar seu aplicativo para usar pelo menos segurança de camada de transporte (TLS) 1.2.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. Versões mais antigas do TLS/Secure Sockets Layer (SSL) foram encontradas vulneráveis e enquanto ele ainda estiver atualmente trabalham para permitir a compatibilidade com versões anteriores, eles são não recomendáveis, e o setor está se movendo rapidamente para abandonar o suporte para esses protocolos mais antigos.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.

O PCI Security Standards Council definiu um prazo de 30 de junho de 2018 para desabilitar versões mais antigas de TLS/SSL e atualizar para protocolos mais seguros.The PCI Security Standards Council has set a deadline of June 30, 2018 to disable older versions of TLS/SSL and upgrade to more secure protocols. Depois que o Azure tiver descartado o suporte antigo, se seus clientes/aplicativos não conseguirem se comunicar mais com pelo menos TLS 1.2 você não conseguirá enviar dados para o Application Insights.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. A abordagem de testar e validar o suporte do TLS do seu aplicativo irá variar dependendo da sistema operacional/plataforma, bem como a linguagem/estrutura que seu aplicativo usa.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.

Não recomendamos definir explicitamente seu aplicativo para usar apenas o TLS 1,2, a menos que seja necessário, pois isso pode interromper os recursos de segurança no nível da plataforma que permitem detectar e aproveitar automaticamente os protocolos mais seguros à medida que eles se tornam disponíveis, como o TLS 1,3.We do not recommend explicitly setting your application to only use TLS 1.2 unless 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. É recomendável realizar uma auditoria completa de código do seu aplicativo para verificar se há codificar de versões específicas do TLS/SSL.We recommend performing a thorough audit of your application's code to check for hardcoding of specific TLS/SSL versions.

Diretrizes específicas da plataforma/linguagemPlatform/Language specific guidance

Plataforma/linguagemPlatform/Language SuporteSupport Mais informaçõesMore Information
Serviços de Aplicativo do AzureAzure App Services Configuração com suporte pode ser necessária.Supported, configuration may be required. O suporte foi anunciado em abril de 2018.Support was announced in April 2018. Leia o comunicado para detalhes de configuração.Read the announcement for configuration details.
Aplicativos de Funções do AzureAzure Function Apps Configuração com suporte pode ser necessária.Supported, configuration may be required. O suporte foi anunciado em abril de 2018.Support was announced in April 2018. Leia o comunicado para detalhes de configuração.Read the announcement for configuration details.
.NET.NET Configuração com suporte varia de acordo com a versão.Supported, configuration varies by version. Para obter informações de configuração detalhadas para o .NET 4,7 e versões anteriores, consulte estas instruções.For detailed configuration info for .NET 4.7 and earlier versions, refer to these instructions.
Monitor de statusStatus Monitor Configuração com suporte exigidaSupported, configuration required Status monitor conta com a OS Configuration + configuração do .net de configuração do so para dar suporte a TLS 1,2.Status Monitor relies on OS Configuration + .NET Configuration to support TLS 1.2.
Node.jsNode.js Configuração com suporte no v10.5.0 pode ser necessária.Supported, in v10.5.0, configuration may be required. Use a documentação oficial Node.js TLS/SSL para qualquer configuração específica do aplicativo.Use the official Node.js TLS/SSL documentation for any application-specific configuration.
JavaJava Com suporte, foi adicionado suporte do JDK para o TLS 1.2 no atualização do JDK 6 121 e JDK 7.Supported, JDK support for TLS 1.2 was added in JDK 6 update 121 and JDK 7. JDK 8 usa TLS 1.2 por padrão.JDK 8 uses TLS 1.2 by default.
LinuxLinux Distribuições do Linux tendem a depender do OpenSSL para suporte a TLS 1.2.Linux distributions tend to rely on OpenSSL for TLS 1.2 support. Verifique as OpenSSL Changelog para confirmar a sua versão do OpenSSL é suportada.Check the OpenSSL Changelog to confirm your version of OpenSSL is supported.
Windows 8.0 - 10Windows 8.0 - 10 Suporte e habilitado por padrão.Supported, and enabled by default. Para confirmar que você ainda está usando o as configurações padrão.To confirm that you are still using the default settings.
Windows Server 2012 - 2016Windows Server 2012 - 2016 Suporte e habilitado por padrão.Supported, and enabled by default. Para confirmar que você ainda está usando as configurações padrãoTo confirm that you are still using the default settings
Windows Server 7 SP1 e Windows Server 2008 R2 SP1Windows 7 SP1 and Windows Server 2008 R2 SP1 Com suporte, mas não habilitado por padrão.Supported, but not enabled by default. Consulte a página configurações do registro de segurança de camada de transporte (TLS) para obter detalhes sobre como habilitar.See the Transport Layer Security (TLS) registry settings page for details on how to enable.
Windows Server 2008 SP2Windows Server 2008 SP2 Suporte para TLS 1.2 requer uma atualização.Support for TLS 1.2 requires an update. Ver atualização para adicionar suporte para TLS 1.2 no Windows Server 2008 SP2.See Update to add support for TLS 1.2 in Windows Server 2008 SP2.
Windows VistaWindows Vista Sem suporte.Not Supported. N/DN/A

Verifique qual versão do OpenSSL sua distribuição do Linux está em execuçãoCheck what version of OpenSSL your Linux distribution is running

Para verificar qual versão do OpenSSL que você tiver instalado, abra o terminal e execute:To check what version of OpenSSL you have installed, open the terminal and run:

openssl version -a

Executar um teste de transação do TLS 1.2 no LinuxRun a test TLS 1.2 transaction on Linux

Para executar um teste preliminar para ver se o seu sistema Linux pode se comunicar por meio do TLS 1,2., abra o terminal e execute:To run a preliminary test to see if your Linux system can communicate over TLS 1.2., open the terminal and run:

openssl s_client -connect bing.com:443 -tls1_2

Dados pessoais armazenados no Application InsightsPersonal data stored in Application Insights

Nossos artigo de dados pessoais do Application Insights aborda esse problema detalhado.Our Application Insights personal data article discusses this issue in-depth.

Meus usuários podem desativar o Application Insights?Can my users turn off Application Insights?

Não diretamente.Not directly. Não fornecemos um comutador que os usuários possam operar para desativar o Application Insights.We don't provide a switch that your users can operate to turn off Application Insights.

No entanto, você pode implementar tal recurso em seu aplicativo.However, you can implement such a feature in your application. Todos os SDKs incluem uma configuração de API que desativa a coleta da telemetria.All the SDKs include an API setting that turns off telemetry collection.

Dados enviados pelo Application InsightsData sent by Application Insights

Os SDKs variam entre diferentes plataformas, e há vários componentes que você pode instalar.The SDKs vary between platforms, and there are several components that you can install. (Consulte Application insights-visão geral.) Cada componente envia dados diferentes.(Refer to Application Insights - overview.) Each component sends different data.

Classes de dados enviados em cenários diferentesClasses of data sent in different scenarios

Sua açãoYour action Classes de dados coletados (consulte a tabela a seguir)Data classes collected (see next table)
Adicionar o Application Insights SDK a um projeto Web .NETAdd Application Insights SDK to a .NET web project ServerContextServerContext
InferidoInferred
Contadores de desempenhoPerf counters
RequestsRequests
ExceçõesExceptions
SessionSession
usuáriosusers
Instalar o Monitor de Status no IISInstall Status Monitor on IIS DependênciasDependencies
ServerContextServerContext
InferidoInferred
Contadores de desempenhoPerf counters
Adicionar o Application Insights SDK a um aplicativo Web JavaAdd Application Insights SDK to a Java web app ServerContextServerContext
InferidoInferred
SolicitaçãoRequest
SessionSession
usuáriosusers
Adicionar SDK do JavaScript à página da WebAdd JavaScript SDK to web page ClientContext ClientContext
InferidoInferred
PáginaPage
ClientPerfClientPerf
AjaxAjax
Definir propriedades padrãoDefine default properties Propriedades em todos os eventos padrão e personalizadosProperties on all standard and custom events
Chamar TrackMetricCall TrackMetric Valores numéricosNumeric values
PropriedadesProperties
Chamar Track*Call Track* Nome do eventoEvent name
PropriedadesProperties
Chamar TrackExceptionCall TrackException ExceçõesExceptions
Despejo da pilhaStack dump
PropriedadesProperties
O SDK não é capaz de coletar dados.SDK can't collect data. Por exemplo:For example:
- não é possível acessar os contadores de desempenho- can't access perf counters
- exceção no inicializador de telemetria- exception in telemetry initializer
Diagnóstico do SDKSDK diagnostics

Para SDKs para outras plataformas, consulte seus respectivos documentos.For SDKs for other platforms, see their documents.

As classes dos dados coletadosThe classes of collected data

Classe de dados coletadosCollected data class Inclui (não é uma lista completa)Includes (not an exhaustive list)
PropriedadesProperties Quaisquer dados - determinados pelo seu códigoAny data - determined by your code
DeviceContextDeviceContext Id, IP, localidade, modelo de dispositivo, rede, tipo de rede, nome do OEM, resolução da tela, instância de função, nome da função, tipo de dispositivoId, IP, Locale, Device model, network, network type, OEM name, screen resolution, Role Instance, Role Name, Device Type
ClientContext ClientContext Sistema operacional, localidade, linguagem, rede, resolução da janelaOS, locale, language, network, window resolution
SessionSession session id
ServerContextServerContext Nome do computador, localidade, sistema operacional, dispositivo, sessão de usuário, contexto de usuário, operaçãoMachine name, locale, OS, device, user session, user context, operation
InferidoInferred localização geográfica do endereço IP, carimbo de data/hora, sistema operacional, navegadorgeo location from IP address, timestamp, OS, browser
MétricasMetrics Valor e nome da métricaMetric name and value
EventosEvents Valor e nome do eventoEvent name and value
PageViewsPageViews URL e nome da página ou o nome de telaURL and page name or screen name
Desempenho do clienteClient perf URL/nome de página, tempo de carregamento do navegadorURL/page name, browser load time
AjaxAjax Chamadas HTTP da página da Web para o servidorHTTP calls from web page to server
RequestsRequests URL, duração, código de respostaURL, duration, response code
DependênciasDependencies Tipo (SQL, HTTP,...), Cadeia de conexão, URI, sincronização/Async, duração, êxito, instrução SQL (com Status Monitor)Type(SQL, HTTP, ...), connection string, or URI, sync/async, duration, success, SQL statement (with Status Monitor)
ExceçõesExceptions Tipo, mensagem, pilhas de chamadas, arquivo de origem, número de linha, thread idType, message, call stacks, source file, line number, thread id
FalhasCrashes Process id, parent process id , crash thread id ; patch do aplicativo, id , Build; tipo de exceção, endereço, motivo; símbolos e registros ofuscados, endereços de início e término binários, nome e caminho binários, tipo de CPUProcess 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 Mensagem e nível de severidadeMessage and severity level
Contadores de desempenhoPerf counters Tempo do processador, memória disponível, taxa de solicitação, taxa de exceções, bytes particulares do processo, taxa de E/S, duração da solicitação, comprimento da fila de solicitaçõesProcessor time, available memory, request rate, exception rate, process private bytes, IO rate, request duration, request queue length
DisponibilidadeAvailability Código de resposta de teste da Web, duração de cada etapa de teste, nome do teste, carimbo de data/hora, sucesso, tempo de resposta, local de testeWeb test response code, duration of each test step, test name, timestamp, success, response time, test location
Diagnóstico do SDKSDK diagnostics Mensagem de rastreamento ou exceçãoTrace message or Exception

Você pode desativar alguns dos dados editando ApplicationInsights.configYou can switch off some of the data by editing ApplicationInsights.config

Observação

O IP do cliente é usado para inferir a localização geográfica mas, por padrão, os dados do IP não são mais armazenados e todos os zeros são gravados no campo associado.Client IP is used to infer geographic location, but by default IP data is no longer stored and all zeroes are written to the associated field. Para compreender mais sobre tratamento de dados pessoais, recomendamos este artigo.To understand more about personal data handling we recommend this article. Se você precisar armazenar dados de endereço IP, nosso artigo de coleção de endereços IP o guiará pelas suas opções.If you need to store IP address data our IP address collection article will walk you through your options.

CreditsCredits

Este produto inclui dados de GeoLite2 criados pelo MaxMind, disponíveis no https://www.maxmind.com .This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com.