AWS CloudWatch integration

Moogsoft Express can collect both time series metrics and alarms from AWS CloudWatch. Express performs anomaly detection on all metrics and generates events for these anomalies before ingestion.

Note

It is good practice to create only one integration per AWS account.

Before You Begin

This integration was validated with AWS CloudWatch on TBD, 2020. Before you start to set up your integration, ensure you have met the following requirements:

  • You have an active AWS account.

  • You have the necessary permissions to create permissions and roles in AWS.

AWS Setup: Create a new policy and role

  1. Open the Credentials Store in Express:

    1. Open a browser window and log in to the Express UI.

    2. Choose Settings > Credentials Store.

    3. Click Add Credentials and choose AWS IAM. Leave this page open for now.

  2. Open a separate browser window. Then log in to the AWS Console and go to Services > IAM.

    Leave both the Express Credentials Store and the AWS Console browser windows open until you finish this workflow. You will need to copy/paste information between the two windows.

  3. In the AWS Console, go to Policies and define a new permissions policy as follows:

    1. Click Create Policy and click the JSON tab.

    2. For the JSON policy, copy and paste the policy from the Express Credentials Store (click Show required AWS policy).

    3. Note

      This policy includes the iam:SimulatePrincipalPolicy action, which Express uses to test the integration with your AWS CloudWatch estate. You can remove this action if desired, but this will disable the integration testing functionality.

      Click Review Policy, enter a policy name, and then click Create Policy.

  4. Go to Roles and create a new role as follows:

    1. Click Create Role.

    2. Under Select type of trusted entity, choose Another AWS account.

    3. For Account ID, copy and paste the Moogsoft AWS account number shown in the Express Credentials Store.

      This is the Moogsoft account that will receive data from CloudWatch.

    4. Under Options, enable Require external ID.

    5. Copy and paste the External ID from the Express Credentials Store. Click Generate External ID if necessary.

    6. Do not enable Require MFA.

    7. Click Next: Permissions and add the policy you created previously.

    8. Proceed through the remaining steps of the Create Role wizard, accepting the default settings. In the Review page, enter a role name and click Create Role

Express setup

To configure the AWS CloudWatch integration:

  1. Return to the Express Credentials Store window and define your AWS IAM credentials as follows:

    • AWS Account Number — In the AWS Console, go to My Security Credentials. Then copy and paste the AWS account ID.

    • IAM Role — Enter the role you defined previously.

    • External ID — Do not change or update this ID. It must be the same ID you used when you created your role.

  2. Click Save to save your IAM credentials.

  3. Choose Integrations > AWS CloudWatch and create a new integration.

  4. Select the AWS credentials you defined previously.

  5. Click Test to verify that Express can connect to your AWS account.

  6. Specify the other CloudWatch integration settings as follows:

    • Region — Select the AWS regions to observe.

    • AWS Services — Select the AWS services to observe.

    • Collect CloudWatch Alarms — Enable this if you want to collect alarms in addition to standard CloudWatch metrics. Express ingests alarms as events and converts them to alerts.

    • Collect Custom Metrics — Enable this if you want to send any custom metrics you are collecting to AWS CloudWatch.

    Note

    It is generally good practice to collect only the metrics and alarms that you want Express to observe.

  7. Enter an integration name and click Save.

  8. Optionally, you can go to the Configuration tab and edit anomaly detection settings for individual metrics.