Amazon Web Services Monitoring User Guide

Overview

Amazon Web Services (AWS) integration with Geneos enables you to retrieve live Amazon Elastic Compute Cloud (EC2) instance information, list CloudWatch metrics, monitor volumes and other interactions configured in Amazon Web Services, and display them as dataviews in Geneos.

The AWS monitoring integration provides a Gateway configuration file that enables monitoring of the AWS environment through a set of pre-configured Toolkit samplers. The script can be configured by a set of environment variables and command line options.

This guide walks you through the integration process.

Audience

This user guide is intended for users who will be setting up, configuring, troubleshooting and maintaining this integration.

You should be familiar Python and AWS Command Line Interface (AWS CLI) with general administration of the AWS environment.

Prerequisites

The following requirements must be met on the machine where the Netprobe is installed prior to the installation and setup of this integration:

  • Python 2.7 or higher, or Python 3.7 or higher.
  • Boto, Boto 3 and AWS Command Line Interface (AWS CLI).
  • Connection to the AWS services using the security credentials: Access Key ID, Secret Access Key and default region. The keys are generated from your AWS account. When you run aws configure command, it will create a flat file and locate it in your home directory. This file is used by this integration.
    Note that you can also set up the connection using environment variables. For more information see Environment configuration.

Installation procedure

The AWS monitoring integration is largely pre-configured and involves three primary steps:

  1. Download the integration files from the resources site.
  2. Load the configuration file from the Gateway Setup Editor.
  3. Associate the samplers with a managed entity.

Note: The include files are intended to be read-only and should not be edited (unless the integration specifically requires for them to be modified). This is because include files can be shared between Gateways and best practice is to share them in their default state. It is also to make the upgrades and maintenance process of the integration files easier. All configuration should be carried out in your local Gateway files instead.

Download the integration files

  1. Download the integration package geneos-integration-aws-<version>.zip from the ITRS Downloads site.
  2. As a best practice, save the files on the same machine where your Gateway is running.

The integration package includes a number of files. These are the files that determine the integration setup:

  • include/awsMonitoring.xml — Gateway configuration file (also called an include file) containing Toolkit samplers configured for AWS monitoring.
  • Python scripts that call AWS API and return a JSON format. The JSON values are then processed in a CSV format and displayed in Active Console 2. The scripts are:
    • scripts/Get_CloudMetrics.py — list of available metrics for your services
    • scripts/CostUsage.py — monitoring of AWS costs and usage.
    • scripts/List_AMIs.py — statistics for Amazon Machine Images (AMIs) that you have.
    • scripts/List_EC2s.py — statistics for Amazon Elastic Compute Cloud (EC2) instances that you started.
    • scripts/List_EC2_Vols.py — statistics for Amazon EC2 volumes that you use.
    • scripts/EC2s_Commands.py — list of AWS commands for Geneos. The commands allow you to:
      • Create an AMI based on a running EC2 instance.
      • Start and stop an EC2 instance from an AMI ID.

Load the integration files

To load the integration files into the Gateway Setup Editor, follow these steps:

  1. Open Active Console 2.
  2. In the Navigation panel, click Includes to create a new file.
  3. Enter the location of the file to include in the Location field. In this example, it is the include/awsMonitoring.xml.
  4. Update the Priority field. This can be any value except 1. If you input a priority of 1, the Gateway Setup Editor will return an error.
  5. Expand the file location in the Include section.
  6. Select Click to load....
  7. Click Yes to load the new include file.

Gateway configuration now appears in the Includes section.

For more information on the dataviews associated with the AWS integration, see the Amazon Web Services Monitoring Technical Reference.

Associate the samplers with a managed entity

After you have loaded the configuration file, the AWS monitoring samplers become available for use. These samplers are associated with a pre-defined Type. To associate the samplers with a managed entity, follow these steps:

  1. In the Gateway Setup Editor, create a new managed entity by right-clicking the Managed entities folder.
  2. Under the Basic tab for the new managed entity, add a pre-configured AWS type.
  3. Specify the environment associated with the samplers. By default, this is AWS.
  4. Apply the managed entity to the running netprobe.
  5. Click the Validate button to check your configuration and save if everything is correct.

After you save your changes to the managed entity, the AWS dataviews appear under the managed entity on the state tree.

For more information about include files, see the Gateway Setup Editor - Technical Reference.

Environment configuration

The default environment configuration is created by the awsMonitoring.xml script. You can create a new environment or modify the default AWS environment variables according to your system.

Note: Standard variable scoping rules apply when variable reference is used in include files. Please take note of that when creating your own variables. For more information, see Gateway Core Technical Reference.

For more information on the environment variables used in this integration, see the Amazon Web Services Monitoring Technical Reference.

Further reading

After you have included the monitoring samplers, you can learn about its dataviews and environment configuration in the Amazon Web Services Monitoring Technical Reference.