AWS Cloud Operations Blog

Bulk edit of OpsItems in AWS Systems Manager OpsCenter

In a previous post, we discussed using Operational insights in Systems Manager OpsCenter to help you identify duplicate issues and noisy event sources. However, there are still situations where you will have numerous OpsItems that require updating. Instead of manually editing one-by-one, you can use a nifty feature for bulk editing of Opsitems in AWS Systems Manager OpsCenter. This feature lets you change the status, priority, severity, and category of many OpsItems with a single operation. You’ll explore how to bulk edit using the AWS Systems Manager OpsCenter console and an AWS Systems Manager Automation runbook in this post.

Prerequisites

To follow the steps in this post, you must have OpsCenter enabled in your AWS Account. You can follow the steps outlined in getting started with OpsCenter. You must also have several OpsItems that you can edit.

Suppose you intend to run the AWS Command Line Interface (AWS CLI) for bulk updates. In that case, you must also make sure that you have installed the required dependencies as outlined in the AWS CLI documentation.

Perform the bulk update in the OpsCenter console

The following diagram illustrates how to apply filtering for finding only OpsItems related to a non-responsive Amazon Relational Database Service (Amazon RDS) instance. The severity[nn1]  of these items is set to 3 – Medium.  However, it’s been determined that the severity should be 1 – critical. Instead of manually editing the severity of each OpsItem, we’ll use the bulk edit feature.

  1. Select the OpsItem that you want to update. Do this by selecting the checkbox for each item or the single checkbox in the header row will select all of the filtered OpsItems.
Thirty OpsItems have been filtered to seven using /aws/issue and /aws/actionitem. The seven OpsItems have a selected checkbox and displaying the RDS instances not responding, Severity of 3, Status of In Progress, and source of RDS.

Figure 1 – Multiple, filtered Ops items selected

  1. After selecting the OpsItems that must be changed, choose the Edit tab near the top.
There are four buttons labeled Edit, Set Status, configure sources, Create OpsItem, available to interact with OpsItems. The Edit button is highlighted.

Figure 2 – Edit button for OpsItems in AWS Management Console

  1. A bulk edit window will display where you choose the desired Status, Priority, Severity, and Category for the OpsItems, and then choose Save. In this example, we’re changing the Severity from 3 – Medium to 1 – Critical and making sure that the Status is In progress.
A section labeled Selected OpsItems can be expanded to view the 30 selected OpsItems. The four editable parameters have been set to Status of In progress, Priority of 1, Severity of 1-critical, and Category of performance.

Figure 3 – Edit Ops items’ Status, Priority, Severity, and Category

  1. It will take a few minutes for the edit to complete and you can view the changes. In our case, the Severity is updated to 1 – Critical and the Status is consistently In progress.
The same seven OpsItems presented in Figure 1 are displayed. However, the severity for all OpsItems has changed from 3 to 1, and the status updated to In progress.

Figure 4 – Changes after edit

Perform the bulk update via an Automation runbook in the AWS Console

Open the AWS Systems Manager Automation console and find the AWS-BulkEditOpsItems Automation document to get started. AWS documentation provides more details for working with runbooks, and the documentation for AWS-BulkEditOpsItems describes this specific runbook.

You may need to adjust your region, as it will default to the Oregon (us-west-2) Region.

The input parameters for the AWS-BulkEditOpsItems automation document are configurable. These parameters are AutomationAssumeRole, OpsItemIds, Status, Severity, Category, Priority, and WaitTimeBetweenEditsinSeconds

Figure 5 – Selecting the correct region for the automation runbook

Accept the default setting for Simple execution, and scroll to the section Input parameters. Here you can update the Status, Category, Severity, and Priority that you want to apply to the listed OpsItemIds.

In this example, we’re changing the Severity to 1 – Critical and Status to InProgress. After your inputs have applied, choose the Execute button at the bottom of the page.

The input parameters for AWS-BulkEditOpsItems have been left at defaults, except Severity and Status which are set to 1-Critical and InProgress

Figure 6 – Configuring the parameters for the runbook

Suppose you want to confirm that the Runbook ran successfully. In that case, you can go to AWS Systems Manager OpsCenter console, select the OpsItems tab, and ensure that the OpsItems have updated.

The six Opsitems updated by the automation document are displayed. The Severity is 1 and Status is in progress, which matches the parameters entered in the runbook.

Figure 7 – Automation Runbook result.

Running bulk updates via AWS CLI

You can also use AWS CLI to execute the same bulk update. If you scroll down to the bottom of the runbook. There is a section called AWS CLI command and shareable execution link.

The parameters for the automation document are displayed, and the section AWS CLI command and shareable execution link

Figure 8 – Expanding AWS CLI command.

Expand the Execution platform dropdown box, and you can select the appropriate option for your operating system. Note that the AWS CLI details will include the parameters you have populated for the runbook.

If you select the Linux / Unix / OS X terminal, the command will look something like this:

aws ssm start-automation-execution --document-name "AWS-
BulkEditOpsItems" --document-version "\$DEFAULT" --parameters
'{"AutomationAssumeRole":["Role to execute your
runbook"],"OpsItemIds":["oi-id of your
ops","oi-id of your ops"],"Status":["InProgress"],"Severity":["1"],"Category":["Perf
ormance"],"Priority":["1"],"WaitTimeBetweenEditsInSecs":[".8"]}'
--region us-east-1

For Windows, the command will look something like this:

aws ssm start-automation-execution —document-name "AWS
-BulkEditOpsItems" —parameters "AutomationAssumeRole"="Role to
execute your runbook","OpsItemIds"="oi-id
of your OpsItem,oi-id of your OpsItem","Status"="Resolved","Severity"="4","Category"="NoChange
","Priority"="1","WaitTimeBetweenEditsInSecs"=".8" —region us-
east-1

Regardless of your OS, the AWS CLI will return an Automation execution ID. You can check the status of the task by using the following command:

aws ssm get-automation-execution —automation-execution-id
31b96b04-xxxx-xxxx-xxxx-cdb12ca2a559

Conclusion

In this post, you learned how to bulk-update many OpsItems by using the OpsCenter console, the Automation document console, and the AWS CLI. For more information regarding Systems Manager Automation runbooks, see the Automation runbook reference in the AWS Systems Manager User Guide.

Authors:

Benjamin Luk

Benjamin Luk is a Solutions Architect at Amazon Web Services. He supports Canada enterprise customers on their journey to the cloud. He loves to dive deep into application architectures and development process to drive performance, scale operational efficiency, and increase the speed of innovation. He is also part of the DeepRacer PitCrew who supports and hosts DeepRacer events for customers at AWS conferences

Michael Heyd

Michael Heyd is a Solutions Architect with Amazon Web Services and is based in Vancouver, Canada. Michael works with enterprise AWS customers to transform their business through innovative use of cloud technologies. Outside work he enjoys board games and biking.