Skip to content

azlydnev/aws-health-exporter

 
 

Repository files navigation

AWS Health Exporter Build Status

This is a simple server that scrapes the AWS Status (via the AWS Health API) and exports it via HTTP for Prometheus consumption. That allows you to alert on certain AWS status updates or to just make them visible on your dashboards.

Note that in order to scrape the AWS Health API your AWS account has to have a Business or Enterprise support plan. See the official documentation for details.

Build

make

Run

./aws-health-exporter --aws.region=eu-west-1

Exposed metrics

The aws-health-exporter exports just one metric (event count) and you want to filter by the included labels.

Example

# This gives us a list of all `open` events in region `us-east-1` of type `issue`
aws_health_events{status_code="open", region="us-east-1", category="issue"}
Name Description Labels
aws_health_events AWS Health events category, region, service, status_code

Labels Explained

Label Description
category The category of the event. Possible events are issue, accountNotification and scheduledChange.
region The AWS region name of the event. E.g. us-east-1.
service The AWS service that is affected by the event. For example, EC2, RDS.
status_code The most recent status of the event. Possible values are open, closed, and upcoming.

The labels match the corresponding AWS Event content - for a more detailed and up-to-date explanation see the offical documention here

Flags

Flag Description
--help Show help.
--version Print version information
--web.listen-address The address to listen on for HTTP requests. Default: ":9383"
--aws.category A list of event type category codes (issue, scheduledChange, or accountNotification) that are used to filter events.
--aws.region A list of AWS regions that are used to filter events
--aws.service A list of AWS services that are used to filter events

Docker

You can deploy this exporter using the azlydnev/aws-health-exporter Docker Image.

Example

docker pull azlydnev/aws-health-exporter
docker run -p 9383:9383 azlydnev/aws-health-exporter

Credentials

The aws-health-exporter requires AWS credentials to access the AWS Health API. For example you can pass them via env vars using -e AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} -e AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} options.

About

AWS Health API Exporter for Prometheus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 89.1%
  • Makefile 6.5%
  • Dockerfile 4.4%