https://github.com/ssbostan/prometheus-multi-tenant-proxy-server
Multi-tenant reverse proxy for Prometheus server
https://github.com/ssbostan/prometheus-multi-tenant-proxy-server
cloud cluster devops kubernetes monitoring multitenancy prometheus security
Last synced: 5 months ago
JSON representation
Multi-tenant reverse proxy for Prometheus server
- Host: GitHub
- URL: https://github.com/ssbostan/prometheus-multi-tenant-proxy-server
- Owner: ssbostan
- License: apache-2.0
- Created: 2023-01-25T16:25:15.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-07-06T22:01:46.000Z (over 2 years ago)
- Last Synced: 2025-03-30T16:03:10.009Z (6 months ago)
- Topics: cloud, cluster, devops, kubernetes, monitoring, multitenancy, prometheus, security
- Language: Go
- Homepage:
- Size: 326 KB
- Stars: 12
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# prometheus-multi-tenant-proxy-server
Tiny reverse proxy server to make Prometheus multi-tenant. This reverse proxy provides a little Authentication/Authorization layer on top of Prometheus and injects the target label into all user queries.
## Where we need this project?
- Where you need Authentication/Authorization for Prometheus.
- Where you need to restrict users to be able to access a set of metrics.
- Where you need to implement Multi-tenancy based on specific metric labels.
- Where you need a proxy to check what the user does in your system.## Architecture:
Here is the big picture of the architecture to monitor Kubernetes cluster in a multi-tenant model.

## Get started guide:
You can deploy `prometheus-multi-tenant-proxy-server` anywhere. However, we prepared several Kubernetes resources - Helm chart and Kustomize files - to help you quickly deploy this project into Kubernetes.
To create a proper config, see examples under the `examples` directory.
#### Helm chart installation:
```bash
helm install prometheus-multi-tenant-proxy-server \
./deployments/chart/ \
-n prometheus \
--create-namespace \
-f YOURVALUES.yaml
```#### Kustomize installation:
```bash
kubectl apply -k deployments/kustomize
```#### Docker installation:
```bash
docker run --name prometheus-multi-tenant-proxy-server -d -p 9999:9999 \
-v /path/to/your/config.yaml:/opt/config/config.yaml \
ssbostan/prometheus-multi-tenant-proxy-server:latest
```## Related materials:
- [Introduction and Quick demo, Cloud Native London, April 2023](https://www.youtube.com/live/SAF1OC5SpnY?feature=share&t=2490)
Copyright 2023 Saeid Bostandoust