mirror of
https://github.com/storytold/terraform-aws-observability-accelerator.git
synced 2026-10-09 00:09:43 +00:00
Docs (#69)
* working first run * removing core module dependencies * adding CW datasource * alarms MVP * readmes * Adding Screenshot * Adding billing note * adding billing module * Revert "adding billing module" This reverts commit 40d667e37db1036cd71a471ef2fde83ec02aaa13. reverting * adding billing module * Updating Screenshot * resolving feedback * removing unused modules * fmt * Support for tf 1.3.x * removing unused variables * support alarms for multiple workspaces * Updating Readme * docs first draft * indigo nav fix * Simplify docs * RUM White Logo * amp docs * removing billing docs * Change docs structure, reword infrastructure monitoring doc * Pre-commit fixes * drop dead code * Add concepts page * Update contributors * Update java * Update docs * Docs for workloads * Update docs site * typos * pre-commit fixes * Update pre-commit * Update pre-commit Co-authored-by: Rodrigue Koffi <bonclay7@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# Concepts
|
||||
|
||||
## Prerequisites
|
||||
|
||||
All examples in this repository require the following tools installed
|
||||
|
||||
1. [Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli)
|
||||
2. [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)
|
||||
3. [Kubectl](https://Kubernetes.io/docs/tasks/tools/)
|
||||
|
||||
### Minimum IAM Policy
|
||||
|
||||
To run the examples, you need a set of AWS IAM permissions. You can find an example of minimum
|
||||
permissions required [in this file](https://github.com/aws-observability/terraform-aws-observability-accelerator/blob/docs/docs/iam/min-iam-policy.json).
|
||||
|
||||
> **Note**: The policy resource is set as `*` to allow all resources, this is not a recommended practice.
|
||||
You should restrict instead to the ARNs when applicable.
|
||||
|
||||
### Terraform states and variables
|
||||
|
||||
By default, our examples are using local Terraform states. If you need
|
||||
your Terraform states to be saved remotely, on Amazon S3, visit the
|
||||
[terraform remote states](https://www.terraform.io/language/state/remote) documentation.
|
||||
|
||||
For simplicity, we use Terraform supported environment variables.
|
||||
You can also edit the `terraform.tfvars` files directly and deploy
|
||||
with `terraform apply -var-file=terraform.tfvars`. Terraform tfvars file can be useful if
|
||||
you need to track changes as part of a Git repository or CI/CD pipeline.
|
||||
|
||||
> **Note:** When using `tfvars` files, always be careful to not store and commit any secrets (keys, passwords, ...)
|
||||
|
||||
## Base module
|
||||
|
||||
The base module allows you to configure the AWS Observability services for your cluster and the AWS Distro for OpenTelemetry (ADOT) Operator as the signals collection mechanism.
|
||||
|
||||
Here is the minimum configuration to have a new Managed Grafana Workspace, Amazon Managed Service for Prometheus Workspace, ADOT Operator deployed for you and ready to receive your data.
|
||||
|
||||
```hcl
|
||||
module "eks_observability_accelerator" {
|
||||
source = "aws-observability/terraform-aws-observability-accelerator"
|
||||
aws_region = "eu-west-1"
|
||||
eks_cluster_id = "my-eks-cluster"
|
||||
}
|
||||
```
|
||||
|
||||
You can optionally reuse existing Workspaces to dissociate their lifecycle from the
|
||||
Terraform state.
|
||||
|
||||
```hcl
|
||||
module "eks_observability_accelerator" {
|
||||
source = "aws-observability/terraform-aws-observability-accelerator"
|
||||
aws_region = "eu-west-1"
|
||||
eks_cluster_id = "my-eks-cluster"
|
||||
|
||||
# prevents creation of a new Amazon Managed Prometheus workspace
|
||||
enable_managed_prometheus = false
|
||||
|
||||
# reusing existing Amazon Managed Prometheus Workspace
|
||||
managed_prometheus_workspace_id = "ws-abcd123..."
|
||||
|
||||
# prevents creation of a new Amazon Managed Grafana workspace
|
||||
enable_managed_grafana = false
|
||||
|
||||
managed_grafana_workspace_id = "g-abcdef123"
|
||||
grafana_api_key = var.grafana_api_key
|
||||
}
|
||||
```
|
||||
|
||||
View all the configuration options in the [module's documentation](https://github.com/aws-observability/terraform-aws-observability-accelerator#requirements)
|
||||
|
||||
## Workload modules
|
||||
|
||||
Workloads modules are focused Terraform modules provided in this repository. They essentially provide curated metrics collection, alerts and Grafana dashboards according to the use case. Most of those modules require the base module.
|
||||
|
||||
You can check the full workload modules list and their documentation [here](https://github.com/aws-observability/terraform-aws-observability-accelerator/tree/main/modules/workloads).
|
||||
|
||||
All the modules come with end-to-end deployable examples.
|
||||
|
||||
## Examples
|
||||
|
||||
[Examples](https://github.com/aws-observability/terraform-aws-observability-accelerator/tree/main/examples) put modules together in a ready to deploy terraform configuration as a starting point. With little to no configuration, you can run `terraform apply` and use the deployed resources on your AWS Account.
|
||||
|
||||
You can find **workload** examples like [Amazon EKS infrstructure monitoring](/terraform-aws-observability-accelerator/workloads/eks/) or [monitoring your Amazon Managed Service for Prometheus workspace](terraform-aws-observability-accelerator/workloads/managed-prometheus/) and more.
|
||||
|
||||
|
||||
## Getting started with AWS Observability services
|
||||
|
||||
If you are new to AWS Observability services, or want to dive deeper into them, check our [One Observability Workshop](https://catalog.workshops.aws/observability/) for a hands-on experience in a self-paced environement or at an AWS venue.
|
||||
Reference in New Issue
Block a user