You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Typo
* Remove Grafana provider
* Temp: move dashbaords to gitOps
* Move external labels to resource attributes
* Avoid DDoS with using 0.0.0.0
* Pre-commit
* Transition in two steps
Will need to remove provider in a separate version to provide a transition path as removing this will break terraform and leave orphans in the state
* Move patterns' dashboards creation to gitOps
Standardize config objects for patterns as well
* Pre-commit
* Create AMP dashboard from external source with Grafana provider
* Fix deprecated option
* Fix Flux requirements
* Run pre-commit
* Update example with operator
* Cleanup examples
* Update multicluster example
* Update multicluster example
* Drop dead variable
* Update docs
* Change GitOps branch name
* Update docs
* Replacing Secrets Manager to SSM to store Grafana API Key (#178)
* Fixing SSM
* Fixing SSM
* Replacing Secrets Manager with SSM
* Replacing Secrets Manager with SSM
* Update architecture diagram
* Update architecture diagram
* Update README.md
* Update index.md
* Fixing Grafana Operator Version
* Fix multicluster example
* Update docs
---------
Co-authored-by: Ela AWS <51791117+elamaran11@users.noreply.github.com>
Co-authored-by: Elamaran Shanmugam <elamaran.shan@gmail.com>
The sections below demonstrate how you can leverage AWS Observability Accelerator
34
35
to enable monitoring to an existing EKS cluster.
35
36
36
-
### v2.x changes
37
-
38
-
v2+ releases introduces couple of breaking changes compared to previous versions:
39
-
40
-
-`modules/workloads/infra` module moves to `modules/eks-monitoring`
41
-
- All EKS configuration options moves from the base module to the `eks-monitoring` module
42
-
- All EKS workload modules `modules/workloads/{java,nginx}` merge into `eks-monitoring` as configuration options (patterns), see [examples](./examples) to provide a more complete visibility
43
-
- All examples have been updated to reflect these changes
44
-
- Introducing GitOps for Grafana contents (Dashboards, Folders and Data sources) with [Grafana Operator](https://github.com/grafana-operator/grafana-operator) and [Flux CD](https://fluxcd.io/)
45
37
46
38
### Base Module
47
39
@@ -161,14 +153,13 @@ If you are interested in contributing, see the
| <aname="input_aws_region"></a> [aws\_region](#input\_aws\_region)| AWS Region |`string`| n/a | yes |
193
-
| <aname="input_create_dashboard_folder"></a> [create\_dashboard\_folder](#input\_create\_dashboard\_folder)| Boolean flag to enable Amazon Managed Grafana folder and dashboards |`bool`|`true`| no |
194
-
| <aname="input_create_prometheus_data_source"></a> [create\_prometheus\_data\_source](#input\_create\_prometheus\_data\_source)| Boolean flag to enable Amazon Managed Grafana datasource |`bool`|`true`| no |
195
182
| <aname="input_enable_alertmanager"></a> [enable\_alertmanager](#input\_enable\_alertmanager)| Creates Amazon Managed Service for Prometheus AlertManager for all workloads |`bool`|`false`| no |
196
183
| <aname="input_enable_managed_prometheus"></a> [enable\_managed\_prometheus](#input\_enable\_managed\_prometheus)| Creates a new Amazon Managed Service for Prometheus Workspace |`bool`|`true`| no |
197
184
| <aname="input_grafana_api_key"></a> [grafana\_api\_key](#input\_grafana\_api\_key)| Grafana API key for the Amazon Managed Grafana workspace |`string`| n/a | yes |
198
-
| <aname="input_managed_grafana_workspace_id"></a> [managed\_grafana\_workspace\_id](#input\_managed\_grafana\_workspace\_id)| Amazon Managed Grafana Workspace ID |`string`|`""`|no|
185
+
| <aname="input_managed_grafana_workspace_id"></a> [managed\_grafana\_workspace\_id](#input\_managed\_grafana\_workspace\_id)| Amazon Managed Grafana Workspace ID |`string`|n/a|yes|
199
186
| <aname="input_managed_prometheus_workspace_id"></a> [managed\_prometheus\_workspace\_id](#input\_managed\_prometheus\_workspace\_id)| Amazon Managed Service for Prometheus Workspace ID |`string`|`""`| no |
200
187
| <aname="input_managed_prometheus_workspace_region"></a> [managed\_prometheus\_workspace\_region](#input\_managed\_prometheus\_workspace\_region)| Region where Amazon Managed Service for Prometheus is deployed |`string`|`null`| no |
201
188
| <aname="input_tags"></a> [tags](#input\_tags)| Additional tags (e.g. `map('BusinessUnit`,`XYZ`) |`map(string)`|`{}`| no |
@@ -205,15 +192,10 @@ No modules.
205
192
| Name | Description |
206
193
|------|-------------|
207
194
| <aname="output_aws_region"></a> [aws\_region](#output\_aws\_region)| AWS Region |
208
-
| <aname="output_grafana_dashboard_folder_created"></a> [grafana\_dashboard\_folder\_created](#output\_grafana\_dashboard\_folder\_created)| Boolean value indicating if the module created a dashboard folder in Amazon Managed Grafana |
209
-
| <aname="output_grafana_dashboards_folder_id"></a> [grafana\_dashboards\_folder\_id](#output\_grafana\_dashboards\_folder\_id)| Grafana folder ID for automatic dashboards. Required by workload modules |
210
-
| <aname="output_grafana_prometheus_datasource_test"></a> [grafana\_prometheus\_datasource\_test](#output\_grafana\_prometheus\_datasource\_test)| Grafana save & test URL for Amazon Managed Prometheus workspace |
| <aname="output_managed_prometheus_workspace_id"></a> [managed\_prometheus\_workspace\_id](#output\_managed\_prometheus\_workspace\_id)| Amazon Managed Prometheus workspace ID |
215
198
| <aname="output_managed_prometheus_workspace_region"></a> [managed\_prometheus\_workspace\_region](#output\_managed\_prometheus\_workspace\_region)| Amazon Managed Prometheus workspace region |
216
-
| <aname="output_prometheus_data_source_created"></a> [prometheus\_data\_source\_created](#output\_prometheus\_data\_source\_created)| Boolean value indicating if the module created a prometheus data source in Amazon Managed Grafana |
Copy file name to clipboardExpand all lines: docs/concepts.md
+13-11Lines changed: 13 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -39,22 +39,24 @@ The grafana-operator is a Kubernetes operator built to help you manage your Graf
39
39
40
40
GitOps is a way of managing application and infrastructure deployment so that the whole system is described declaratively in a Git repository. It is an operational model that offers you the ability to manage the state of multiple Kubernetes clusters leveraging the best practices of version control, immutable artifacts, and automation. Flux is a declarative, GitOps-based continuous delivery tool that can be integrated into any CI/CD pipeline. It gives users the flexibility of choosing their Git provider (GitHub, GitLab, BitBucket). Now, with grafana-operator supporting the management of external Grafana instances such as Amazon Managed Grafana, operations personas can use GitOps mechanisms using CNCF projects such as Flux to create and manage the lifecycle of resources in Amazon Managed Grafana.
41
41
42
-
We have setup a [GitRepository](https://fluxcd.io/flux/components/source/gitrepositories/) and [Kustomization](https://fluxcd.io/flux/components/kustomize/kustomization/) using flux to sync our GitHub Repository to add Grafana Datasources, folder and Dashboards to Amazon Managed Grafana using Grafana Operator. GitRepository defines a Source to produce an Artifact for a Git repository revision. Kustomization defines a pipeline for fetching, decrypting, building, validating and applying Kustomize overlays or plain Kubernetes manifests. we are also using [Flux Post build variable substitution](https://fluxcd.io/flux/components/kustomize/kustomization/#post-build-variable-substitution) to dynamically render variables such as AMG_AWS_REGION, AMP_ENDPOINT_URL, AMG_ENDPOINT_URL,GRAFANA_NODEEXP_DASH_URL on the YAML manifests during deployment time to avoid hardcoding on the YAML manifests stored in Git repo.
42
+
We have setup a [GitRepository](https://fluxcd.io/flux/components/source/gitrepositories/) and [Kustomization](https://fluxcd.io/flux/components/kustomize/kustomization/) using Flux to sync our GitHub Repository to add Grafana Datasources, folder and Dashboards to Amazon Managed Grafana using Grafana Operator. GitRepository defines a Source to produce an Artifact for a Git repository revision. Kustomization defines a pipeline for fetching, decrypting, building, validating and applying Kustomize overlays or plain Kubernetes manifests. we are also using [Flux Post build variable substitution](https://fluxcd.io/flux/components/kustomize/kustomization/#post-build-variable-substitution) to dynamically render variables such as AMG_AWS_REGION, AMP_ENDPOINT_URL, AMG_ENDPOINT_URL,GRAFANA_NODEEXP_DASH_URL on the YAML manifests during deployment time to avoid hardcoding on the YAML manifests stored in Git repo.
43
43
44
-
We have placed our declarative code snippet to create an Amazon Managed Service For Promethes datasource and Grafana Dashboard in Amazon Managed Grafana in our [AWS Observabiity Accelerator GitHub Repository](https://github.com/aws-observability/aws-observability-accelerator/tree/main/artifacts/grafana-operator-manifests). We have setup a GitRepository to point to the AWS Observabiity Accelerator GitHub Repository and `Kustomization` for flux to sync Git Repository with artifacts in `./artifacts/grafana-operator-manifests` path in the AWS Observabiity Accelerator GitHub Repository. You can use this extension of our solution to point your own Kubernetes manifests to create Grafana Datasources and personified Grafana Dashboards of your choice using GitOps with Grafana Operator and Flux in Kubernetes native way with altering and redeploying this solution for changes to Grafana resources.
44
+
We have placed our declarative code snippet to create an Amazon Managed Service For Promethes datasource and Grafana Dashboard in Amazon Managed Grafana in our [AWS Observabiity Accelerator GitHub Repository](https://github.com/aws-observability/aws-observability-accelerator). We have setup a GitRepository to point to the AWS Observabiity Accelerator GitHub Repository and `Kustomization` for flux to sync Git Repository with artifacts in `./artifacts/grafana-operator-manifests/*` path in the AWS Observabiity Accelerator GitHub Repository. You can use this extension of our solution to point your own Kubernetes manifests to create Grafana Datasources and personified Grafana Dashboards of your choice using GitOps with Grafana Operator and Flux in Kubernetes native way with altering and redeploying this solution for changes to Grafana resources.
Copy file name to clipboardExpand all lines: docs/eks/index.md
+35-19Lines changed: 35 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -111,25 +111,40 @@ terraform apply
111
111
112
112
## Visualization
113
113
114
-
#### 1. Prometheus data source on Grafana
115
114
116
-
Make sure to open the link in the output. After a successful deployment, this will open
117
-
the Prometheus data source configuration on Grafana.
118
-
Click `Save & test` and you should see a notification confirming that the Amazon Managed Service for Prometheus workspace is ready to be used on Grafana.
Login to your Grafana workspace and navigate to the Dashboards panel. You should see a list of dashboards under the `Observability Accelerator Dashboards`
@@ -70,8 +70,8 @@ Verify by looking at the file `variables.tf` that there are two EKS clusters tar
70
70
71
71
The difference in deployment between these clusters is that Terraform, when setting up the EKS cluster behind variable `eks_cluster_1_id` for observability, also sets up:
72
72
73
-
* Dashboard folder and files in `AMG`
74
-
* Prometheus and Java, alerting and recording rules in `AMP`
73
+
* Dashboard folder and files in Amazon Managed Grafana
74
+
* Prometheus and Java, alerting and recording rules in Amazon Managed Service for Prometheus
75
75
76
76
!!! warning
77
77
To override the defaults, create a `terraform.tfvars` and change the default values of the variables.
0 commit comments