tech-sketch / zabbix_aws_template

This is AWS monitoring integration Zabbix templates.
49 stars 29 forks source link

Extended host name field support #20

Open syquus opened 7 years ago

syquus commented 7 years ago

Added support for Collecting metrics of EC2 hosts without the limitation of having i-012345678 in HOST.HOST

In all our infrastructures, HOST indicates the hostname of the servers, not a particular field such as the "AWS instance id". Adapt existing infrastructures to this limitation doesn't make sense. The suggested PR consists on an OPTIONAL argument -H that indicates the value of HOST.HOST. If it exists, the zabbix_send method will send collected metrics to THAT HOST, no to IDENTITY (i-0123456789...)


Change Proposition for the Wiki:


This is Amazon CloudWatch metrics monitoring templates.

Requirements

Operation has been confirmed under the following environments.

Architecture

CloudWatch monitoring architecture

How to use

Only 3 steps.

  1. Download and set a python script
  2. Import template
  3. Register hosts

Download and set a python script

Please download scripts/cloudwatch_zabbix.py on your Zabbix Server (External Scripts directory). And please set exec permission to Zabbix Server user(default: zabbix).

Import template

Please import templates/3.0/cloudwatch_template.xml at Zabbix WebGUI ([Configuration]->[Templates]->Import). (In case of Zabbix 2.2: templates/2.2/cloudwatch_template.xml)

If you want to monitor the billing data, please import awsbilling_template.xml.

Register hosts

Please register Zabbix hosts for EC2 instances, RDS instances, ELB, EBS volume or others.

In case of an EC2 instance:

In case of Billing data:

Tip

If you don't want to set AWS credentials info at Zabbix Macro, please set OS environment variables.

And, please change external check items key.

before:

cloudwatch_zabbix.py[ec2,"-r",{$REGION},"-a",{$KEY},"-s",{$SECRET},"-i",{$INSTANCE_ID},"-H",{HOST.HOST},"-m","True"]

after:

cloudwatch_zabbix.py[ec2,"-i",{HOST.HOST},"-m","True"]