Monitor Amazon Web Services (AWS)

Use the AWS CloudWatch Monitoring template to monitor data from Amazon Web Services (AWS), Amazon Elastic Compute Cloud (EC2), and Amazon Elastic Load Balancing (ELB) with the AWS CloudWatch Service.

The AWS CloudWatch Monitoring template includes the following:

  • two dashboards:
    • AWS CloudWatch NLB (Network Load Balancers) Monitoring: Displays data from the cloudwatch_aws_network_elb measurement
    • AWS CloudWatch Instance Monitoring: Displays data from the cloudwatch_aws_ec2 measurement
  • two buckets: kubernetes and cloudwatch
  • two labels: inputs.cloudwatch, AWS
  • one variable: v.bucket
  • one Telegraf configuration: AWS CloudWatch input plugin

Apply the template

  1. Use the influx CLI to run the following command:

    1. influx apply -f https://raw.githubusercontent.com/influxdata/community-templates/master/aws_cloudwatch/aws_cloudwatch.yml

    For more information, see influx apply.

  2. Install Telegraf on a server with network access to both the CloudWatch API and InfluxDB v2 API.

  3. In your Telegraf configuration file (telegraf.conf), find the following example influxdb_v2 output plugins, and then replace the urls to specify the servers to monitor:

    1. ## k8s
    2. [[outputs.influxdb_v2]]
    3. urls = ["http://influxdb.monitoring:8086"]
    4. organization = "InfluxData"
    5. bucket = "kubernetes"
    6. token = "secret-token"
    7. ## cloudv2 sample
    8. [[outputs.influxdb_v2]]
    9. urls = ["$INFLUX_HOST"]
    10. token = "$INFLUX_TOKEN"
    11. organization = "$INFLUX_ORG"
    12. bucket = cloudwatch"
  4. Start Telegraf.

View the incoming data

  1. In the InfluxDB user interface (UI), select Dashboards in the left navigation.

    Dashboards

  2. Open your AWS dashboards, and then set the v.bucket variable to specify the bucket to query data from (kubernetes or cloudwatch).