Azure Application Insights - Live Metrics Stream Sample Telemetry

Ola PessoALL,
Um dos melhores recursos do Azure Application Insights é o [Live Metrics Stream](https://docs.microsoft.com/pt-br/azure/azure-monitor/app/live-stream) que nos permite ter uma visão em tempo real dos nossos servidores.
Ha algum tempo o time do Azure decidiu implementar a autenticação obrigatória para a visualização de métricas no Live Stream.
O post de hoje é sobre como habilitar a telemetria novamente, uma vez que o live stream continua funcionando para a maioria dos usuários.
(Opcional) - Habilitar o Application Insights direto no código
Se voce habilitou o application insights direto no portal do azure e não instalou os pacotes na sua aplicação, voce precisará instalar o pacote Microsoft.ApplicationInsights.AspNetCore e habilitar o o serviço no Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddApplicationInsightsTelemetry();
}
Criar uma chave de autenticação
No application insights temos a possibilidade de gerar uma API KEY para podermos fazer leituras das métricas e outras operações. Para visualizarmos os logs novamente precisaremos de uma chave que tenha suporte para autenticação.
No portal do azure, selecione o Application Insights que deseja criar a chave, depois selecione o menu API Access.

Clique em Create API Key no topo e de um nome para sua chave, a opção mais importante para nosso objetivo é Authenticate SDK Control Channel.

Copie a chave gerada para algum local seguro, uma vez gerada a chave nunca mais é mostrada no portal do Azure, em caso de perda teremos que gerar uma nova chave.

Autenticando o módulo QuickPulseTelemetryModule
Agora que temos nossa chave de autenticação, temos que configurar o módulo QuickPulseTelemetryModule para ler nossa chave e fazer a autenticação.
No meu appsettings.json eu criei uma entrada nova com a minha chave chamada APPLICATIONINSIGHTS_APIKEY, voce pode dar outro nome se quiser.

No método ConfigureServices adicione o seguinte código:
public void ConfigureServices(IServiceCollection services)
{
services.AddApplicationInsightsTelemetry();
services.ConfigureTelemetryModule<QuickPulseTelemetryModule>((module, o) =>
{
module.AuthenticationApiKey = Configuration.GetValue("APPLICATIONINSIGHTS_APIKEY", string.Empty);
});
services.AddControllers();
}
All done! Agora basta republicar a aplicação e teremos nossa telemetria ativa novamente no live stream.

Para mais informações sobre o live stream e como personalizar os filtros de exibição, visite a documentação oficial:
