Удаление профилировщика appinsights из плана обслуживания приложения - PullRequest
0 голосов
/ 13 февраля 2019

В настоящее время я экспериментирую с новым профилировщиком Insight Core для бета-версии.

Однако я вижу сообщение об ошибке:

2019-02-11T11: 36:22 PID [6036] Информация 02-11 11:36:22 Ошибка: непредвиденное исключение в основном процессе агента.Подробности: Microsoft.ServiceProfiler.Utilities.AppIdNotFoundException: Невозможно найти AppId для iKey

В журналах диагностики.

Задать вопрос на github https://github.com/Microsoft/ApplicationInsights-Profiler-AspNetCore/issues/36, Я был любезенсообщил, что это, вероятно, из-за того, что старый профилировщик стал активным, и дал несколько советов о том, как его отключить.

Установка параметра APPINSIGHTS_PROFILERFEATURE_VERSION в отключенном состоянии, к сожалению, не работает для меня (хотя это может быть связано с моей конкретной настройкой шаблона ARM).

Вместо этого мне помогло отключение через Kudu (поскольку я должен сделать это как часть конвейера выпуска):

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

ApplicationInsightsProfiler2 webjob устанавливается старым расширением сайта Application Insights.Чтобы правильно удалить его, вам нужно удалить расширение ApplicationInsights с блейда «Extensions» на странице службы приложений.

Если это не сработает (вы не видите расширение ApplicationInsights), возможно, удаление не удалосьтихо, но биты все еще там, поэтому вам придется вручную удалить его, выполнив шаги здесь .

Комментарий GitHub относится к новому потоку включения(из колонки «Application Insights» на странице службы приложений), которая устанавливает веб-задание под названием «ApplicationInsightsProfiler3».Если у вас есть только это веб-задание, отключите его из пользовательского интерфейса Application Insights - вам не нужно вручную устанавливать параметры приложения.

0 голосов
/ 13 февраля 2019

Я использовал следующий PowerShell, после того как копался в вики kudu и заменял несколько элементов более новыми методами.

Он формирует строку «http basic authentication» с использованием учетных данных публикации, полученных с сайта, а затем используетчтобы отправить запрос DELETE к API-интерфейсу Kudu.

В частности, если вы используете Powershell 6, вам не нужно будет составлять базовую строку аутентификации, поскольку Invoke-RestMethod powershell 6 может сделать это за вас.

function Get-KuduSiteBasicAuthString
{
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        $ResourceGroupName,

        [Parameter(Mandatory = $true)]
        $Name
    )

    $response = Get-AzureRmWebAppPublishingProfile -ResourceGroupName $ResourceGroupName -Name $Name

    $publishingCredentials = [xml]$response

    $username = $publishingCredentials.publishData.publishProfile[0].userName
    $password = $publishingCredentials.publishData.publishProfile[0].userPWD

    $credentialsString = "{0}:{1}" -f $username, $password

    $credentialsAsByteArray = [Text.Encoding]::ASCII.GetBytes($credentialsString)

    "Basic {0}" -f [Convert]::ToBase64String($credentialsAsByteArray)
}

$ResourceGroupName = "your resource group name"
$ApplicationName = "your app name"

$kuduAuthString = Get-KuduSiteBasicAuthString -ResourceGroupName $ResourceGroupName -Name $ApplicationName

$apiUrl = "https://" + $ApplicationName + ".scm.azurewebsites.net/api/continuouswebjobs/ApplicationInsightsProfiler2"
Invoke-RestMethod -Uri $apiUrl -Headers @{ 'Authorization' = $kuduAuthString } -Method Delete -Verbose
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...