Регистрация данных в Azure Application Insights из Docker контейнера - PullRequest
1 голос
/ 19 февраля 2020

У меня есть пользовательское Docker изображение, которое использует Windows Servercore в качестве базового изображения ..

Я написал команды в Dockerfile, которые будут выполнять git извлечение, когда мое изображение docker извлечено из Azure Реестр контейнеров

Git Хранилище содержит DLL-файл Application Insights и скрипт powershell. Скрипт использует DLL для создания объекта телеметрии и отправляет фиктивные данные в App Insights с помощью Trackevent (). Я установил этот файл как точку входа в моем DockerFile.

Поэтому, когда я запускаю экземпляр / выполняю Docker Pull, скрипт запускается. Скрипт работает полностью (я написал Write-Host в разных частях скрипта, чтобы подтвердить это), но данные не вошли в Azure Application Insights.

, когда я пытался запустить скрипт локально, он делает Зарегистрируйте данные в приложении Insights. Я что-то здесь упускаю?

$eventprops = @{ Name = "Test" };
$jsonevent=ConvertTo-Json $eventprops; 
$client.TrackEvent($jsonevent,$null) 
# $client is a Telemetry object

1 Ответ

1 голос
/ 19 февраля 2020

Application Insights обычно отправляет данные только партиями. Если ваш сценарий завершает работу сразу после последней регистрации, возможно, он еще не отправил его. Чтобы решить, вы можете вручную грипп sh. Просто добавьте в конце:

$client.Flush()

См. здесь для полного примера.

...