Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lightstep/terraform-lightstep-aws-dashboards
Terraform module for Lightstep AWS Dashboards
https://github.com/lightstep/terraform-lightstep-aws-dashboards
Last synced: 8 days ago
JSON representation
Terraform module for Lightstep AWS Dashboards
- Host: GitHub
- URL: https://github.com/lightstep/terraform-lightstep-aws-dashboards
- Owner: lightstep
- License: apache-2.0
- Created: 2022-01-11T22:13:08.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-03T20:54:37.000Z (7 months ago)
- Last Synced: 2024-05-03T21:56:26.716Z (7 months ago)
- Language: HCL
- Homepage:
- Size: 425 KB
- Stars: 3
- Watchers: 46
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Terraform Module for Cloud Observability AWS Dashboards
**:warning:** You are viewing a **beta version** of the official
module to create and manage AWS Dashboards inside Cloud Observability.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](https://docs.lightstep.com/docs/setup-aws-for-metrics).
## Pre-requisites
* Cloud Observability account and API Key with `member` permissions.
* [Cloud Observability Cloudwatch Metrics Streams integration](https://docs.lightstep.com/docs/setup-aws-for-metrics) sending data to a Cloud Observability project.
* Terraform v1.0+## Supported AWS Resources
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`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/amplify-dashboard))
* __API Gateway__ (module: [`apigateway-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/apigateway-dashboard))
* __Application ELB__ (module: [`applicationelb-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/applicationelb-dashboard))
* __Athena__ (module: [`athena-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/athena-dashboard))
* __Aurora__ (module: [`aurora-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/aurora-dashboard))
* __AutoScaling__ (module: [`autoscaling-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/autoscaling-dashboard))
* __Backup__ (module: [`backup-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/backup-dashboard))
* __Certificate Manager__ (module: [`certificatemanager-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/certificatemanager-dashboard))
* __Chatbot__ (module: [`chatbot-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/chatbot-dashboard))
* __Chime SDK__ (module: [`chime-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/chime-dashboard))
* __CloudFront__ (module: [`cloudfront-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/cloudfront-dashboard))
* __CloudHSM__ (module: [`cloudhsm-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/cloudhsm-dashboard))
* __CloudTrail__ (module: [`cloudtrail-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/cloudtrail-dashboard))
* __Cognito__ (module: [`cognito-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/cognito-dashboard))
* __DynamoDB__ (module: [`dynamodb-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/dynamodb-dashboard))
* __EBS__ (module: [`ebs-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/ebs-dashboard))
* __EC2__ (module: [`ec2-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/ec2-dashboard))
* __ECS__ (module: [`ecs-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/ecs-dashboard))
* __EFS__ (module: [`efs-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/efs-dashboard))
* __EKS Node__ (module: [`eks-node-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/eks-node-dashboard))
* __EKS Pod__ (module: [`eks-pod-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/eks-pod-dashboard))
* __ElastiCache (Redis)__ (module: [`elasticache-redis-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/elasticache-redis-dashboard))
* __EMR Hadoop 2__ (module: [`elasticmapreduce-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/elasticmapreduce-dashboard))
* __EventBridge__ (module: [`eventbridge-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/eventbridge-dashboard))
* __Inspector__ (module: [`inspector-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/inspector-dashboard))
* __Kinesis__ (module: [`kinesis-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/kinesis-dashboard))
* __Lambda__ (module: [`lambda-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/lambda-dashboard))
* __MSK__ (module: [`msk-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/msk-dashboard))
* __Kafka Topic__ (module: [`msk-topic-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/msk-topic-dashboard))
* __NAT Gateway__ (module: [`natgateway-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/natgateway-dashboard))
* __Network Firewall__ (module: [`networkfirewall-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/networkfirewall-dashboard))
* __RDS__ (module: [`rds-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/rds-dashboard))
* __Redshift__ (module: [`redshift-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/redshift-dashboard))
* __Route53__ (module: [`route53-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/route53-dashboard))
* __S3__ (module: [`s3-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/s3-dashboard))
* __SES__ (module: [`ses-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/ses-dashboard))
* __SNS__ (module: [`sns-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/sns-dashboard))
* __SQS__ (module: [`sqs-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/sqs-dashboard))
* __Step Functions__ (module: [`stepfunctions-dashboard`](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/main/modules/stepfunctions-dashboard))## How to Use This Module
This repo has the following folder structure:
* [modules](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/master/modules): This folder contains several standalone, reusable, modules that you can use to create different types of Cloud Observability dashboards for AWS resources.
* [examples](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/master/examples): This folder shows examples of different ways to define creation of dashboards.
* [root folder](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/master): The root folder is *an example* of how to use the [terraform-lightstep-aws-dashboards module](https://github.com/hashicorp/terraform-aws-consul/tree/master/modules/consul-cluster)
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](https://github.com/lightstep/terraform-lightstep-aws-dashboards/tree/master/modules) 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` and `terraform apply` with your API Key set in the environment variable `LIGHTSTEP_API_KEY` (or the environment variable name you specified in configuration).
## Development
This repository uses `pre-commit` and `tflint` to format and lint HCL code.
To install:
```
$ brew install tflint
$ brew install pre-commit
$ pre-commit install
```
## Contributing New DashboardsAfter 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.