GreptimeTeam / GreptimeTeam/gtctl
Support to deploy prometheus stack for greptimedb observability
- Dominant language
- Go
- Stars
- 37
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
## Background
When starting a greptimedb cluster, we always want to observe it through metrics and visualize them using Grafana. The [doc](https://docs.greptime.com/user-guide/operations/monitoring#export-metrics-to-prometheus) shows some deploying details:
1. Start the GreptimeDB;
2. Start the Prometheus(maybe we can run another greptimedb instance in the future);
3. Start the Grafana;
4. Import the Grafana [dashboard](https://github.com/GreptimeTeam/greptimedb/tree/main/grafana)(not in the doc);
It's not convenient to deploy Prometheus and Grafana separately.
In my opinion, maybe we can integrate the process into gtctl. For example, we can add the cli options `--deploy-prometheus` and `--deploy-grafana`:
```console
gtctl cluster create mydb \
--deploy-prometheus \
--deploy-grafana
```
After the deployment, we can open the URL link to observe the GreptimeDB.
## Challenges
We can **reuse** the code of deploying GreptimeDB to deploy the Prometheus stack. For example:
1. For bare-metal mode, we can download the binary of `prometheus` and `grafana` and then start the deployment;
2. For K8s mode, we can download the [chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) to deploy the Prometheus stack;
However, we still need to:
1. Make the original code clean and have a good interface to reuse. Maybe it still has some refactoring work to do;
2. Don't make the deployment too complicated to use. The whole developer experience must be as smooth as we can;
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.