This is a Terraform module for deploying pre-defined set of AWS dashboards in Cloud Observability meant to be used with the Cloud Observability Cloudwatch Metrics Streams Integration.
- Cloud Observability account and API Key with
member
permissions. - Cloud Observability Cloudwatch Metrics Streams integration sending data to a Cloud Observability project.
- Terraform v1.0+
Each AWS resource has an associated module that will create Cloud Observability dashboards to view Cloudwatch metrics. Currently, these resources are supported:
- Amplify (module:
amplify-dashboard
) - API Gateway (module:
apigateway-dashboard
) - Application ELB (module:
applicationelb-dashboard
) - Athena (module:
athena-dashboard
) - Aurora (module:
aurora-dashboard
) - AutoScaling (module:
autoscaling-dashboard
) - Backup (module:
backup-dashboard
) - Certificate Manager (module:
certificatemanager-dashboard
) - Chatbot (module:
chatbot-dashboard
) - Chime SDK (module:
chime-dashboard
) - CloudFront (module:
cloudfront-dashboard
) - CloudHSM (module:
cloudhsm-dashboard
) - CloudTrail (module:
cloudtrail-dashboard
) - Cognito (module:
cognito-dashboard
) - DynamoDB (module:
dynamodb-dashboard
) - EBS (module:
ebs-dashboard
) - EC2 (module:
ec2-dashboard
) - ECS (module:
ecs-dashboard
) - EFS (module:
efs-dashboard
) - EKS Node (module:
eks-node-dashboard
) - EKS Pod (module:
eks-pod-dashboard
) - ElastiCache (Redis) (module:
elasticache-redis-dashboard
) - EMR Hadoop 2 (module:
elasticmapreduce-dashboard
) - EventBridge (module:
eventbridge-dashboard
) - Inspector (module:
inspector-dashboard
) - Kinesis (module:
kinesis-dashboard
) - Lambda (module:
lambda-dashboard
) - MSK (module:
msk-dashboard
) - Kafka Topic (module:
msk-topic-dashboard
) - NAT Gateway (module:
natgateway-dashboard
) - Network Firewall (module:
networkfirewall-dashboard
) - RDS (module:
rds-dashboard
) - Redshift (module:
redshift-dashboard
) - Route53 (module:
route53-dashboard
) - S3 (module:
s3-dashboard
) - SES (module:
ses-dashboard
) - SNS (module:
sns-dashboard
) - SQS (module:
sqs-dashboard
) - Step Functions (module:
stepfunctions-dashboard
)
This repo has the following folder structure:
- modules: This folder contains several standalone, reusable, modules that you can use to create different types of Cloud Observability dashboards for AWS resources.
- examples: This folder shows examples of different ways to define creation of dashboards.
- root folder: The root folder is an example of how to use the terraform-lightstep-aws-dashboards module module to create Cloud Observability AWS Dashboards. The Terraform Registry requires the root of every repo to contain Terraform code, so we've put one of the examples there. This example is great for learning and experimenting, but for production use, please use the underlying modules in the modules folder directly.
To deploy create Cloud Observability dashboards for production using this repo:
-
Ensure account meets module pre-requisites from above.
-
Create a Terraform configuration that pulls module(s) and specifies values of the required variables.
-
Run
terraform init
andterraform apply
with your API Key set in the environment variableLIGHTSTEP_API_KEY
(or the environment variable name you specified in configuration).
This repository uses pre-commit
to format and lint HCL code.
To install:
$ brew install pre-commit
$ pre-commit install
After you add a new dashboard module run make ready
which will fix minor formatting issues, generate the root module files, and generate the document you're reading.