All Projects → sensu-plugins → sensu-plugins-aws

sensu-plugins / sensu-plugins-aws

Licence: MIT License
This plugin provides native AWS instrumentation for monitoring and metrics collection, including: health and metrics for various AWS services, such as EC2, RDS, ELB, and more, as well as handlers for EC2, SES, and SNS.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to sensu-plugins-aws

go-localstack
Go Wrapper for using localstack
Stars: ✭ 56 (-29.11%)
Mutual labels:  ec2, cloudwatch, sqs, sns
Aws Sdk Perl
A community AWS SDK for Perl Programmers
Stars: ✭ 153 (+93.67%)
Mutual labels:  ec2, sqs, sns, autoscaling
awsctl
Control AWS infrastructure easily from a single command line written in Go
Stars: ✭ 97 (+22.78%)
Mutual labels:  ec2, cloudwatch, ebs, rds
sensu-plugins-http
This plugin provides native HTTP instrumentation for monitoring and metrics collection, including: response code, JSON response, HTTP last modified, SSL expiry, and metrics via `curl`.
Stars: ✭ 31 (-60.76%)
Mutual labels:  metrics, sensu, sensu-plugins
aws-tag-sched-ops
Retired, please see https://github.com/sqlxpert/lights-off-aws
Stars: ✭ 24 (-69.62%)
Mutual labels:  ec2, ebs, rds
Awesome Aws
A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.
Stars: ✭ 9,895 (+12425.32%)
Mutual labels:  ec2, cloudwatch, rds
Aws Cli Cheatsheet
☁️ AWS CLI + JQ = Make life easier
Stars: ✭ 94 (+18.99%)
Mutual labels:  ec2, sns, rds
scaling-nodejs
📈 Scaling Node.js on each X, Y and Z axis using Node.js Native Modules, PM2, AWS , Load Balancers, AutoScaling, Nginx, AWS Cloudfront
Stars: ✭ 73 (-7.59%)
Mutual labels:  load-balancer, cloudfront, autoscaling
sensu-alerta-handler
Use Alerta as a dashboard for Sensu
Stars: ✭ 21 (-73.42%)
Mutual labels:  sensu, sensu-handler
aws-sqs-sns-client
AWS SNS SQS client UI
Stars: ✭ 26 (-67.09%)
Mutual labels:  sqs, sns
aws-backup-lambda
A utility AWS lambda function to manage EBS and RDS snapshot backups.
Stars: ✭ 60 (-24.05%)
Mutual labels:  ebs, rds
terraform-aws-backup
Terraform module to provision AWS Backup, a fully managed backup service that makes it easy to centralize and automate the back up of data across AWS services such as EBS volumes, RDS databases, DynamoDB tables, EFS file systems, and AWS Storage Gateway volumes.
Stars: ✭ 62 (-21.52%)
Mutual labels:  ebs, rds
Hello-AWS-Data-Services
Sample code for AWS data service and ML courses on LinkedIn Learning
Stars: ✭ 144 (+82.28%)
Mutual labels:  emr, rds
super-serverless-sample
Backend serverless que simula o sistema de votação do BBB
Stars: ✭ 30 (-62.03%)
Mutual labels:  sqs, rds
sensu-plugins-sensu
This plugin provides monitoring and metrics for Sensu.
Stars: ✭ 13 (-83.54%)
Mutual labels:  sensu-handler, sensu-plugins
bitbucket-to-aws
How to deploy a Laravel app from Bitbucket to autoscaled instances at AWS.
Stars: ✭ 14 (-82.28%)
Mutual labels:  ec2, autoscaling
aws-map
Make a network graph of an AWS region
Stars: ✭ 79 (+0%)
Mutual labels:  ec2, rds
sns-sqs-big-payload
Amazon SNS/SQS client library that enables sending and receiving messages with payload larger than 256KiB via Amazon S3.
Stars: ✭ 40 (-49.37%)
Mutual labels:  sqs, sns
AutoSpotting
Saves up to 90% of AWS EC2 costs by automating the use of spot instances on existing AutoScaling groups. Installs in minutes using CloudFormation or Terraform. Convenient to deploy at scale using StackSets. Uses tagging to avoid launch configuration changes. Automated spot termination handling. Reliable fallback to on-demand instances.
Stars: ✭ 2,058 (+2505.06%)
Mutual labels:  ec2, autoscaling
terraform-aws-lambda
A Terraform module to create AWS Lambda ressources.
Stars: ✭ 40 (-49.37%)
Mutual labels:  sqs, sns

Sensu-Plugins-aws

Build Status Gem Version Sensu Bonsai Asset

Sensu Asset

The Sensu assets packaged from this repository are built against the Sensu Ruby runtime environment. When using these assets as part of a Sensu Go resource (check, mutator or handler), make sure you include the corresponding Sensu Ruby runtime asset in the list of assets needed by the resource. The current ruby-runtime assets can be found here in the Bonsai Asset Index.

Functionality

check-alb-target-group-health.rb

check-asg-instances-created.rb

check-asg-instances-inservice.rb

check-autoscaling-cpucredits.rb

check-beanstalk-elb-metric.rb

check-certificate-expiry.rb

check-cloudwatch-alarm

check-cloudwatch-alarm-multi

check-cloudwatch-alarms

check-cloudwatch-composite-metric

check-cloudwatch-metric

check-cloudfront-tag

check-configservice-rules

check-dynamodb-capacity.rb

check-dynamodb-throttle.rb

check-direct-connect-virtual-interfaces.rb

check-ebs-snapshots.rb

check-ebs-burst-limit.rb

check-ec2-cpu_balance.rb

check-ec2-filter.rb

check-ec2-network.rb

check-ecs-service-health.rb

check-efs-metric.rb

check-eip-allocation.rb

check-elasticache-failover.rb

check-elb-certs.rb

check-elb-health-fog.rb

check-elb-health-sdk.rb

check-elb-health.rb

check-elb-instances-inservice.rb

check-elb-latency.rb

check-elb-nodes.rb

check-elb-sum-requests.rb

check-emr-cluster.rb

check-emr-steps.rb

check-eni-status.rb

check-instance-events.rb

check-instance-health.rb

check-kms-key.rb

check-rds-events.rb

check-rds-pending.rb

check-rds.rb

check-redshift-events.rb

check-reserved-instances.rb

check-route53-domain-expiration.rb

check-s3-bucket.rb

check-s3-bucket-visibility.rb

check-s3-object.rb

check-s3-tag.rb

check-ses-limit.rb

check-ses-statistics.rb

check-sns-subscriptions

check-sqs-messages.rb

check-subnet-ip-consumption

check-vpc-nameservers

check-instances-count.rb

check-vpc-vpn.rb

handler-ec2_node.rb

handler-scale-asg-down.rb

handler-scale-asg-up.rb

handler-ses.rb

handler-sns.rb

metrics-asg.rb

metrics-autoscaling-instance-count.rb

metrics-billing.rb

metrics-ec2-count.rb

metrics-ec2-filter.rb

metrics-elasticache.rb

metrics-elb-full.rb

metrics-elb.rb

metrics-emr-steps.rb

metrics-rds.rb

metrics-s3.rb

metrics-ses.rb

metrics-sqs.rb

Files

  • /bin/check-alb-target-group-health.rb
  • /bin/check-asg-instances-created.rb
  • /bin/check-autoscaling-cpucredits.rb
  • /bin/check-asg-instances-inservice.rb
  • /bin/check-beanstalk-elb-metric.rb
  • /bin/check-certificate-expiry.rb
  • /bin/check-configservice-rules.rb
  • /bin/check-cloudfront-tag.rb
  • /bin/check-cloudwatch-alarm.rb
  • /bin/check-cloudwatch-alarm-multi.rb
  • /bin/check-cloudwatch-alarms.rb
  • /bin/check-cloudwatch-metric.rb
  • /bin/check-cloudwatch-composite-metric.rb
  • /bin/check-dynamodb-capacity.rb
  • /bin/check-dynamodb-throttle.rb
  • /bin/check-direct-connect-virtual-interfaces.rb
  • /bin/check-ebs-burst-limit.rb
  • /bin/check-ebs-snapshots.rb
  • /bin/check-ec2-filter.rb
  • /bin/check-ec2-network.rb
  • /bin/check-ecs-service-health.rb
  • /bin/check-efs-metric.rb
  • /bin/check-elasticache-failover.rb
  • /bin/check-elb-certs.rb
  • /bin/check-elb-health-fog.rb
  • /bin/check-elb-health-sdk.rb
  • /bin/check-elb-health.rb
  • /bin/check-elb-instances-inservice.rb
  • /bin/check-elb-latency.rb
  • /bin/check-elb-nodes.rb
  • /bin/check-elb-sum-requests.rb
  • /bin/check-emr-cluster.rb
  • /bin/check-emr-steps.rb
  • /bin/check-eni-status.rb
  • /bin/check-expiring-reservations.rb
  • /bin/check-instance-events.rb
  • /bin/check-rds-events.rb
  • /bin/check-rds-pending.rb
  • /bin/check-rds.rb
  • /bin/check-redshift-events.rb
  • /bin/check-route53-domain-expiration.rb
  • /bin/check-s3-object.rb
  • /bin/check-s3-tag.rb
  • /bin/check-ses-limit.rb
  • /bin/check-ses-statistics.rb
  • /bin/check-sqs-messages.rb
  • /bin/check-subnet-ip-consumption.rb
  • /bin/check-vpc-nameservers.rb
  • /bin/check_vpc_vpn.py
  • /bin/check_vpc_vpn.rb
  • /bin/handler-ec2_node.rb
  • /bin/handler-ses.rb
  • /bin/handler-sns.rb
  • /bin/metrics-autoscaling-instance-count.rb
  • /bin/check-instances-count.rb
  • /bin/metrics-asg.rb
  • /bin/metrics-billing.rb
  • /bin/metrics-ec2-count.rb
  • /bin/metrics-ec2-filter.rb
  • /bin/metrics-elasticache.rb
  • /bin/metrics-elb-full.rb
  • /bin/metrics-elb.rb
  • /bin/metrics-emr-steps.rb
  • /bin/metrics-rds.rb
  • /bin/metrics-reservation-utilization.rb
  • /bin/metrics-s3.rb
  • /bin/metrics-ses.rb
  • /bin/metrics-sqs.rb

Usage

handler-ses

  1. Configure authentication
  2. Enable the handler in /etc/sensu/conf.d/handlers/ses.json:
{
  "handlers": {
    "ses": {
      "type": "pipe",
      "command": "handler-ses.rb"
    }
  }
}
  1. Configure the handler in /etc/sensu/conf.d/ses.json:
{
  "ses": {
    "mail_from": "[email protected]",
    "mail_to": "[email protected]",
    "region": "us-east-1",
    "subscriptions": {
      "subscription_name": {
        "mail_to": "[email protected]"
      }
    }
  }
}

handler-sns

handler-sns can be used to send alerts to Email, HTTP endpoints, SMS, or any other subscription type supported by SNS.

  1. Create an SNS topic and subscription [Docs]
  2. Configure authentication
  3. Enable the handler in /etc/sensu/conf.d/handlers/sns.json:
{
  "handlers": {
    "sns": {
      "type": "pipe",
      "command": "handler-sns.rb"
    }
  }
}
  1. Configure the handler in /etc/sensu/conf.d/sns.json:
{
  "sns": {
    "topic_arn": "arn:aws:sns:us-east-1:111111111111:topic",
    "region": "us-east-1"
  }
}

Installation

Installation and Setup

Note: In addition to the standard installation requirements the installation of this gem will require compiling the nokogiri gem. Due to this you'll need certain development packages on your system.

On Ubuntu systems run the following to install build dependencies:

sudo apt-get install build-essential libxml2-dev zlib1g-dev

On CentOS systems, run the following to install build dependencies:

sudo yum groupinstall -y "Development Tools"
sudo yum install -y libxml2-devel zlib-devel

If you'd like to avoid compiling nokogiri and other gems on every system where you need to install this plugin collection, please have a look at the Sensu guide for pre-compiling plugin packages.

Authentication

AWS credentials are required to execute these checks. Starting with AWS-SDK v2 there are a few methods of passing credentials to the check:

  1. Use a credential file. Place the credentials in ~/.aws/credentials. On Unix-like systems this is going to be /opt/sensu/.aws/credentials. Be sure to restrict the file to the sensu user.
[default]
aws_access_key_id = <access_key>
aws_secret_access_key = <secret_access_key>
  1. Use an EC2 instance profile. If the checks are executing on an EC2 instance you can give the instance an IAM role and authentication will be handled automatically.

See the AWS-SDK docs for more details on credential configuration.

Some of the checks accept credentials with aws_access_key and aws_secret_access_key options however this method is deprecated as it is insecure to pass credentials on the command line. Support for these options will be removed in future releases.

No matter which authentication method is used you should restrict AWS API access to the minimum required to run the checks. In general this is done by limiting the sensu IAM user/role to the necessary Describe calls for the services being checked.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].