Skip to content

ServerlessOpsIO/aws-health-aggregator

Repository files navigation

Infrastructure Services / aws-health-aggregator

Aggregate AWS Health events in an organization.

This service will aggregate AWS Health events for all accounts in an AWS organization. Additional services can subscribe to these events for processing or logging.

This service distinguishes between the following different types of events:

  • Public: Public AWS health notices that affect all AWS customers.
  • Organization Accounts: AWS Health events that affect specific accounts in an AWS Organization.
  • Local Account: AWS Health events that affect only the local account where this service is deployed.

Architecture

This service uses the events published by AWS Health to AWS EventBridge. Depending on the configuration, it captures public events, organization account-specific events, and local account events. These events can then be processed or logged to destinations such as Amazon CloudWatch Logs for monitoring and analysis.

Currently Public events are snet to Slack via AWS Chatbot

Setup

The following steps must be performed manually before deploying.

1. Enable AWS Health organizational view Run the following AWS CLI command while with Management account Administrator credentials

aws health enable-health-service-access-for-organization --region us-east-1

ref. https://docs.aws.amazon.com/health/latest/ug/enable-organizational-view.html

  1. (Optional) Register a delegated admin account for AWS Health.

Run the following AWS CLI command while with Management account Administrator credentials

aws health register-delegated-admin --account-id <account-id> --service-name health.amazonaws.com

Configuration

Update the CloudFormation parameters in cfn-parameters.json as needed.

Parameters:

  • Domain String: Name of the domain this component belongs to
  • System String: Name of the system this component is part of
  • Component String: Name of this component
  • CodeBranch String: Name of the branch being deployed
  • EventSource CommaDelimitedList: Event source for AWS Health events. Configure if needed for sending debug messages.
  • PublicEventLogging String: Whether to log public AWS Health events to CloudWatch Logs
  • OrgAccountsEventLogging String: Whether to log organization account-specific health events to CloudWatch Logs
  • LocalAccountEventLogging String: Whether to log local account health events to CloudWatch Logs
  • SlackChannelId String: Slack Channel ID for sending notifications via AWS Chatbot

About

Aggregate AWS Health events in an organization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published