An open API service indexing awesome lists of open source software.

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.

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.