Tobs is a tool that aims to make it as easy as possible to install a full observability stack into a Kubernetes cluster. Currently this stack includes:
- Kube-Prometheus the Kubernetes monitoring stack
- Prometheus to collect metrics
- AlertManager to fire the alerts
- Grafana to visualize what's going on
- Node-Exporter to export metrics from the nodes
- Kube-State-Metrics to get metrics from kubernetes api-server
- Prometheus-Operator to manage the life-cycle of Prometheus and AlertManager custom resource definitions (CRDs)
- Promscale (design doc) to store metrics for the long-term and allow analysis with both PromQL and SQL.
- TimescaleDB for long term storage of metrics and provides ability to query metrics data using SQL.
- Promlens tool to build and analyse promql queries with ease.
- Opentelemetry-Operator to manage the lifecycle of OpenTelemetryCollector Custom Resource Definition (CRDs)
We plan to expand this stack over time and welcome contributions.
Tobs provides a helm chart to make deployment and operations easier. It can be used directly or as a sub-chart for other projects.
Using tobs to install full observability stack with openTelemetry support currently requires installation of cert-manager. To do install it please follow cert-manager documentation.
Note: cert-manager is not required when using tobs with opentelemetry support disabled.
The following command will install Kube-Prometheus, OpenTelemetry Operator, TimescaleDB, and Promscale into your Kubernetes cluster:
helm repo add timescale https://charts.timescale.com/
helm repo update
helm install --wait <release_name> timescale/tobs
Note: --wait
flag is necessary for successfull installation as tobs helm chart can create opentelemetry Custom Resources only after opentelemetry-operator is up and running. This flag can be omitted when using tobs without opentelemetry support.
For detailed configuration and usage instructions, take a look at the helm chart's README.
All configuration for all components happens through the helm values.yaml file. You can view the self-documenting default values.yaml in the repo. We also have additional documentation about individual configuration settings in our Helm chart docs.
We also provide a CLI tool to deploy tobs on a Kubernetes cluster. The CLI tool (usage guide) provides detailed instructions on how to use the CLI for managing tobs.
NOTE: At this point, the CLI tool is just a thin wrapper around the helm chart, and hence it's set to be removed in future releases.
Tobs | Kubernetes |
---|---|
0.11.x | v1.23 to v1.24 |
0.10.x | v1.21 to v1.23 |
0.9.x | v1.21 to v1.23 |
0.8.x | v1.21 to v1.23 |
0.7.x | v1.19 to v1.21 |
We welcome contributions to tobs, which is licensed and released under the open-source Apache License, Version 2. The same Contributor's Agreement applies as in TimescaleDB; please sign the Contributor License Agreement (CLA) if you're a new contributor.