Others

check_ec2_instance.php

Description:

Uses the AWS PHP SDK to query EC2 instance state.

Requires SDK installed somewhere in the include path (ubuntu in my case /usr/share/php) and requires authentication keys to be set in SDK.

Current Version

0.4

Last Release Date

2012-04-30

Compatible With

  • Nagios 3.x

Owner

License

GPL


Project Files
Project Notes
Expects to receive the instance id passed on the command line. I’ve created hosts with the instance-id as the hostname, it will return warning if instance is in pending state, and critical if state is stopped or stopping. Also returns warning if instance has been recently started (to remind me to rebind the elastic ip) If you notice script returning “STATE UNKNOWN TO THIS SCRIPT”, chances are it’s a 272 instance code, which looks like a known issue, couldn’t find a fix, but aws forums recommend restarting the instance. Script prints the received instance code with the message it provides to nagios. Easily changed values are listed at the top, min_uptime for controlling how long instance needs to be up to not trigger a warning and messages passed to nagios for various conditions. Currently running and tested with Nagios 3.x. cc
Reviews (1) Add a Review
need to set the region if you aren't using US East Region
by owitsystemsteam, December 31, 2012

Took a little while to get this working cos I'm not a developer.. so here are a few tips to get the SDK working This needs version 1 of the AWS SDK for PHP http://aws.amazon.com/sdkforphp/ As stated, you punch in your AWS credentials into a file called config.inc.php Good idea to test the sdk with the sample script that comes with the SDK called "cli-s3_get_urls_for_uploads.php" If you are behind a proxy, you can specify the proxy in sdk.class.php in the line "public proxy = " eg., public $proxy = "http://username:password@proxy:8080"; Nb. I hit errors with proxies until I found out that proxy support was fixed in a recent commit: https://github.com/amazonwebservices/aws-sdk-for-php/pull/49#commits-pushed-eb922ad The AWS SDK for PHP defaults to the US East Region. (ec2.us-east-1.amazonaws.com) You need to set the region if your instances are in a different region. eg., if you were in Asia Pacific Singapore region.. Add a line after "$ec2 = new AmazonEC2();" $ec2->set_hostname('ec2.ap-southeast-1.amazonaws.com'); For a list of hosts and for the regions, refer to this... http://docs.amazonwebservices.com/general/latest/gr/rande.html#ec2_region



Add a Review

You must be logged in to submit a review.

Thank you for your review!

Your review has been submitted and is pending approval.

Recommend

To:


From:


Thank you for your recommendation!

Your recommendation has been sent.

Project Stats
Rating
5 (1)
Favorites
0
Views
69,701