Correlacionar dados do Application Insights com origens de dados personalizadas
O Application Insights recolhe vários tipos de dados diferentes: exceções, rastreios, vistas de página e outros. Embora isto seja muitas vezes suficiente para investigar o desempenho, a fiabilidade e a utilização da sua aplicação, existem casos em que é útil correlacionar os dados armazenados no Application Insights com outros conjuntos de dados completamente personalizados.
Algumas situações em que poderá querer dados personalizados incluem:
- Tabelas de melhoramento ou pesquisa de dados: por exemplo, complemente um nome de servidor com o proprietário do servidor e a localização do laboratório na qual pode ser encontrado
- Correlação com origens de dados que não sejam do Application Insights: por exemplo, correlacione dados sobre uma compra num arquivo Web com informações do seu serviço de compra-cumprimento para determinar a precisão das estimativas de tempo de envio
- Dados completamente personalizados: muitos dos nossos clientes adoram a linguagem de consulta e o desempenho da plataforma de registos do Azure Monitor que suporta o Application Insights e querem utilizá-lo para consultar dados que não estão de todo relacionados com o Application Insights. Por exemplo, para controlar o desempenho do painel solar como parte de uma instalação de casa inteligente, conforme descrito aqui.
Como correlacionar dados personalizados com dados do Application Insights
Uma vez que o Application Insights é apoiado pela poderosa plataforma de registos do Azure Monitor, podemos utilizar toda a potência do Azure Monitor para ingerir os dados. Em seguida, vamos escrever consultas com o operador "join" que irá correlacionar estes dados personalizados com os dados disponíveis nos registos do Azure Monitor.
Ingerir dados
Nesta secção, vamos rever como colocar os seus dados nos registos do Azure Monitor.
Se ainda não tiver uma, aprovisione uma nova área de trabalho do Log Analytics ao seguir estas instruções e ao incluir o passo "criar uma área de trabalho".
Para começar a enviar dados de registo para o Azure Monitor. Existem várias opções:
Para um mecanismo síncrono, pode chamar diretamente a API do recoletor de dados ou utilizar o nosso conector do Logic App – basta procurar "Azure Log Analytics" e escolher a opção "Enviar Dados":
Para uma opção assíncrona, utilize a API do Recoletor de Dados para criar um pipeline de processamento. Veja este artigo para obter detalhes.
Correlacionar dados
O Application Insights baseia-se na plataforma de registos do Azure Monitor. Por conseguinte, podemos utilizar associações entre recursos para correlacionar quaisquer dados ingeridos no Azure Monitor com os nossos dados do Application Insights.
Por exemplo, podemos ingerir o nosso inventário de laboratório e localizações numa tabela chamada "LabLocations_CL" numa área de trabalho do Log Analytics denominada "myLA". Se quisermos rever os nossos pedidos monitorizados na aplicação Application Insights denominada "myAI" e correlacionar os nomes dos computadores que serviram os pedidos para as localizações destes computadores armazenados na tabela personalizada mencionada anteriormente, podemos executar a seguinte consulta a partir do contexto do Application Insights ou do Azure Monitor:
app('myAI').requests
| join kind= leftouter (
workspace('myLA').LabLocations_CL
| project Computer_S, Owner_S, Lab_S
) on $left.cloud_RoleInstance == $right.Computer