cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The AppDynamics Community is Migrating this Friday, February 28th.


At 6pm PST, the AppDynamics Community will go into read-only mode and after migration is complete, you will be redirected to community.splunk.com.
Read more here


Updating a dashboard template in json format with PowerShell?

Jonathan.Barrow
Creator

Question about working with Json data.

 

So I have a template file that is in json format that I need to work with.

Within that Json file there are a bunch of different "widgets". Within each widget, there is a listing of "entity" names, one per server (but invalid servers that need removed and replaced with this script).

 

I need to import this json file. Go into each widget. Look at the formatting of the existing entities, save that. Remove all the existing entities. Then add an entity for each server in my serverlist using the formatting template I saved.

 

The entities I need to remove are deep into the file, so that may throw a cog into this.

I have attached a screenshot of the entities that need to come out, you can see they are under .entityNames within each widget.

 

Any tips or suggestions would be helpful. I've been researching myself online.

The following text can be copied and pasted into your code editor:

 

# So far I'm able to successfully import my json data using this code
$jsoninput = Get-Content -Path "$thisfolder\APPD-DASHBOARD-GENERATOR.input.json" | ConvertFrom-Json
# I then run a foreach against each widget found within the json.
foreach ($widget in $jsoninput.widgetTemplates)
{
# I then look up the first entity in the widget, I'm going to use this as a template later.
$first1 = $widget.dataSeriesTemplates.metricMatchCriteriaTemplate.entityMatchCriteria.entityNames| Select-Object -First 1
# I then need a method for removing each of the existing entities found...
foreach ($entity in $widget.dataSeriesTemplates.metricMatchCriteriaTemplate.entityMatchCriteria.entityNames)
{
!!! Not sure what to do here !!!
}
# I then need a method for adding an entry for each server found in the server list.
foreach ($server in $servers)
{
# I have this template from earlier
$first1 
} 
}2019-03-06 13_09_00-mRemoteNG - mRemoteNG Data File 2019-02-06.xml - vm-as-tsc.png

1 REPLY 1

Carl.Brahms
Maker

It's possible to do this, but I don't know powershell :( . I do this with a shell script, using sed to replace the entity names.  If you have the option of running this on a UNIX host I can send you an example of a script.

Ask the Experts Session: Hybrid Application Monitoring Deployment

Join us on Feb 26 to explore Splunk AppDynamics deployment strategies, SaaS models, agent rollout plans, and expert best practices.


Register Now

Observe and Explore
Dive into our Community Blog for the Latest Insights and Updates!


Read the blog here
Top Kudoed Authors