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:
- Full metrics list related to EBS
- Full metrics list related to EC2
- Full metrics list related to RDS
- Full metrics list related to Amazon Aurora
- Full metrics list related to S3
- DescribeAlarms API method
- DescribeVolumes API method
- DescribeAlarms API method
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. |
`` |
{$AWS.PROXY} | Sets HTTP proxy value. If this macro is empty then no proxy is used. |
`` |
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.INSTANCE.NAME} NOT_MATCHES_REGEX |
RDS instances discovery | Get RDS instances. |
SCRIPT | aws.rds.discovery Filter: AND- {#AWS.RDS.INSTANCE.ID} MATCHES_REGEX - {#AWS.RDS.INSTANCE.ID} NOT_MATCHES_REGEX |
S3 buckets discovery | Get S3 bucket instances. |
SCRIPT | aws.s3.discovery Filter: AND- {#AWS.S3.NAME} MATCHES_REGEX - {#AWS.S3.NAME} NOT_MATCHES_REGEX |
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.