Observability Installation Overview
Last updated:
Observability System that you need to provision and integrate with Opstella which are
- Grafana Dashboard: An interface visually presents real-time metrics, logs, and traces from various data sources.
- Grafana Mimir: A highly scalable and performant backend solution for metrics data.
- Grafana Loki: A log aggregation system that stores and queries logs efficiently.
- Grafana Tempo: A distributed tracing backend for analyzing application performance and dependencies.
- Grafana Alloy: A metrics, logs, and traces push-based collector and exporter
Prerequisites
Section titled “Prerequisites”Kubernetes Cluster
Section titled “Kubernetes Cluster”Observability will be on 🟢 Management Kubernetes Cluster.
Where Observability Agent Services are span across Kubernetes Cluster(s) which are
🟢 ManagementKubernetes Cluster🟦 Non-Production WorkloadKubernetes Cluster🟥 Production WorkloadKubernetes Cluster
Provisioning Summary
Section titled “Provisioning Summary”Once finished everything, these are systems that up and running.
* Not Including any of application dependencies.
| No. | Tool | Description | Agent Service | Kubernetes Namespace | Kubernetes Cluster |
|---|---|---|---|---|---|
| 1. | Grafana Dashboard | Centralised Observability Dashboard | ❌ | observability-system | 🟢 Management |
| 2. | Grafana Loki | Application/System Logs Backend | ❌ | observability-system | 🟢 Management |
| 3. | Grafana Mimir | Application/System Metrics Backend | ❌ | observability-system | 🟢 Management |
| 4. | Grafana Tempo | Application Tracing Backend | ❌ | observability-system | 🟢 Management |
| 5. | Grafana Alloy (Platform) | Metrics/Logs Gathering from Kubernetes Cluster and its Workloads | ✅ | observability-agents | 🟢 Management 🟦 Non-Production Workload 🟥 Production Workload |
| 6. | Grafana Alloy (Workload) | Metrics/Logs/Traces Gathering from Opstella-managed Application (OpenTelemetry Enabled Applications) | ✅ | observability-agents | 🟦 Non-Production Workload 🟥 Production Workload |
Complete Prerequisites
Section titled “Complete Prerequisites”Create Namespace across Kubernetes Clusters
Section titled “Create Namespace across Kubernetes Clusters”🟢 Management Kubernetes Cluster
Section titled “🟢 Management Kubernetes Cluster”-
Connect to
🟢 ManagementKubernetes Cluster ; i.e w/ Kubeconfig FileSet Kubeconfig File
Ensure you have defined and loaded your Global Shell Variables as described in Shell Variables.
Terminal window source $HOME/opstella-installation/shell-values/kubernetes/management_cluster.vars.shTerminal window export KUBECONFIG="$HOME/opstella-installation/kubeconfigs/management_cluster.yaml" -
Create Kubernetes Namespace(s)
2.1 Create Kubernetes Namespace nameed
observability-systemTerminal window kubectl create namespace observability-system2.2 Create Kubernetes Namespace nameed
observability-agentsTerminal window kubectl create namespace observability-agents2.2 Add Label for
observability-agentsnamespace for PSA ExceptionPrometheus Node Exporter requires host-level access which violates PSA
restrictedprofile, and require to make an exceptionTerminal window kubectl label namespace/observability-agents pod-security.kubernetes.io/enforce=privilegedkubectl label namespace/observability-agents pod-security.kubernetes.io/enforce-version=latest
🟦 Non-Production Workload Kubernetes Cluster
Section titled “🟦 Non-Production Workload Kubernetes Cluster”-
Connect to
🟦 Non-Production WorkloadKubernetes Cluster ; i.e w/ Kubeconfig FileSet Kubeconfig File
Ensure you have defined and loaded your Global Shell Variables as described in Shell Variables.
Terminal window source $HOME/opstella-installation/shell-values/kubernetes/nonprod_cluster.vars.shTerminal window export KUBECONFIG="$HOME/opstella-installation/kubeconfigs/nonprod_cluster.yaml" -
Create Kubernetes Namespace(s)
2.1 Create Kubernetes Namespace named
observability-agentsTerminal window kubectl create namespace observability-agents2.2 Add Label for
observability-agentsnamespace for PSA ExceptionPrometheus Node Exporter will be installed and requires host-level access which violates PSA
restrictedprofile, and require to make an exceptionTerminal window kubectl label namespace/observability-agents pod-security.kubernetes.io/enforce=privilegedkubectl label namespace/observability-agents pod-security.kubernetes.io/enforce-version=latest
🟥 Production Workload Kubernetes Cluster
Section titled “🟥 Production Workload Kubernetes Cluster”-
Connect to
🟥 Production WorkloadKubernetes Cluster ; i.e w/ Kubeconfig FileEnsure you have defined and loaded your Global Shell Variables as described in Shell Variables.
Terminal window source $HOME/opstella-installation/shell-values/kubernetes/prod_cluster.vars.shTerminal window export KUBECONFIG="$HOME/opstella-installation/kubeconfigs/prod_cluster.yaml" -
Create Kubernetes Namespaces
2.1 Create Kubernetes Namespace named
observability-agentsTerminal window kubectl create namespace observability-agents2.2 Add Label for
observability-agentsnamespace for PSA ExceptionPrometheus Node Exporter will be installed and requires host-level access which violates PSA
restrictedprofile, and require to make an exceptionTerminal window kubectl label namespace/observability-agents pod-security.kubernetes.io/enforce=privilegedkubectl label namespace/observability-agents pod-security.kubernetes.io/enforce-version=latest
Finished?
Use the below navigation to proceed