A autoinstrumentação, também conhecida como monitoramento de runtime, é a maneira mais fácil de ativar o Application Insights para o Azure App Service sem a necessidade de alterações de código ou configurações avançadas. Com base em seu cenário específico, avalie se você precisa de monitoramento mais avançado por meio de instrumentação manual.
Observação
Em 31 de março de 31, 2025, o suporte à ingestão de chave de instrumentação será encerrado. A ingestão de chave de instrumentação continuará funcionando, mas não forneceremos mais atualizações ou suporte para o recurso. Faça a transição para cadeias de conexão para aproveitar os novos recursos.
Habilitar o Application Insights
Importante
Se o monitoramento de instrumentação automática e a instrumentação baseada em SDK manual forem detectados, somente as configurações de instrumentação manual serão respeitadas. Essa disposição impede que dados duplicados sejam enviados. Para saber mais, confira solução de problemas.
Autoinstrumentação no portal do Azure
Selecione Application Insights no menu de navegação à esquerda do serviço de aplicativo e selecione Habilitar.
Crie um recurso ou selecione um recurso do Application Insights existente para o aplicativo.
Observação
Quando você seleciona OK para criar um novo recurso, é solicitado que você aplique as configurações de monitoramento. Selecionar Continuar vincula seu novo recurso do Application Insights ao serviço de aplicativo. Em seguida, o serviço de aplicativo é reiniciado.
Depois de especificar qual recurso usar, você poderá escolher como deseja que o Application Insights colete dados por plataforma para seu aplicativo. as opções da coleção ASP.NET Core são recomendadas ou desabilitadas.
Importante
Se o monitoramento de instrumentação automática e a instrumentação baseada em SDK manual forem detectados, somente as configurações de instrumentação manual serão respeitadas. Essa disposição impede que dados duplicados sejam enviados. Para saber mais, confira solução de problemas.
Observação
Não há suporte à combinação de APPINSIGHTS_JAVASCRIPT_ENABLED
e urlCompression
. Para obter mais informações, consulte Solução de problemas.
Autoinstrumentação no portal do Azure
Selecione Application Insights no menu de navegação à esquerda do serviço de aplicativo e selecione Habilitar.
Crie um recurso ou selecione um recurso do Application Insights existente para o aplicativo.
Observação
Quando você seleciona OK para criar um novo recurso, é solicitado que você aplique as configurações de monitoramento. Selecionar Continuar vincula seu novo recurso do Application Insights ao serviço de aplicativo. Em seguida, o serviço de aplicativo é reiniciado.
Depois de especificar qual recurso usar, você poderá escolher como deseja que o Application Insights colete dados por plataforma para seu aplicativo. O monitoramento de aplicativos ASP.NET está ativado por padrão com dois níveis diferentes de coletas: Recomendado e Básico.
A tabela a seguir resume os dados coletados para cada rota.
Dados |
Recomendadas |
Básico |
Adiciona as tendências de uso de CPU, memória e E/S |
Sim |
Não |
Coleta as tendências de uso e permite a correlação entre resultados de disponibilidade e transações |
Sim |
Sim |
Coleta as exceções não tratadas pelo processo de host |
Sim |
Sim |
Aumenta a precisão de métricas de APM com carga quando a amostragem é usada |
Sim |
Sim |
Correlaciona microsserviços entre limites de solicitação/dependência |
Sim |
Não (somente recursos APM de instância única) |
Essa integração adiciona o Application Insights Java 3.x e coleta automaticamente a telemetria. Você ainda pode aplicar configurações extras e adicionar sua própria telemetria personalizada.
Autoinstrumentação no portal do Azure
Selecione Application Insights no menu de navegação à esquerda do serviço de aplicativo e selecione Habilitar.
Crie um recurso ou selecione um recurso do Application Insights existente para o aplicativo.
Observação
Quando você seleciona OK para criar um novo recurso, é solicitado que você aplique as configurações de monitoramento. Selecionar Continuar vincula seu novo recurso do Application Insights ao serviço de aplicativo. Em seguida, o serviço de aplicativo é reiniciado.
Importante
Se o monitoramento de instrumentação automática e a instrumentação baseada em SDK manual forem detectados, somente as configurações de instrumentação manual serão respeitadas. Essa disposição impede que dados duplicados sejam enviados. Para saber mais, confira a seção Solução de problemas.
Observação
Você pode configurar o agente anexado automaticamente usando a variável de ambiente APPLICATIONINSIGHTS_CONFIGURATION_CONTENT
na folha variável de Ambiente do Serviço de Aplicativo. Para obter detalhes sobre as opções de configuração que podem ser passadas por meio dessa variável de ambiente, consulte Node.js Configuração.
O Application Insights para Node.js está integrado com o Serviço de Aplicativo no Linux: contêineres personalizados e baseados em código, e com o Serviço de Aplicativo no Windows para aplicativos baseados em código. A integração está em versão prévia pública.
Autoinstrumentação no portal do Azure
Selecione Application Insights no menu de navegação à esquerda do serviço de aplicativo e selecione Habilitar.
Crie um recurso ou selecione um recurso do Application Insights existente para o aplicativo.
Observação
Quando você seleciona OK para criar um novo recurso, é solicitado que você aplique as configurações de monitoramento. Selecionar Continuar vincula seu novo recurso do Application Insights ao serviço de aplicativo. Em seguida, o serviço de aplicativo é reiniciado.
Depois de especificar qual recurso usar, você estará pronto.
O Application Insights para Python integra-se ao Serviço de Aplicativo do Azure para Linux baseado em código. A integração está em versão prévia pública e adiciona o SDK do Python, que está em GA. Ela instrumenta bibliotecas populares do Python em seu código, permitindo coletar e correlacionar automaticamente as dependências, os logs e as métricas. Para ver quais chamadas e métricas são coletadas, consulte bibliotecas do Python
A telemetria de log é coletada no nível do agente raiz. Para saber mais sobre a hierarquia de log nativa do Python, visite a documentação de log do Python.
Pré-requisitos
- Python versão 3.11 ou anterior.
- O Serviço de Aplicativo deve ser implantado como código. Não há suporte para os contêineres personalizados.
Autoinstrumentação no portal do Azure
Selecione Application Insights no menu de navegação à esquerda do serviço de aplicativo e selecione Habilitar.
Crie um recurso ou selecione um recurso do Application Insights existente para o aplicativo.
Observação
Quando você seleciona OK para criar um novo recurso, é solicitado que você aplique as configurações de monitoramento. Selecionar Continuar vincula seu novo recurso do Application Insights ao serviço de aplicativo. Em seguida, o serviço de aplicativo é reiniciado.
Especifique o recurso, e ele está pronto para uso.
Bibliotecas do Python
Após a instrumentação, colete chamadas e métricas dessas bibliotecas do Python:
Instrumentação do Django
Para usar a Instrumentação do Django do OpenTelemetry, você precisa definir a variável de ambiente DJANGO_SETTINGS_MODULE
nas configurações do Serviço de Aplicativo para apontar da pasta do aplicativo para o módulo de configurações.
Para obter mais informações, consulte a documentação do Django.
Você pode coletar mais dados automaticamente quando incluir as bibliotecas de instrumentação da comunidade OpenTelemetry.
Cuidado
Não damos suporte nem garantimos a qualidade das bibliotecas de instrumentação da comunidade. Para sugerir uma sugestão para nossa distribuição, poste ou vote positivamente em nossa comunidade de feedback. Lembre-se de que algumas são baseadas em especificações experimentais do OpenTelemetry e podem introduzir futuras alterações interruptivas.
Para adicionar a Biblioteca de Instrumentação do OpenTelemetry da comunidade, instale-a por meio do arquivo requirements.txt
do aplicativo. A instrumentação automática do OpenTelemetry seleciona e instrumenta todas as bibliotecas instaladas. Localize a lista de bibliotecas da comunidade aqui.
Atualizar manualmente o agente/extensão de monitoramento
Atualização das versões 2.8.9 e superiores
A atualização da versão 2.8.9 ocorre automaticamente, sem nenhuma ação adicional. Os novos bits de monitoramento são entregues em segundo plano ao serviço de aplicativo de destino e são coletados na reinicialização do aplicativo.
Para verificar qual versão da extensão você está executando, acesse https://yoursitename.scm.azurewebsites.net/ApplicationInsights
.
Atualização das versões 1.0.0-2.6.5
A partir da versão 2.8.9, a extensão de site pré-instalada é usada. Se você estiver com uma versão anterior, poderá fazer a atualização por meio de uma das duas maneiras:
Atualize habilitando por meio do portal do Azure: mesmo se você tiver a extensão do Application Insights para o Serviço de Aplicativo instalada, a interface do usuário mostrará apenas o botão Habilitar . Nos bastidores, a extensão de site particular antigo é removida.
Atualizar por meio do PowerShell:
- Defina as configurações do aplicativo para habilitar a extensão de site
ApplicationInsightsAgent
pré-instalada. Para obter mais informações, consulte Habilitar por meio do PowerShell.
- Remova manualmente a extensão de site privado chamada extensão Application Insights para o Serviço de Aplicativo do Azure.
Se a atualização for feita de uma versão anterior à 2.5.1, verifique se as DLLs ApplicationInsights
foram removidas da pasta bin do aplicativo. Para obter mais informações, consulte Solução de problemas.
Atualização das versões 2.8.9 e superiores
A atualização da versão 2.8.9 ocorre automaticamente, sem nenhuma ação adicional. Os novos bits de monitoramento são entregues em segundo plano ao serviço de aplicativo de destino e são coletados na reinicialização do aplicativo.
Para verificar qual versão da extensão você está executando, acesse https://yoursitename.scm.azurewebsites.net/ApplicationInsights
.
Atualização das versões 1.0.0-2.6.5
A partir da versão 2.8.9, a extensão de site pré-instalada é usada. Se você estiver com uma versão anterior, poderá fazer a atualização por meio de uma das duas maneiras:
Atualize habilitando por meio do portal do Azure: mesmo se você tiver a extensão do Application Insights para o Serviço de Aplicativo instalada, a interface do usuário mostrará apenas o botão Habilitar . Nos bastidores, a extensão de site particular antigo é removida.
Atualizar por meio do PowerShell:
- Defina as configurações do aplicativo para habilitar a extensão de site
ApplicationInsightsAgent
pré-instalada. Para obter mais informações, consulte Habilitar por meio do PowerShell.
- Remova manualmente a extensão de site privado chamada extensão Application Insights para o Serviço de Aplicativo do Azure.
Se a atualização for feita de uma versão anterior à 2.5.1, verifique se as DLLs ApplicationInsights
foram removidas da pasta bin do aplicativo. Para obter mais informações, consulte Solução de problemas.
A versão Java do Application Insights é atualizada automaticamente como parte das atualizações do Serviço de Aplicativo. Se você encontrar um problema que foi corrigido na versão mais recente do agente Java do Application Insights, atualize-o manualmente.
Carregue o arquivo JAR do agente Java para o Serviço de Aplicativo.
a. Primeiro, obtenha a versão mais recente da CLI do Azure seguindo as instruções aqui.
b. Em seguida, obtenha a versão mais recente do agente Java do Application Insights seguindo as instruções aqui.
c. Em seguida, implante o arquivo jar do agente do Java do Serviço de Aplicativo usando o seguinte comando: az webapp deploy --src-path applicationinsights-agent-{VERSION_NUMBER}.jar --target-path java/applicationinsights-agent-{VERSION_NUMBER}.jar --type static --resource-group {YOUR_RESOURCE_GROUP} --name {YOUR_APP_SVC_NAME}
. Como alternativa, você pode usar este guia para implantar o agente por meio do plug-in do Maven.
Desabilite o Application Insights por meio da guia Application Insights no portal do Azure.
Depois que o arquivo jar do agente for carregado, acesse as configurações do Serviço de Aplicativo. Se você precisar usar o Comando de Inicialização para Linux, inclua argumentos JVM:
O Comando de Inicialização não respeita JAVA_OPTS
para JavaSE ou CATALINA_OPTS
para Tomcat.
Se você não usar o Comando de Inicialização, crie uma variável de ambiente para JAVA_OPTS
JavaSE ou CATALINA_OPTS
para Tomcat, com o valor -javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar
.
Para aplicar as alterações, reinicie o aplicativo.
Observação
Se você definir a variável de ambiente JAVA_OPTS
para JavaSE ou CATALINA_OPTS
para Tomcat, você precisará desabilitar o Application Insights no portal do Azure. Como alternativa, se você preferir habilitar o Application Insights no portal do Azure, não defina a variável JAVA_OPTS
para JavaSE ou CATALINA_OPTS
para Tomcat nas definições de configurações do Serviço de Aplicativo.
A versão do Application Insights Node.js é atualizada automaticamente como parte das atualizações do Serviço de Aplicativo e não pode ser atualizada manualmente.
Se você encontrar um problema corrigido na versão mais recente do SDK do Application Insights, poderá remover a autoinstrumentação e instrumentar manualmente seu aplicativo com a versão mais recente do SDK.
A versão do Python do Application Insights é atualizada automaticamente como parte das atualizações do Serviço de Aplicativo e não pode ser atualizada manualmente.
No momento, não oferecemos opções para configurar a extensão de monitoramento do ASP.NET Core.
Para configurar a amostragem, que você poderia controlar anteriormente por meio do arquivo applicationinsights.config , agora você pode interagir com ela por meio de configurações de aplicativo com o prefixo MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor
correspondente.
Por exemplo, para alterar a porcentagem de amostragem inicial, crie uma configuração de aplicativo de: MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage
e um valor de 100
.
Para desabilitar a amostragem, defina MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage
como um valor de 100
.
As configurações compatíveis incluem:
MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage
MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage
MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_EvaluationInterval
MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MaxTelemetryItemsPerSecond
Para obter a lista de configurações e definições de processador de telemetria de amostragem adaptativa com suporte, consulte o código e a documentação de amostragem.
Depois de especificar qual recurso usar, você pode configurar o agente Java. Se você não configurar o agente Java, as configurações padrão serão aplicadas.
O conjunto completo de configurações está disponível. Você só precisa colar um arquivo json válido. Exclua a cadeia de conexão e todas as configurações que estão em versão prévia – você pode adicionar os itens que estão atualmente em versão prévia à medida que eles se tornam disponíveis em geral.
Depois de modificar as configurações por meio do portal do Azure, a variável de ambiente APPLICATIONINSIGHTS_CONFIGURATION_FILE
será preenchida automaticamente e aparecerá no painel de configurações do Serviço de Aplicativo. Essa variável contém o conteúdo JSON completo que você colou na caixa de texto de configuração do portal do Azure para o seu aplicativo Java.
O agente Node.js pode ser configurado usando JSON. Defina a variável de ambiente APPLICATIONINSIGHTS_CONFIGURATION_CONTENT
para a cadeia de caracteres JSON ou defina a variável de ambiente APPLICATIONINSIGHTS_CONFIGURATION_FILE
como o caminho do arquivo que contém o JSON.
"samplingPercentage": 80,
"enableAutoCollectExternalLoggers": true,
"enableAutoCollectExceptions": true,
"enableAutoCollectHeartbeat": true,
"enableSendLiveMetrics": true,
...
O conjunto completo de configurações está disponível. Você só precisa usar um arquivo json válido.
Você pode configurar com variáveis de ambiente OpenTelemetry , como:
Variável de ambiente |
Descrição |
OTEL_SERVICE_NAME , OTEL_RESOURCE_ATTRIBUTES |
Especifica os atributos de recurso OpenTelemetry associados ao seu aplicativo. Você pode definir todos os Atributos de Recurso com OTEL_RESOURCE_ATTRIBUTES ou usar OTEL_SERVICE_NAME para definir apenas o service.name . |
OTEL_LOGS_EXPORTER |
Se definido como None , desabilita a coleta e a exportação de telemetria de registro em log. |
OTEL_METRICS_EXPORTER |
Se definido como None , desabilita a coleta e a exportação de telemetria de métrica. |
OTEL_TRACES_EXPORTER |
Se definido como None , desabilita a coleta e a exportação de telemetria de rastreamento distribuído. |
OTEL_BLRP_SCHEDULE_DELAY |
Especifica o intervalo de exportação de registro em log em milissegundos. Usa 5.000 como padrão. |
OTEL_BSP_SCHEDULE_DELAY |
Especifica o intervalo de exportação de rastreamento distribuído em milissegundos. Usa 5.000 como padrão. |
OTEL_TRACES_SAMPLER_ARG |
Especifica a proporção de telemetria de rastreamento distribuído a ser amostrada. Os valores aceitos variam de 0 a 1. O padrão é 1.0, o que significa que nenhuma telemetria é amostrada. |
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS |
Especifica quais instrumentações do OpenTelemetry devem ser desabilitadas. Quando desabilitadas, as instrumentações não são executadas como parte da instrumentação automática. Aceita uma lista separada por vírgulas de nomes de biblioteca minúsculas. Por exemplo, defina-o como "psycopg2,fastapi" para desabilitar as instrumentações Psycopg2 e FastAPI. Ele usa como padrão uma lista vazia, habilitando todas as instrumentações compatíveis. |
Habilitar monitoramento do lado do cliente
O monitoramento do lado do cliente é habilitado por padrão para aplicativos do ASP.NET Core com coleção recomendada , independentemente de a configuração APPINSIGHTS_JAVASCRIPT_ENABLED
do aplicativo estar presente.
Se quiser desabilitar o monitoramento do lado do cliente:
Selecione Configurações>.
Nas configurações do aplicativo, crie uma nova configuração de aplicativo com as seguintes informações:
- Nome:
APPINSIGHTS_JAVASCRIPT_ENABLED
- Valor:
false
Salve as configurações. Reinicie o aplicativo.
O monitoramento no lado do cliente é um opcional para ASP.NET. Habilitar monitoramento do lado do cliente:
Selecione Configurações>.
Nas configurações do aplicativo, crie uma nova configuração de aplicativo:
- Nome: insira APPINSIGHTS_JAVASCRIPT_ENABLED.
- Valor: Insira true.
Salve as configurações e reinicie seu aplicativo.
Para desabilitar o monitoramento do lado do cliente, remova o par de valores de chave associado das configurações do aplicativo ou defina o valor como false.
Automatizar monitoramento
Para habilitar a coleta de telemetria com o Application Insights, somente as seguintes configurações do aplicativo precisam ser definidas:
Definições de configurações do aplicativo
Nome da configuração do aplicativo |
Definição |
Valor |
ApplicationInsightsAgent_EXTENSION_VERSION |
Extensão principal, que controla o monitoramento do tempo de execução. |
~2 para Windows ou ~3 para Linux |
XDT_MicrosoftApplicationInsights_Mode |
No modo padrão, somente os recursos essenciais são habilitados para garantir um desempenho ideal. |
disabled ou recommended . |
XDT_MicrosoftApplicationInsights_PreemptSdk |
Somente para aplicativos ASP.NET Core. Habilita a interoperabilidade (interoperação) com o SDK do Application Insights. Carrega a extensão lado a lado com o SDK e a usa para enviar telemetria. (Desabilita o SDK do Application Insights.) |
1 |
Definições de configurações do aplicativo
Nome da configuração do aplicativo |
Definição |
Valor |
ApplicationInsightsAgent_EXTENSION_VERSION |
Extensão principal, que controla o monitoramento do tempo de execução. |
~2 |
XDT_MicrosoftApplicationInsights_Mode |
No modo padrão, somente os recursos essenciais são habilitados para garantir um desempenho ideal. |
default ou recommended |
InstrumentationEngine_EXTENSION_VERSION |
Controla se o mecanismo de regravação binária InstrumentationEngine é ativado. Essa configuração tem implicações de desempenho e afeta o tempo de início/inicialização frio. |
~1 |
XDT_MicrosoftApplicationInsights_BaseExtensions |
Controla se o SQL e o texto da tabela do Azure é capturado junto com as chamadas de dependência. Aviso de desempenho: o tempo de inicialização a frio do aplicativo é afetado. Essa configuração requer o InstrumentationEngine . |
~1 |
Definições de configurações do aplicativo
Nome da configuração do aplicativo |
Definição |
Valor |
ApplicationInsightsAgent_EXTENSION_VERSION |
Extensão principal, que controla o monitoramento do tempo de execução. |
~2 no Windows ou ~3 no Linux. |
XDT_MicrosoftApplicationInsights_Java |
Sinalizador para controlar se o agente Java está incluído. |
0 ou 1 (aplicável somente no Windows). |
Observação
O Depurador de Instantâneos não está disponível para aplicativos Java.
Definições de configurações do aplicativo
Nome da configuração do aplicativo |
Definição |
Valor |
ApplicationInsightsAgent_EXTENSION_VERSION |
Extensão principal, que controla o monitoramento do tempo de execução. |
~2 no Windows ou ~3 no Linux. |
XDT_MicrosoftApplicationInsights_NodeJS |
Sinalizador para controlar se o agente Node.js está incluído. |
0 ou 1 (aplicável somente no Windows). |
Observação
O Depurador de Instantâneos não está disponível para aplicativos Node.js.
Definições de configurações do aplicativo
Nome da configuração do aplicativo |
Definição |
Valor |
APPLICATIONINSIGHTS_CONNECTION_STRING |
Cadeia de conexões do seu recurso do Application Insights. |
Exemplo: abcd1234-ab12-cd34-abcd1234abcd |
ApplicationInsightsAgent_EXTENSION_VERSION |
Extensão principal, que controla o monitoramento do tempo de execução. |
~3 |
Observação
O Depurador de Instantâneos não está disponível para aplicativos Python.
Configurações de aplicativo do Serviço de Aplicativo com o Azure Resource Manager
As configurações de aplicativo para o Serviço de Aplicativo do Azure podem ser gerenciadas e configuradas com modelos do Azure Resource Manager. Você pode usar esse método ao implantar novos recursos de Serviço de Aplicativo com a automação do Resource Manager ou modificar as configurações dos recursos existentes.
A estrutura básica das configurações do aplicativo JSON para um recurso do Serviço de Aplicativo:
"resources": [
{
"name": "appsettings",
"type": "config",
"apiVersion": "2015-08-01",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', variables('webSiteName'))]"
],
"tags": {
"displayName": "Application Insights Settings"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
]
Automatize a criação de um recurso do Application Insights e vincule ao recurso do Serviço de Aplicativo recém-criado
Para criar um modelo do Resource Manager com as configurações do Application Insights padrão, inicie o processo como se estivesse criando um novo aplicativo Web com o Application Insights habilitado.
No portal do Azure, crie um novo recurso de Aplicativo Web com as informações desejadas. Habilite o Application Insights na guia Monitor + Seguro .
Vá para Examinar + criar e, em seguida, selecione Baixar um modelo para automação. Essa opção gera o modelo do Resource Manager mais recente com todas as configurações necessárias definidas.
Observação
O modelo de exemplo a seguir é para um aplicativo .NET 8 (LTS) em execução no Windows. Ele usa marcadores de posição my-monitored-web-app
para o nome do aplicativo e aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
para o ID da assinatura.
Não recomendamos copiar e usá-lo diretamente. Em vez disso, gere seu próprio modelo com base nas instruções acima.
Expandir para exibir o modelo de exemplo
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string"
},
"resourceGroupName": {
"type": "string"
},
"name": {
"type": "string"
},
"location": {
"type": "string"
},
"hostingPlanName": {
"type": "string"
},
"serverFarmResourceGroup": {
"type": "string"
},
"alwaysOn": {
"type": "bool"
},
"ftpsState": {
"type": "string"
},
"autoGeneratedDomainNameLabelScope": {
"type": "string"
},
"sku": {
"type": "string"
},
"skuCode": {
"type": "string"
},
"workerSize": {
"type": "string"
},
"workerSizeId": {
"type": "string"
},
"numberOfWorkers": {
"type": "string"
},
"currentStack": {
"type": "string"
},
"phpVersion": {
"type": "string"
},
"netFrameworkVersion": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"apiVersion": "2022-03-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"tags": null,
"dependsOn": [
"microsoft.insights/components/my-monitored-web-app",
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [
{
"name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
"value": "[reference('microsoft.insights/components/my-monitored-web-app', '2015-05-01').ConnectionString]"
},
{
"name": "ApplicationInsightsAgent_EXTENSION_VERSION",
"value": "~2"
},
{
"name": "XDT_MicrosoftApplicationInsights_Mode",
"value": "default"
}
],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[parameters('currentStack')]"
}
],
"phpVersion": "[parameters('phpVersion')]",
"netFrameworkVersion": "[parameters('netFrameworkVersion')]",
"alwaysOn": "[parameters('alwaysOn')]",
"ftpsState": "[parameters('ftpsState')]"
},
"serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
"clientAffinityEnabled": true,
"virtualNetworkSubnetId": null,
"httpsOnly": true,
"publicNetworkAccess": "Enabled",
"autoGeneratedDomainNameLabelScope": "[parameters('autoGeneratedDomainNameLabelScope')]"
},
"resources": [
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/scm')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
},
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/ftp')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
}
]
},
{
"apiVersion": "2018-11-01",
"name": "[parameters('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"location": "[parameters('location')]",
"kind": "",
"tags": null,
"dependsOn": [],
"properties": {
"name": "[parameters('hostingPlanName')]",
"workerSize": "[parameters('workerSize')]",
"workerSizeId": "[parameters('workerSizeId')]",
"numberOfWorkers": "[parameters('numberOfWorkers')]",
"zoneRedundant": false
},
"sku": {
"Tier": "[parameters('sku')]",
"Name": "[parameters('skuCode')]"
}
},
{
"apiVersion": "2020-02-02-preview",
"name": "my-monitored-web-app",
"type": "microsoft.insights/components",
"location": "centralus",
"tags": null,
"dependsOn": [
"newWorkspaceTemplate"
],
"properties": {
"ApplicationId": "[parameters('name')]",
"Request_Source": "IbizaWebAppExtensionCreate",
"Flow_Type": "Redfield",
"Application_Type": "web",
"WorkspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DefaultResourceGroup-CUS/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS"
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "newWorkspaceTemplate",
"resourceGroup": "DefaultResourceGroup-CUS",
"subscriptionId": "[parameters('subscriptionId')]",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"apiVersion": "2020-08-01",
"name": "DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS",
"type": "Microsoft.OperationalInsights/workspaces",
"location": "centralus",
"properties": {}
}
]
}
}
}
]
}
Ativar através do Powershell
Para habilitar o monitoramento de aplicativos por meio do PowerShell, somente as configurações de aplicativo subjacentes devem ser alteradas. O exemplo a seguir habilita o monitoramento de aplicativos para um site chamado my-monitored-web-app
no grupo de recursos my-resource-group
. Ele configura os dados a serem enviados para a InstrumentationKey=012345678-abcd-ef01-2345-6789abcd
cadeia de conexão.
Observação
Para Windows, defina ApplicationInsightsAgent_EXTENSION_VERSION como ~2
.
Para Linux, defina ApplicationInsightsAgent_EXTENSION_VERSION como ~3
.
$app = Get-AzWebApp -ResourceGroupName "my-resource-group" -Name "my-monitored-web-app" -ErrorAction Stop
$newAppSettings = @{} # Case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # Preserve non-Application-Insights application settings.
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"; # Set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~3"; # Enable the ApplicationInsightsAgent.
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop
Perguntas frequentes
Esta seção fornece respostas para perguntas comuns.
O que o Application Insights modifica no meu projeto?
Os detalhes dependem do tipo de projeto. A lista a seguir é um exemplo para um aplicativo Web.
Adiciona arquivos ao seu projeto:
- ApplicationInsights.config
- ai.js
Instala pacotes NuGet:
- API do Application Insights: a API principal
- API do Application Insights para Aplicativos Web: usada para enviar telemetria do servidor
- API do Application Insights para Aplicativos JavaScript: usada para enviar telemetria do cliente
Inclui assemblies em pacotes:
- Microsoft.ApplicationInsights
- Microsoft.ApplicationInsights.Platform
Insere itens em:
- Web.config
- packages.config
Insere snippets no código do cliente e do servidor para inicializá-los com a ID de recurso do Application Insights. Por exemplo, em um aplicativo MVC, o código é inserido na página principal Views/Shared/_Layout.cshtml. Somente para novos projetos, você adiciona o Application Insights a um projeto existente manualmente.
Qual a diferença entre as métricas padrão das métricas do serviço Application Insights vs Aplicativo do Azure?
O Application Insights coleta a telemetria das solicitações que chegaram no aplicativo. Se a falha ocorreu no WebApps/WebServer e a solicitação não chegou ao aplicativo do usuário, o Application Insights não terá telemetrias sobre ele.
A duração da serverresponsetime
calculada pelo Application Insights não corresponderá necessariamente ao tempo de resposta do servidor observado pelos aplicativos Web. Esse comportamento ocorre porque o Application Insights só conta a duração quando a solicitação realmente chega ao aplicativo do usuário. Se a solicitação estiver presa ou enfileirada no WebServer, o tempo de espera será incluído nas métricas dos aplicativos Web, mas não nas métricas do Application Insights.
Solução de problemas
Testar a conectividade entre o host do aplicativo e o serviço de ingestão
Os SDKs e agentes do Application Insights enviam telemetria para serem ingeridos como chamadas REST para nossos pontos de extremidade de ingestão. Você pode testar a conectividade do servidor Web ou do computador host do aplicativo para os pontos de extremidade do serviço de ingestão usando clientes REST brutos do PowerShell ou comandos curl. Consulte Como solucionar problemas de ausência de telemetria de aplicativos no Azure Monitor Application Insights.
Observação
Quando você cria um aplicativo Web com os tempos de execução do ASP.NET Core
no Serviço de Aplicativo, ele implanta uma única página HTML estática como um site inicial. Não recomendamos que você solucione um problema com o modelo padrão. Implante um aplicativo antes de solucionar um problema.
Telemetria ausente
Windows
Verifique se a configuração do aplicativo ApplicationInsightsAgent_EXTENSION_VERSION
está definida em um valor de ~2
.
Navegue até https://yoursitename.scm.azurewebsites.net/ApplicationInsights
.
Confirme se o Status da Extensão do Application Insights é Pre-Installed Site Extension, version 2.8.x.xxxx, is running.
Se ele não estiver em execução, siga as instruções na seção Habilitar o monitoramento do Application Insights.
Confirme se a origem do status existe e se parece com Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json
.
Se um valor semelhante não estiver presente, significa que o aplicativo não está em execução no momento ou não tem suporte. Para garantir que o aplicativo esteja em execução, tente visitar manualmente os pontos de extremidade do aplicativo/URL do aplicativo, o que permitirá que as informações de tempo de execução fiquem disponíveis.
Confirme se iKeyExists é True
. Se está False
, adicione APPINSIGHTS_INSTRUMENTATIONKEY
e APPLICATIONINSIGHTS_CONNECTION_STRING
com seu GUID iKey às configurações do aplicativo.
Caso seu aplicativo se refira a qualquer pacote do Application Insights, a habilitação da integração do Serviço de Aplicativo pode não ter efeito e os dados podem não aparecer no Application Insights. Um exemplo seria se você instrumentou anteriormente ou tentou instrumentar seu aplicativo com o SDK do ASP.NET Core. Para corrigir o problema, no portal do Azure, ative Interoperabilidade com o SDK do Application Insights.
Importante
Essa funcionalidade está em versão prévia.
Os dados são enviados usando uma abordagem sem código, mesmo se o SDK do Application Insights foi originalmente usado ou se houve uma tentativa de usá-lo.
Importante
Se o aplicativo usou o SDK do Application Insights para enviar alguma telemetria, a telemetria será desabilitada. Em outras palavras, a telemetria personalizada (por exemplo, um método Track*()
) e as configurações personalizadas (por exemplo, amostragem) serão desabilitadas.
Linux
Verifique se a configuração do aplicativo ApplicationInsightsAgent_EXTENSION_VERSION
está definida em um valor de ~3
.
Navegue até https://your site name.scm.azurewebsites.net/ApplicationInsights
.
Neste site, confirme:
- A origem do status existe e se parece com
Status source /var/log/applicationinsights/status_abcde1234567_89_0.json
.
- O valor
Auto-Instrumentation enabled successfully
é exibido. Se não houver um valor semelhante presente, significa que o aplicativo não está em execução ou não tem suporte. Para garantir que o aplicativo esteja em execução, tente visitar manualmente os pontos de extremidade do aplicativo/URL do aplicativo, o que permitirá que as informações de tempo de execução fiquem disponíveis.
- IKeyExists é
True
. Se está False
, adicione APPINSIGHTS_INSTRUMENTATIONKEY
e APPLICATIONINSIGHTS_CONNECTION_STRING
com seu GUID iKey às configurações do aplicativo.
O site padrão implantado com aplicativos Web não dá suporte ao monitoramento automático do lado do cliente
Quando você cria um aplicativo Web com os tempos de execução do ASP.NET Core no Serviço de Aplicativo do Azure, ele implanta uma única página HTML estática como um site inicial. A página da Web estática também carrega um site ASP.NET gerenciado no IIS. Esse comportamento permite o teste do monitoramento do lado do servidor sem código, mas não dá suporte ao monitoramento automático do lado do cliente.
Se você quiser testar o servidor sem código e o monitoramento do lado do cliente para ASP.NET Core em um aplicativo Web do Serviço de Aplicativo, recomendamos seguir os guias oficiais para criar um aplicativo Web ASP.NET Core. Em seguida, use as instruções no artigo atual para habilitar o monitoramento.
Não há suporte para PHP, nem para WordPress
Não há suporte para sites em PHP e WordPress. Atualmente, não há um SDK/agente com suporte oficial para o monitoramento do lado do servidor dessas cargas de trabalho. Para acompanhar transações do lado do cliente em um site PHP ou WordPress, adicione o JavaScript do lado do cliente às suas páginas da Web usando o SDK do JavaScript.
A tabela a seguir fornece uma explicação do que esses valores significam, de suas causas subjacentes e das correções recomendadas.
Valor do problema |
Explicação |
Correção |
AppAlreadyInstrumented:true |
Esse valor indica que a extensão detectou que algum aspecto do SDK já está presente no aplicativo e ela volta atrás. Uma referência a Microsoft.ApplicationInsights.AspNetCore ou Microsoft.ApplicationInsights pode causar esse valor. |
Remova as referências. Algumas dessas referências são adicionadas por padrão de determinados modelos do Visual Studio. As versões mais antigas do Visual Studio referenciam Microsoft.ApplicationInsights . |
AppAlreadyInstrumented:true |
A presença da DLL Microsoft.ApplicationsInsights na pasta do aplicativo de uma implantação anterior também pode causar este valor. |
Limpe a pasta do aplicativo para garantir que essas DLLs sejam removidas. Verifique o diretório bin do aplicativo local e o diretório wwwroot no Serviço de Aplicativo. (Para verificar o diretório wwwroot do aplicativo Web do Serviço de Aplicativo, selecione Ferramentas Avançadas (Kudu) >Console de depuração>CMD>home\site\wwwroot). |
IKeyExists:false |
Esse valor indica que a chave de instrumentação não está presente na configuração do aplicativo APPINSIGHTS_INSTRUMENTATIONKEY . As causas possíveis incluem remover acidentalmente os valores ou esquecer de definir os valores no script de automação. |
Verifique se a configuração está presente nas configurações do aplicativo do serviço de aplicativo. |
Observação
Quando você cria um aplicativo Web com os tempos de execução do ASP.NET
no Serviço de Aplicativo, ele implanta uma única página HTML estática como um site inicial. Não recomendamos que você solucione um problema com um modelo padrão. Implante um aplicativo antes de solucionar um problema.
Telemetria ausente
Verifique se a configuração do aplicativo ApplicationInsightsAgent_EXTENSION_VERSION
está definida em um valor de ~2
.
Navegue até https://yoursitename.scm.azurewebsites.net/ApplicationInsights
.
Confirme se Application Insights Extension Status
é Pre-Installed Site Extension, version 2.8.x.xxxx
e está em execução.
Se ele não estiver em execução, siga as instruções para habilitar o monitoramento do Application Insights.
Confirme se a origem do status existe e se parece com Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json
.
Se um valor semelhante não estiver presente, significa que o aplicativo não está em execução no momento ou não tem suporte. Para garantir que o aplicativo esteja em execução, tente visitar manualmente os pontos de extremidade do aplicativo/URL do aplicativo, o que permitirá que as informações de tempo de execução fiquem disponíveis.
Confirme se IKeyExists
está true
.
Caso contrário, adicione APPINSIGHTS_INSTRUMENTATIONKEY
e APPLICATIONINSIGHTS_CONNECTION_STRING
com o GUID da chave de instrumentação às configurações do aplicativo.
Confirme se não há entradas para AppAlreadyInstrumented
, AppContainsDiagnosticSourceAssembly
e AppContainsAspNetTelemetryCorrelationAssembly
.
Se qualquer uma dessas entradas existir, remova os seguintes pacotes do seu aplicativo: Microsoft.ApplicationInsights
, System.Diagnostics.DiagnosticSource
e Microsoft.AspNet.TelemetryCorrelation
.
O site padrão implantado com aplicativos Web não dá suporte ao monitoramento automático do lado do cliente
Quando você cria um aplicativo Web com os tempos de execução do ASP.NET no Serviço de Aplicativo do Azure, ele implanta uma única página HTML estática como um site inicial. A página da Web estática também carrega um site ASP.NET gerenciado no IIS. Esta página permite testar o monitoramento do lado do servidor sem código, mas não dá suporte ao monitoramento automático do lado do cliente.
Se você quiser testar o monitoramento sem código do servidor e do lado do cliente para ASP.NET em um aplicativo Web do App Service, recomendamos seguir os guias oficiais para criar um aplicativo Web ASP.NET Framework. Em seguida, use as instruções no artigo atual para habilitar o monitoramento.
Não há suporte para a combinação de APPINSIGHTS_JAVASCRIPT_ENABLED e urlCompression
Se você usar APPINSIGHTS_JAVASCRIPT_ENABLED=true
nos casos em que o conteúdo é codificado, poderá obter erros como:
- Erro de regravação de URL 500.
- Erro 500.53 de módulo de regravação de URL com a mensagem: "As regras de regravação de saída não podem ser aplicadas quando o conteúdo da resposta HTTP está codificado (' gzip ')."
Ocorre um erro porque a configuração do APPINSIGHTS_JAVASCRIPT_ENABLED
aplicativo está definida como true
e a codificação de conteúdo está presente ao mesmo tempo. Ainda não há suporte para esse cenário. A solução alternativa é remover APPINSIGHTS_JAVASCRIPT_ENABLED
as configurações do aplicativo. Infelizmente, se a instrumentação de JavaScript do lado do cliente/navegador ainda for necessária, as referências manuais do SDK serão necessárias para suas páginas da Web. Siga as instruções para instrumentação manual com o SDK do JavaScript.
Para obter as informações mais recentes sobre o agente/extensão do Application Insights, consulte as notas de versão.
Não há suporte para PHP, nem para WordPress
Não há suporte para sites em PHP e WordPress. Atualmente, não há um SDK/agente com suporte oficial para o monitoramento do lado do servidor dessas cargas de trabalho. Para acompanhar transações do lado do cliente em um site PHP ou WordPress, adicione o JavaScript do lado do cliente às suas páginas da Web usando o SDK do JavaScript.
A tabela a seguir fornece uma explicação do que esses valores significam, de suas causas subjacentes e das correções recomendadas.
Valor do problema |
Explicação |
Correção |
AppAlreadyInstrumented:true |
Esse valor indica que a extensão detectou que algum aspecto do SDK já está presente no aplicativo e ela volta atrás. Uma referência a System.Diagnostics.DiagnosticSource , Microsoft.AspNet.TelemetryCorrelation ou Microsoft.ApplicationInsights pode causar esse valor. |
Remova as referências. Algumas dessas referências são adicionadas por padrão de determinados modelos do Visual Studio. Versões mais antigas do Visual Studio podem adicionar referências a Microsoft.ApplicationInsights . |
AppAlreadyInstrumented:true |
Esse valor também pode ser causado pela presença das DLLs anteriores na pasta do aplicativo de uma implantação anterior. |
Limpe a pasta do aplicativo para garantir que essas DLLs sejam removidas. Verifique o diretório bin do seu aplicativo local e o diretório wwwroot no recurso do Serviço de Aplicativo. Para verificar o diretório wwwroot do aplicativo Web do Serviço de Aplicativo, selecione Ferramentas Avançadas (Kudu)>Console de Depuração>CMD>home\site\wwwroot. |
AppContainsAspNetTelemetryCorrelationAssembly: true |
Esse valor indica que a extensão detectou referências a Microsoft.AspNet.TelemetryCorrelation no aplicativo e volta atrás. |
Remova a referência. |
AppContainsDiagnosticSourceAssembly**:true |
Esse valor indica que a extensão detectou referências a System.Diagnostics.DiagnosticSource no aplicativo e volta atrás. |
Para o ASP.NET, remova a referência. |
IKeyExists:false |
Esse valor indica que a chave de instrumentação não está presente na configuração do aplicativo APPINSIGHTS_INSTRUMENTATIONKEY . As causas possíveis podem ser que os valores foram removidos acidentalmente ou você esqueceu de definir os valores no script de automação. |
Verifique se a configuração está presente nas configurações do aplicativo do serviço de aplicativo. |
System.IO.FileNotFoundException após a atualização 2.8.44
A versão 2.8.44 da instrumentação automática atualiza o SDK do Application Insights para o 2.20.0. O SDK do Application Insights tem uma referência indireta a System.Runtime.CompilerServices.Unsafe.dll
por meio de System.Diagnostics.DiagnosticSource.dll
. Se o aplicativo tiver o redirecionamento de associação para System.Runtime.CompilerServices.Unsafe.dll
e se essa biblioteca não estiver presente na pasta do aplicativo, ele poderá gerar System.IO.FileNotFoundException
.
Para resolver esse problema, remova a entrada do redirecionamento de associação para System.Runtime.CompilerServices.Unsafe.dll
do arquivo web.config. Se o aplicativo quiser usar System.Runtime.CompilerServices.Unsafe.dll
, defina o redirecionamento de associação, conforme mostrado aqui:
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
</dependentAssembly>
Como solução temporária, defina a configuração do aplicativo ApplicationInsightsAgent_EXTENSION_VERSION
para um valor de 2.8.37
. Essa configuração aciona o Serviço de Aplicativo para usar a extensão antiga do Application Insights. Mitigações temporárias só devem ser usadas por períodos breves.
Telemetria ausente
Verifique se a configuração do aplicativo ApplicationInsightsAgent_EXTENSION_VERSION
está definida em um valor de ~2
no Windows ou ~3
no Linux
Examine o arquivo de log para ver se o agente foi iniciado com êxito: navegue até `https://yoursitename.scm.azurewebsites.net/
e, em SSH, acesse o diretório raiz. O arquivo de log está localizado em LogFiles/ApplicationInsights.
Depois de habilitar o monitoramento de aplicativos em seu aplicativo Java, valide se o agente está funcionando por meio da observação das métricas ao vivo – mesmo antes de implantar um aplicativo no Serviço de Aplicativo, você verá algumas solicitações do ambiente. Lembre-se de que o conjunto completo de telemetria só fica disponível quando o aplicativo está implantado e em execução.
Defina a variável de ambiente APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL
para debug
se você não vir nenhum erro e não houver telemetria.
Telemetria ausente
Windows
Verifique se a configuração do aplicativo ApplicationInsightsAgent_EXTENSION_VERSION
está definida em um valor de ~2
.
Navegue até https://yoursitename.scm.azurewebsites.net/ApplicationInsights
.
Confirme se SDKPresent
está definido como false, AgentInitializedSuccessfully
como verdadeiro e IKey
como tem um iKey válido.
Exemplo do arquivo JSON:
"AppType":"node.js",
"MachineName":"c89d3a6d0357",
"PID":"47",
"AgentInitializedSuccessfully":true,
"SDKPresent":false,
"IKey":"00000000-0000-0000-0000-000000000000",
"SdkVersion":"1.8.10"
Caso SDKPresent
seja verdadeiro, isso significa que a extensão detectou que algum aspecto do SDK já está presente no aplicativo e será retirado.
Linux
Verifique se a configuração do aplicativo ApplicationInsightsAgent_EXTENSION_VERSION
está definida em um valor de ~3
.
Navegue até /var/log/applicationinsights/ e abra status.json.
Confirme se SDKPresent
está definido como false, AgentInitializedSuccessfully
como verdadeiro e IKey
como tem um iKey válido.
Exemplo do arquivo JSON:
"AppType":"node.js",
"MachineName":"c89d3a6d0357",
"PID":"47",
"AgentInitializedSuccessfully":true,
"SDKPresent":false,
"IKey":"00000000-0000-0000-0000-000000000000",
"SdkVersion":"1.8.10"
Caso SDKPresent
seja verdadeiro, isso significa que a extensão detectou que algum aspecto do SDK já está presente no aplicativo e será retirado.
Telemetria duplicada
Só use a instrumentação automática no Serviço de Aplicativo se você não estiver usando a instrumentação manual do OpenTelemetry no código, como a Distribuição do OpenTelemetry do Azure Monitor ou o Exportador do OpenTelemetry do Azure Monitor.
Usar a instrumentação automática por cima da instrumentação manual pode causar telemetria duplicada e aumentar seu custo. Para usar a instrumentação automática do OpenTelemetry do Serviço de Aplicativo, primeiro remova a instrumentação manual do OpenTelemetry do seu código.
Se você estiver vendo encargos inesperados ou custos altos no Application Insights, este guia poderá ajudar. Ele aborda causas comuns, como alto volume de telemetria, picos de ingestão de dados e amostragem configurada incorretamente. É especialmente útil se você estiver solucionando problemas relacionados a picos de custo, volume de telemetria, amostragem não funcionando, limites de dados, ingestão alta ou cobrança inesperada. Para começar, veja Solucionar problemas de alta ingestão de dados no Application Insights.
Telemetria ausente
Se você não tiver telemetria, siga estas etapas para confirmar se a instrumentação automática está habilitada corretamente.
Confirme se a instrumentação automática está habilitada na experiência do Application Insights em seu Recurso do Serviço de Aplicativo.
Confirme se a configuração do aplicativo ApplicationInsightsAgent_EXTENSION_VERSION
está definida como um valor de ~3
e se APPLICATIONINSIGHTS_CONNECTION_STRING
aponta para o recurso apropriado do Application Insights.
Verifique o diagnóstico da instrumentação automática e os logs de status.
a. Navegue até /var/log/applicationinsights/ e abra status_*.json.
b. Confirme se AgentInitializedSuccessfully
está definido como true e se IKey
tem um iKey válido.
Exemplo de arquivo JSON:
"AgentInitializedSuccessfully":true,
"AppType":"python",
"MachineName":"c89d3a6d0357",
"PID":"47",
"IKey":"00000000-0000-0000-0000-000000000000",
"SdkVersion":"1.0.0"
O arquivo applicationinsights-extension.log
na mesma pasta pode mostrar outros diagnósticos úteis.
Aplicativos do Django
Se o aplicativo usa o Django e não está conseguindo iniciar ou está usando configurações incorretas, defina a variável de ambiente DJANGO_SETTINGS_MODULE
. Consulte a seção Instrumentação do Django para obter detalhes.
Para obter as atualizações mais recentes e correções de bug, consulte as notas de versão.
Próximas etapas