cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using Azure ARM template to configure app dynamics during deployment

Scott.McIntosh
Producer

I have figured out how we can use the ARM template to install site extensions into an App Service in Azure but now I am trying to ensure that we can automatically configure the extension to communicate to our SaaS controller. I have scoured this site as well as Stack Exchange and have not been able to find an answer that doesn't involve using a browser. We are going for a fully Agile solution that would automatically add microservices to the monitoring layer in our Enterprise. Adding the site extension is easy enough, the json file for the deployment is attached but here is the excerpt of the ARM code for adding the site extension to the App Service:

 

"resources": [
{
"apiVersion": "2015-08-01",
"name": "AppDynamics.WindowsAzure.SiteExtension.4.4.Release",
"type": "siteextensions",
"dependsOn": [
"[variables('contactServiceName')]"
]

 

I am of the opinion that the page referenced below should be updated to reflect this way of deploying App Dynamics to Azure environments.

 

https://docs.appdynamics.com/display/PRO44/Install+the+AppDynamics+Azure+Site+Extension

 

Following the referenced instructions above, I was able to create a switch in the ARM template that would control the setting of the required AppSettings for AppD.

 

The switch is a parameter:

 

"enableAPM": {
"type": "string",
"defaultValue": "No",
"allowedValues": [
"No",
"Yes"
]
}

 

And then in the appsettings section the parameters are set as:

 

"appdynamics.controller.hostName": "[if(equals(parameters('enableAPM'), 'Yes'), 'myController', '')]",
"appdynamics.controller.port": "[if(equals(parameters('enableAPM'), 'Yes'), '443', '')]",
"appdynamics.controller.ssl.enabled": "[if(equals(parameters('enableAPM'), 'Yes'), 'True', '')]",
"appdynamics.agent.accountName": "[if(equals(parameters('enableAPM'), 'Yes'), 'myCompany', '')]",
"appdynamics.agent.accountAccessKey": "[if(equals(parameters('enableAPM'), 'Yes'), 'myKey', '')]",
"appdynamics.agent.applicationName": "[variables('contactServiceName')]"

 

I was assuming that after the deployment of the ARM Template and the application were complete that as soon as I restarted the service the agent would be configured and start communicating with the controller. However, even though I am seeing the correct app settings when I browse the extension in Azure I am  seeing blank values.

 

Does anyone know of a PowerShell command or API that I can use to cause the extension to be initialized without having to browse to the Azure App Service?

 

11 REPLIES 11

Hi,

 

Any news on the ARM template for Java - we noticed a difference from the .NET agent in the way that env variables have to be all upper case as described in the general Java agent, compared to the .NET ARM template in your documentation.

 

thx

Cody.Naumann
AppDynamics Team (Retired)

Hi Markus,

 

Apologies for the delay in my reply -- this isn't something we've put together for Java at this time, but I've asked the team again if there are any updates.

 

Cody