rs-infra-monitoring¶
Monitoring and observability stack of RS-Python: metrics, logs and traces of the Kubernetes cluster and of the RS-Python components, with their dashboards.
Overview¶
This repository is a package of applications deployed on the cluster created by
rs-infra-core, with its apps.yaml playbook. Each folder of
apps is an application, made of a Kustomize file that references a Helm chart and
Kubernetes manifests, templated with the variables of the inventory:
| Application | Namespace | Description |
|---|---|---|
01-grafana-operator |
monitoring |
The Grafana Operator, that manages the data sources and dashboards of Grafana as Kubernetes resources (GrafanaDatasource, GrafanaDashboard...). |
01-listenerset |
monitoring |
The HTTPS listener of the monitoring.<domain> host name on the Envoy Gateway, see Gateway API. |
grafana |
monitoring |
Grafana, the web interface of the monitoring, with the Keycloak authentication (OpenID Connect). |
prometheus |
monitoring |
The kube-prometheus-stack: Prometheus, its operator and the exporters of the cluster metrics, exposed under /prometheus with the Keycloak authentication. |
prometheus-datasource |
monitoring |
The Prometheus data source of Grafana. |
loki |
logging |
Loki, the storage of the logs of all the pods, in the object storage, with its Grafana data source. |
tempo-distributed |
logging |
Tempo, the storage of the OpenTelemetry traces, in the object storage, with its Grafana data source. |
alloy |
monitoring |
Grafana Alloy, the collector that sends the logs of the pods to Loki and the OpenTelemetry traces to Tempo. |
The data sources of the other components (e.g. the Prefect and performance indicators databases) are deployed with
these components, as GrafanaDatasource resources.
Getting started¶
Deploy the applications from the bastion, after the infrastructure installation:
cd ~
git clone https://github.com/RS-PYTHON/rs-infra-monitoring.git
cd ~/rs-infra-core
ansible-playbook apps.yaml -i inventory/mycluster/hosts.yaml -e '{"package_paths": ["~/rs-infra-monitoring/apps/"]}'
The parameters of the applications (grafana, loki, grafanatempo... sections: credentials, retention, buckets,
additional Grafana plugins, SMTP server) are in the host_vars/setup/apps.yml file of the inventory.
Documentation¶
- Monitoring and observability: usage of the monitoring stack, logs, traces and dashboards of RS-Python.
- Deploy RS-Python
- Update the infrastructure
Related repositories¶
- rs-infra-core: Kubernetes infrastructure and deployment playbooks.
- rs-workflow-env, rs-server-deployment: the monitored components, with their Grafana data sources.