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
observabilitynamespace on your cluster:
1. kubectl create namespace observability
2. Using Helm, deploy the tobs release labeled tobs in the observability namespace on your cluster:
``` 1. 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
observabilitynamespace:
1. 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
observabilitynamespace and review their respective ports:
1. kubectl -n observability get svc
2. To access Prometheus at the address 127.0.0.1:9090 in your web browser, use:
``` 1. kubectl -n observability \
-
port-forward \
-
svc/tobs-kube-prometheus-prometheus \
-
9090 ```
- To access Alertmanager at the address
127.0.0.1:9093in your web browser, use:
``` 1. kubectl -n observability \
-
port-forward \
-
svc/tobs-kube-prometheus-alertmanager \
-
9093 ```
- To access Grafana at the address
127.0.0.1:3000in your web browser, use:
``` 1. kubectl -n observability \
-
port-forward \
-
svc/tobs-grafana \
-
3000:80 ```
When accessing Grafana, log in as admin. You can get the password using:
2. 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.
