Skip to content
This repository has been archived by the owner on Nov 10, 2021. It is now read-only.

alerta/alerta-cloudformation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alerta on AWS EC2

This CloudFormation template can be used to easily deploy Alerta as a single instance Auto-Scaling Group behind a Elastic Load Balancer in an AWS VPC using RDS Postgres as the backend database.

Launch Stack

For help, join Slack chat

Requirements

  • VPC with at least two public subnets
  • Google Tracking ID (optional)

Configuration

The following table lists the Cloudformation template parameters that can be set. There are sensible defaults where possible.

Parameter Description
VpcId ID of the VPC into which to launch the application eg. vpc-1234abcd
Subnets Public subnets to use in VPC for internet-facing ELB, instances and RDS eg. subnet-abcd1234
InstanceType EC2 Instance type eg. t2.micro, t2.small or t2.medium (default: t2.micro)
KeyName Name of an existing EC2 KeyPair for SSH access
SSHLocation IP range that can be used to SSH to the EC2 instances (default: 0.0.0.0/0)
SecretKey Application secret key eg. any random string
AllowedDomain Allowed email domain eg. gmail.com or example.com (default: '*')
TrackingId Google analytics tracking Id (optional)
DBName Postgres database name (default: monitoring)
DBUser Username for database access
DBPassword Password for database access
DBInstanceClass The database instance type (default: db.t2.micro)
DBAllocatedStorage The size of the database (Gb)
MultiAZ Multi-AZ master database (true/false)

Deployment

AWS Management Console

Use the AWS management console to launch the stack using the Amazon S3 template URL https://s3-eu-west-1.amazonaws.com/alerta/public/cloudformation/alerta.yaml

AWS Command-line

To launch the stack from the command-line use the aws command. The following command shows the minimum stack parameters that must be defined to launch the stack:

$ aws cloudformation create-stack \
  --stack-name AlertaStack \
  --template-body file://alerta.yaml \
  --parameters \
  ParameterKey=VpcId,ParameterValue=vpcfffd0f9a \
  ParameterKey=Subnets,ParameterValue=\"subnet-0fa00c78,subnet-2ee56c4b\" \
  ParameterKey=SecretKey,ParameterValue=supersecret \
  ParameterKey=DBUser,ParameterValue=alerta \
  ParameterKey=DBPassword,ParameterValue=mypassword \
  --tags Key=Role,Value=monitoring Key=Owner,Value=DevOps

Note: The Subnets parameter value must be a comma-delimited string surrounded by escaped quotes otherwise it will be interpreted as a string and the command will fail with an Invalid type for parameter error.

Quick Launch

Launch Stack

Usage

The Alerta Web UI is available at the following:

http://<elb-ip-address>

And the Alerta API is available at the following:

http://<elb-ip-address>/api

The exact values are dependent on the actual deployment and can be found in the CloudFormation "Outputs" tab of the AWS console once the Alerta stack has been successfully created.

Enhancements

There are many improvements that should be made to this template before it is used in a production environment. These include, but are not limited to:

  • using private VPC subnets for the web servers and database instances
  • copying the web console static assets to S3 and serving them from Cloudfront
  • creating an SSL certificate and using HTTPS instead of HTTP

These and other enhancements are specific to every deployment environment so this is left as an exercise for the reader.

License

Copyright (c) 2015-2016,2018 Nick Satterly. Available under the MIT License.

Releases

No releases published

Packages

No packages published

Languages