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 CLI tool to make deployment and operations easier. We also provide Helm charts that can be used directly or as sub-charts for other projects.
See a demo of tobs in action by clicking the video below:
To download and install tobs, run the following in your terminal, then follow the on-screen instructions.
curl --proto '=https' -A 'tobs' --tlsv1.2 -sSLf https://tsdb.co/install-tobs-sh |sh
Alternatively, you can download the CLI directly via our releases page
Getting started with the CLI tool is a two-step process: First you install the CLI tool locally, then you use the CLI tool to install the tobs stack into your Kubernetes cluster.
After setting up tobs run the following to install the tobs helm charts into your Kubernetes cluster
tobs install
This will deploy all of the tobs components into your cluster and provide instructions as to next steps.
From 0.7.0
release tobs supports installation of tracing components. To install tracing components use
tobs install --tracing
For more details on tracing support visit Promscale tracing docs.
The CLI tool (usage guide) provides the most seamless experience for interacting with tobs.
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.
To modify the settings, first create a values.yaml file:
tobs helm show-values > values.yaml
Then modify the values.yaml file using your favorite editor. Finally, deploy with the new settings using:
tobs install -f values.yaml
Users sometimes want to use our Helm charts as sub-charts for other project or integrate them into their infrastructure without using our CLI tool. This is a supported use-case and instructions on using the Helm charts can be found here.
Tobs | Kubernetes |
---|---|
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.