aws-solutions / media-services-application-mapper

Media Services Application Mapper is a browser-based tool that allows operators to visualize the structure and logical connections among AWS Media Services and supporting services in the cloud. The tool can be used as a top-down resource monitoring tool when integrated with CloudWatch.
Apache License 2.0
84 stars 27 forks source link

Feature for templating diagrams, tiles, alarms (and sets) #170

Closed JimTharioAmazon closed 1 year ago

JimTharioAmazon commented 3 years ago

This is related to #152.

We'd like to capture a set of items (alarms, diagrams, etc.) and turn them into templates for later re-application with different inventory resources.

Potential alarm set harvest user case: The operator selects one or more nodes with subscribed alarms. The operator chooses "Alarms Subscriptions to Template". The tool records each node's type and each subscribed alarm definition without the resource association. (where is it persisted?, for export to another tool instance?) Name the template?

Re-application: The operator chooses an alarm template set to apply The tool prompts the operator to supply two inputs per captured alarm (1) the resource used for the alarm's metric, (2) matching node types harvested from above that is subscribed to the alarm in the tool.

For example, a MediaLive Channel metric is used to create an alarm to signify an input problem. The alarm is actually subscribed to the MediaLive Input upstream of the Channel.

We'd need to know the MediaLive Channel ID for the metric that influences the alarm, and the type of node the alarm was subscribed to (MediaLive Input). Hopefully we can craft a UI to guide the user through easy reapplication of the template.

JimTharioAmazon commented 3 years ago

We also need to brainstorm use cases for diagram and tile harvesting and reapplication.

JimTharioAmazon commented 3 years ago

All activities performed through the UI must be supported via the REST API also.

markmunoz commented 3 years ago

I like the idea of making templates of existing alarms that could be used for another resource later or when things change. I also think some of the alarms could potentially be created with little to no user interaction.

I would like to tinker with this more. I will need to get acclimated with the code base a bit more and see how we this can be slotted in and support the above use cases.