[Webinar] Discover key trends and best practices in Kubernetes observability with DevOps expert, Viktor Farcic.Register now
Our recognition in the inaugural Gartner MQ for DEM

Install APM Insight .NET Agent in Docker Container


Installing the .NET agent in a Docker container is the same as installing the standard .NET agent in Windows. You need to configure the DockerFile to perform the installation.

Install the .NET agent on a Windows Docker container

Below is an example of configuring the .NET agent on a Windows Docker container.

FROM mcr.microsoft.com/dotnet/framework/aspnet

EXPOSE 80
# Publish your application
COPY <Your-app-to-be-published> /inetpub/wwwroot

# Download the APM Insight .NET agent installer
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;\
Invoke-WebRequest "https://www.manageengine.com/products/applications_manager/54974026/apminsight-
dotnetagent.msi" -UseBasicParsing -OutFile "apminsight-dotnetagent.msi"

# Install the APM Insight .NET agent
RUN Start-Process -Wait -FilePath msiexec -ArgumentList /i, "apminsight-
dotnetagent.msi", /qn, editconfig=false, useappfilters=false, license.key=<APM_LICENSE_KEY>, apm.host=
<APM_HOST>, apm.port=<APM_PORT>

# Remove the APM Insight .NET agent installer
RUN Remove-Item "apminsight-dotnetagent.msi"

Install the .NET Core agent on a Windows Docker container

Below is an example of configuring the .NET Core agent on a Windows Docker container.

FROM mcr.microsoft.com/windows/servercore:ltsc2019

# Publish your application
COPY <Your-app-to-be-published>

#Install .NET core framework

RUN powershell.exe [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;\
Invoke-WebRequest "https://download.visualstudio.microsoft.com/download/pr/a0832b5a-6900-442b-af79-
6ffddddd6ba4/e2df0b25dd851ee0b38a86947dd0e42e/dotnet-runtime-5.0.17-win-x64.exe" -UseBasicParsing-
OutFile "dotnet-runtime-5.0.17-win-x64.exe"

RUN dotnet-runtime-5.0.17-win-x64.exe /quiet /install
RUN powershell.exe [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;\
Invoke-WebRequest "https://download.visualstudio.microsoft.com/download/pr/3789ec90-2717-424f-8b9c-
3adbbcea6c16/2085cc5ff077b8789ff938015392e406/aspnetcore-runtime-5.0.17-win-x64.exe" -UseBasicParsing-
OutFile "aspnetcore-runtime-5.0.17-win-x64.exe"

# Extract APM Insight .NET core agent zip
RUN powershell.exe Expand-Archive -LiteralPath 'apminsight-
dotnetcoreagent.zip' -DestinationPath apminsight-dotnetcoreagent

# Install the APM Insight .NET core agent
RUN powershell.exe ".\apminsight-dotnetcoreagent\dotnet_core\InstallAgent.ps1" -Destination ".\appmanager" -
InstallType global -LicenseKey <APM_LICENSE_KEY>

# Remove the APM Insight .NET agent installer zip
RUN powershell.exe Remove-Item "apminsight-dotnetcoreagent.zip"

# Remove the APM Insight .NET agent installer
RUN powershell.exe Remove-Item "apminsight-dotnetcoreagent" -Recurse -Force

#RUN setx path "%path%;.\Program Files\dotnet\"
RUN setx path "%path%;C:\Program Files (x86)\dotnet\"


WORKDIR /app

#ENTRYPOINT ["powershell.exe",".\\Program Files\\dotnet\\dotnet.exe", ".\\ASPNETWebApp.dll"]
ENTRYPOINT ["powershell.exe"]
CMD ["dotnet", "\\ASPNET5WebApp.dll", "--urls", "http://*:5000"]

After Docker start,

  • Access the docker container and configure the application filters from the agent installed "./appmanager" path.
  • Start or Restart the .NET Core application. Perform some transactions to start monitoring.

 

Back to Top