我有一个自定义Docker映像,它使用Windows Servercore作为基本映像。。
我在Dockerfile中编写了命令,当我的docker映像从Azure Container Registry 中提取时,它将执行git pull
Git存储库包含Application Insights DLL和powershell脚本。脚本使用DLL创建Telemetry对象,并使用Trackevent((将Dummy Data推送到App Insights。我已经在DockerFile中将此文件设置为Entrypoint。
因此,当我运行实例/执行Docker Pull时,脚本会运行。脚本完全运行(我已经在脚本的不同部分编写了Write Host来确认这一点(,但数据没有记录到Azure Application Insights中。
当我尝试在本地运行脚本时,它确实将数据记录到App Insights。我是不是遗漏了什么?
$eventprops = @{ Name = "Test" };
$jsonevent=ConvertTo-Json $eventprops;
$client.TrackEvent($jsonevent,$null)
# $client is a Telemetry object
ApplicationInsights通常只批量发送数据。如果您的脚本在上次日志记录后直接关闭,它可能还没有发送此消息。若要解决此问题,可以手动冲洗。只需在末尾添加:
$client.Flush()
有关完整示例,请参见此处。