https://github.com/ackeecz/terraform-kubernetes-redis-bigkeys-monitoring
Created Kubernetes Pod to parse output of Redis --bigkeys command and submits the metrics to Google Cloud Monitoring.
https://github.com/ackeecz/terraform-kubernetes-redis-bigkeys-monitoring
monitoring redis terraform-module
Last synced: 8 months ago
JSON representation
Created Kubernetes Pod to parse output of Redis --bigkeys command and submits the metrics to Google Cloud Monitoring.
- Host: GitHub
- URL: https://github.com/ackeecz/terraform-kubernetes-redis-bigkeys-monitoring
- Owner: AckeeCZ
- Created: 2021-09-25T13:30:30.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-16T15:18:43.000Z (over 2 years ago)
- Last Synced: 2025-01-07T22:11:10.721Z (9 months ago)
- Topics: monitoring, redis, terraform-module
- Language: Smarty
- Homepage:
- Size: 23.4 KB
- Stars: 1
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Terraform Google Cloud Redis Big Keys monitoring
Terraform module to create pod which runs `redis-cli --bigkeys`, parse the output and push it into Google Cloud Monitoring.
It also contains dashboard kept as kubernetes secret, which could be parsed by [Grafana](https://github.com/grafana/helm-charts).## Requirements
No requirements.
## Providers
| Name | Version |
|------|---------|
| [google](#provider\_google) | n/a |
| [grafana](#provider\_grafana) | n/a |
| [kubernetes](#provider\_kubernetes) | n/a |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [google_project_iam_member.sa](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/project_iam_member) | resource |
| [google_service_account.sa](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/service_account) | resource |
| [google_service_account_iam_member.sa_allow_iam_workload_identity](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/service_account_iam_member) | resource |
| [grafana_dashboard.grafana_redis_bigkeys](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/dashboard) | resource |
| [kubernetes_deployment.redis_bigkeys_monitoring](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/deployment) | resource |
| [kubernetes_service_account.sa](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/service_account) | resource |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [cluster\_ca\_certificate](#input\_cluster\_ca\_certificate) | Public CA certificate that is the root of trust for the GKE K8s cluster | `string` | n/a | yes |
| [cluster\_endpoint](#input\_cluster\_endpoint) | Cluster control plane endpoint | `string` | n/a | yes |
| [cluster\_token](#input\_cluster\_token) | Cluster master token, keep always secret! | `string` | n/a | yes |
| [docker\_tag](#input\_docker\_tag) | Tag of image ackee/redis\_bigkeys used for monitoring | `string` | `"latest"` | no |
| [gke\_workload\_identity](#input\_gke\_workload\_identity) | Add resources need for GKE workload identity setup | `bool` | `true` | no |
| [grafana\_folder\_id](#input\_grafana\_folder\_id) | ID of Grafana folder where we store dashboard | `number` | `1` | no |
| [include\_dashboard](#input\_include\_dashboard) | Include dashboard as k8s secret | `bool` | `true` | no |
| [namespace](#input\_namespace) | Namespace for monitoring deployment containing pod runtime | `string` | n/a | yes |
| [project](#input\_project) | Project ID | `any` | n/a | yes |
| [redis\_instances](#input\_redis\_instances) | Map of redis instances with items in containing fields instance\_hostname and instance\_database, key is instance\_name | `map(map(string))` | `{}` | no |## Outputs
No outputs.