AWS

Amazon Web Services (AWS) is a subsidiary of Amazon.com that provides on-demand cloud computing platforms on a paid subscription basis. The technology allows subscribers to have at their disposal a virtual cluster of computers, available all the time, through the Internet.

Available solutions




This template is for Zabbix version: 6.2

Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cloud/AWS/aws_http?at=release/6.2

AWS by HTTP

Overview

For Zabbix version: 6.2 and higher
The template to monitor AWS EC2, RDS and S3 instances by HTTP via Zabbix that works without any external scripts.

Setup

See Zabbix template operation for basic instructions.

Before using the template, you need to create an IAM policy for the Zabbix role in your AWS account with the necessary permissions.

Add the following required permissions to your Zabbix IAM policy in order to collect metrics.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "cloudwatch:Describe*",
                "cloudwatch:Get*",
                "cloudwatch:List*",
                "ec2:Describe*",
                "rds:Describe*",
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

To gather Request metrics, enable Requests metrics on your Amazon S3 buckets from the AWS console.

Set macros {$AWS.ACCESS.KEY.ID}, {$AWS.SECRET.ACCESS.KEY}, {$AWS.REGION}.

For more information about managing access keys, see official documentation.

Also, see the Macros section for a list of macros used in LLD filters.

Additional information about metrics and used API methods:

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Name Description Default
{$AWS.ACCESS.KEY.ID}

Access key ID.

``
{$AWS.EC2.LLD.FILTER.NAME.MATCHES}

Filter of discoverable EC2 instances by namespace.

.*
{$AWS.EC2.LLD.FILTER.NAME.NOT_MATCHES}

Filter to exclude discovered EC2 instances by namespace.

CHANGE_IF_NEEDED
{$AWS.RDS.LLD.FILTER.NAME.MATCHES}

Filter of discoverable RDS instances by namespace.

.*
{$AWS.RDS.LLD.FILTER.NAME.NOT_MATCHES}

Filter to exclude discovered RDS instances by namespace.

CHANGE_IF_NEEDED
{$AWS.REGION}

Amazon EC2 region code.

us-west-1
{$AWS.S3.LLD.FILTER.NAME.MATCHES}

Filter of discoverable S3 buckets by namespace.

.*
{$AWS.S3.LLD.FILTER.NAME.NOT_MATCHES}

Filter to exclude discovered S3 buckets by namespace.

CHANGE_IF_NEEDED
{$AWS.SECRET.ACCESS.KEY}

Secret access key.

``

Template links

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
EC2 instances discovery

Get EC2 instances.

SCRIPT aws.ec2.discovery

Filter:

AND

- {#AWS.EC2.INSTANCE.NAME} MATCHES_REGEX {$AWS.EC2.LLD.FILTER.NAME.MATCHES}

- {#AWS.EC2.INSTANCE.NAME} NOT_MATCHES_REGEX {$AWS.EC2.LLD.FILTER.NAME.NOT_MATCHES}

RDS instances discovery

Get RDS instances.

SCRIPT aws.rds.discovery

Filter:

AND

- {#AWS.RDS.INSTANCE.ID} MATCHES_REGEX {$AWS.RDS.LLD.FILTER.NAME.MATCHES}

- {#AWS.RDS.INSTANCE.ID} NOT_MATCHES_REGEX {$AWS.RDS.LLD.FILTER.NAME.NOT_MATCHES}

S3 buckets discovery

Get S3 bucket instances.

SCRIPT aws.s3.discovery

Filter:

AND

- {#AWS.S3.NAME} MATCHES_REGEX {$AWS.S3.LLD.FILTER.NAME.MATCHES}

- {#AWS.S3.NAME} NOT_MATCHES_REGEX {$AWS.S3.LLD.FILTER.NAME.NOT_MATCHES}

Items collected

Group Name Description Type Key and additional info

Triggers

Name Description Expression Severity Dependencies and additional info

Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide feedback, discuss the template or ask for help with it at ZABBIX forums.

Articles and documentation

+ Propose new article

Didn't find integration you need?