Install the observability stack (tobs) for Kubernetes
The observability stack (tobs), is a pre-packaged distribution of observability tools and components which can be installed on any existing Kubernetes cluster. It includes many of the most popular open-source observability tools including Prometheus, Grafana, TimescaleDB, and other components. Together, these provide a unified solution to observe deployments in Kubernetes cluster and identify any potential problems using both metrics and traces. You can use Helm charts to configure and update tobs deployments.
Before you begin
- Understand the resource requirements for your cluster.
- Ensure that you have a Kubernetes Cluster.
- Install kubectl in your local environment and connect to your cluster.
- Install Helm 3 in your local machine.
Install a certificate manager for your cluster.
note
For the latest and updated instructions to install, see the certificate manager documentation. If you plan to use tobs without OpenTelemetry support, you do not need to install certificate manager.
Installing Promscale with tobs
The observability stack (tobs), eliminates the need to maintain configuration details for each of the applications, while providing observability for the applications running on your cluster. You can deploy tobs on your cluster and access it locally with kubectl
Port-Forward.).
Create the
observability
namespace on your cluster:kubectl create namespace observability
Using Helm, deploy the tobs release labeled
tobs
in theobservability
namespace on your cluster:helm repo add timescale https://charts.timescale.com/
helm repo update
helm install --wait tobs timescale/tobs --namespace observability
Verify that all the components have been deployed to your cluster and are running by checking the pods in the
observability
namespace:kubectl -n observability get pods
Accessing the components with port-forward
You can use kubectl
port-forward.) to open a connection to a service, then access the service by entering the corresponding ports in your web browser.
List the services running in the
observability
namespace and review their respective ports:kubectl -n observability get svc
To access Prometheus at the address
127.0.0.1:9090
in your web browser, use:kubectl -n observability \
port-forward \
svc/tobs-kube-prometheus-prometheus \
9090
To access Alertmanager at the address
127.0.0.1:9093
in your web browser, use:kubectl -n observability \
port-forward \
svc/tobs-kube-prometheus-alertmanager \
9093
To access Grafana at the address
127.0.0.1:3000
in your web browser, use:kubectl -n observability \
port-forward \
svc/tobs-grafana \
3000:80
When accessing Grafana, log in as admin
. You can get the password
using:
kubectl get secret --namespace observability tobs-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
The Grafana dashboards are accessible at Dashboards > Browse
from the left navigation bar.