WHERE DO I START?
You are here:Integrations > AWS
  • Top ↑

AWS

Summary

The Amazon Web Services (AWS) integration allows performance data to be collected at regular intervals from AWS for analysis in Netuitive. There are two ways you can add an AWS integration to Netuitive: Amazon CloudWatch integration (IAM Role authentication) and Amazon CloudWatch Integration (Access Key authentication). If you are not able to create a new read-only role through the AWS Identity & Access Management (IAM) dashboard, you can use the Access Key ID and Secret Access Key of a new or existing AWS IAM user with read-only permissions to set up an AWS integration in Netuitive.

Important   Elastic Map Reduce (EMR) clusters work a little differently than other AWS element types in that terminated clusters remain in your AWS console for two months. To avoid any confusion with your inventory and metric collection, Netuitive does not show terminated clusters in the UI.
Relevant Topic(s)   

Configuration

Important   You can create multiple AWS integrations if you wish. Here are a few potential scenarios you may encounter:
  • If you haven't created an AWS integration yet, continue with one of the Installation instructions below.
  • If you've already created an AWS integration and want to edit the configuration information, navigate to the Integrations page (top navigation menu) and click the Amazon Web Services card. Your most recently created integration's information will be available in the fields; edit as necessary.
    • If you want to edit a different AWS integration, click View Current Integrations on the AWS integration setup page, then select the desired AWS integration.
  • If you've already created an AWS integration but want to create another one, navigate to the Integrations page (top navigation menu) and click the Amazon Web Services card. Your most recently created integration's information will be available in the fields. Click Add Integration; a blank AWS integration setup page will appear.

Installation Via IAM Role

Setting up an AWS integration via IAM Role is a two step process:

  1. Create a new AWS integration in Netuitive using an IAM read-only role.
  2. Optionally, filter your AWS elements for inclusion in Netuitive by creating or choosing an existing tag (key-value pair), then assigning that tag to the desired elements in AWS.

Step 1: Create a new AWS integration

  1. From the top navigation menu, select Integrations.
  2. Click the Amazon Web Services card.
  3. Type a name for the new AWS integration. Ensure that Data Collection is selected.
  4. For AWS Authentication, select IAM Role.
  5. In a separate, new tab, open your AWS console.
    Important   If you want to create a role that has full access to your AWS data, expand the full permissions instructions and follow those. If you want to create a role that only has access to 11 AWS elements, expand the modified permissions instructions and follow those.
  6. Return to the AWS Setup page in Netuitive and paste the Role ARN into the IAM Role ARN field. Ensure the Role ARN was pasted properly and has no extra whitespace in it.
  7. Include or exclude as many AWS element types as you want. ASG, EC2, EBS, ELB, RDS, and SQS are enabled by default; everything else is disabled by default.
    Note   If you enable AWS Custom Metrics note that each category you create in Cloudwatch will create a matching element in Netuitive. All the metrics under each category will be included in the corresponding element; this means, if you want the metrics divided amongst your dimensions (e.g., App1 errors, App2 errors, App3 errors), you'll need to create separate categories for each element. To read more about creating and using custom Cloudwatch metrics, go here.
  8. Optionally, filter elements or change the display name of your AWS instances.
  9. Click Save.

Installation Via Access Key

Setting up an AWS integration is a two step process:

  1. Create a new AWS integration in Netuitive and share the Access Key ID and Secret Access Key of the desired IAM read-only user.
  2. Optionally, filter your AWS elements for inclusion in Netuitive by creating or choosing an existing tag (key-value pair), then assigning that tag to the desired elements in AWS.

Step 1: Create a new AWS integration

  1. From the top navigation menu, select Integrations.
  2. Click the Amazon Web Services card.
  3. Type a name for the new AWS integration. Ensure that Data Collection is selected.
  4. For AWS Authentication, select Access Key. If you want to create a role that has full access to your AWS data, expand the full permissions instructions and follow those. If you want to create a role that only has access to four AWS elements, expand the modified permissions instructions and follow those.
  5. Copy and paste the Access Key ID and Secret Access Key for the desired read-only user into the appropriate fields on the AWS Setup page in Netuitive.
  6. Include or exclude as many AWS element types as you want. ASG, EC2, EBS, ELB, RDS, and SQS are enabled by default; everything else is disabled by default.
    Note   If you enable AWS Custom Metrics note that each namespace you create in Cloudwatch will create a matching element in Netuitive. All the metrics under each namespace will be included in the corresponding element; this means, if you want the metrics divided amongst your dimensions (e.g., App1 errors, App2 errors, App3 errors), you'll need to create separate namespaces for each element. To read more about creating and using custom Cloudwatch metrics, go here.
  7. Optionally, filter elements or change the display name of your AWS instances.
  8. Click Save.
    Note   This integration's package (computed metrics, dashboards, and policies that will give you important events and alerts) will be automatically enabled and provisioned to your account as soon as Netuitive receives data from the integration.

Additional Configuration Options

Changing Element Display Names

You can change how certain elements' names are displayed in the application to help distinguish between each instance, e.g., you have 15 EC2 instances with the same name and want to know the difference between each.

  1. Under the Include Types list, expand the desired type.
  2. Beneath the Tag Key field, click Advanced. A menu expands.
  3. Hover next to Element Name; an edit icon will appear. Click the icon.
  4. Type the desired name into the field. Variables are compatible, but note that values in key.value pairs are case sensitive. Spaces and dots in any returned value are replaced with underscores.
    Example(s)   
    • An element name of ${meta.originalName} would resolve to whatever name comes in with the original element payload before it would be replaced with the optional element name template.
      Note   The element name template preview in the UI will resolve this field to [original name] as a placeholder because Netuitive only knows what the current name is, not what the incoming name might be.
    • An AWS EC2 with element name of ${tags.Name} - (AZ: ${attributes.availbilityZone}) would utilize each EC2 instance's Name (from the tag value) and availability zone (from the attribute).
    • An element name of ${tags.InternalName} (${tags.Name}) will give you something like MyServer (ip-10.101.3.99)
    • An element name of ${tags.Name} (${attributes.availabilityZone) would return something like ServerX (eu-west-1c)
  5. Select an element to use as a preview for your new element name using the Element To Preview drop-down menu.
  6. Next to the Element Name field, click Preview to view your new template using the selected element.
  7. If you're satisfied with the name, press Enter on your keyboard while in the Element Name field to lock in the name. Exit the integration setup page and wait until the next analytics cycle (5 minutes) to see your changes.

Filter your AWS elements

You can filter what AWS elements are included in Netuitive's monitoring by using regex to match key-value pairs (ASG, EC2, EBS, ELB, RDS, Redshift, Elasticache, EMR), queue names (SQS), table names (DynamoDB), cluster names (ECS), function names (Lambda), or stream names (Kinesis). Netuitive offers opt-in (include) or opt-out (exclude) element filtering.

For more information about tagging elements in AWS, see the following AWS documentation.

Using opt-in filtering

  1. In your AWS account, create or choose an existing tag (key-value pair). Then, assign the tag to the AWS elements you want Netuitive to monitor.
  2. On the AWS Integration Setup page, expand the element types you want to filter.
    Key-value pair fields display.
  3. Select the Filtering checkbox.
  4. Select Include. Type the proper Regex to match the tag(s) you created in your AWS account for each element type you want to filter.
  5. Click Save.

For names (SQS, DynamoDB, Kinesis, ECS, Lambda elements):

  1. Prepate the queue, table, or stream name(s) for the AWS element(s) you want to monitor.
  2. On the AWS Integration Setup page, expand the element types you want to filter.
    Name fields display.
  3. Select the Filtering checkbox.
  4. Select Include. Type the name of the table, queue, or stream for each element type you want to filter.
  5. Click Save.

Using opt-out filtering

For key-value pairs (ASG, EC2, EBS, ELB, RDS, Redshift, Elasticache, EMR elements):

  1. In your AWS account, create or choose an existing tag (key-value pair). Then, assign the tag to the AWS elements you do not want Netuitive to monitor.
  2. On the AWS Integration Setup page, expand the element types you want to filter.
    Key-value pair fields display.
  3. Select the Filtering checkbox.
  4. Select Exclude. Type the proper Regex to match the tag(s) you created in your AWS account for each element type you want to filter.
  5. Click Save.

For names (SQS, DynamoDB, Kinesis, ECS, Lambda elements):

  1. Prepate the queue, table, or stream name(s) for the AWS element(s) you do not want to monitor.
  2. On the AWS Integration Setup page, expand the element types you want to filter.
    Name fields display.
  3. Select the Filtering checkbox.
  4. Select Exclude. Type the name of the table, queue, or stream for each element type you want to filter.
  5. Click Save.

Regex Examples

Tip   The filtering fields append a .* to the front and back of each value input into the fields. For example, if you input .Prod-app1, it will be interpreted as .*.Prod-app1.* . We recommend testing any regular expressions that you create here.
  • Match the start and end of the string contained between ^ and $. The following would match the key-value pair Netuitive = true.
  • Match multiple values separated by | between ( ). The following would match any of the following key-value pairs: Name = my-server-one, Name = my-server-two, Name = my-server-three.
  • Match any character(s) using ., which acts as a wildcard. The following would match any value (e.g., Name = myProd-app-1, Name = yourProd-app-1) as long as Prod-app-1 followed.
  • Escape special regex characters (e.g., ., *, /, etc.) using a /. The following would match the key-value pair Name = my.server.one. For a list of special regex characters you may have to escape, consult this page.

Dependencies

None.