Lab 11.1 - Installing Prometheus and Grafana
Lab Objectives
By the end of this lab, you will be able to:
- Install Prometheus in Kubernetes.
- Install Grafana in Kubernetes.
- Configure Prometheus to collect metrics.
- Access Grafana dashboards.
- Understand the Prometheus-Grafana integration.
Estimated Duration
60-75 minutes
Prerequisites
- kubectl installed and configured.
- Working local Kubernetes cluster.
- Helm installed (to facilitate installation).
Part 1: Installing Prometheus with Helm
Step 1.1: Add the Prometheus Repository
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
Step 1.2: Install Prometheus
helm install prometheus prometheus-community/kube-prometheus-stack \
--namespace monitoring \
--create-namespace
Wait for the Pods to be ready:
kubectl wait --for=condition=ready pod -l app.kubernetes.io/name=prometheus -n monitoring --timeout=300s
Part 2: Verifying the Installation
Step 2.1: Verify Pods
kubectl get pods -n monitoring
You should see:
- prometheus-operator
- prometheus-kube-prometheus-prometheus
- grafana
- kube-state-metrics
- node-exporter
Step 2.2: Verify Services
kubectl get svc -n monitoring
Part 3: Accessing Prometheus
Step 3.1: Port-Forward to Prometheus
kubectl port-forward -n monitoring svc/prometheus-kube-prometheus-prometheus 9090:9090
Access http://localhost:9090 in your browser.
Step 3.2: Test PromQL Queries
In the Prometheus interface, test:
up
container_memory_usage_bytes
kube_pod_info
Part 4: Accessing Grafana
Step 4.1: Get the Password
kubectl get secret --namespace monitoring prometheus-grafana -o jsonpath="{.data.admin-password}" | base64 --decode
The default username is admin.
Step 4.2: Port-Forward to Grafana
kubectl port-forward -n monitoring svc/prometheus-grafana 3000:80
Access http://localhost:3000 and log in.
Part 5: Exploring Dashboards
Step 5.1: Pre-configured Dashboards
Grafana comes with pre-configured dashboards:
- Kubernetes / Compute Resources / Cluster
- Kubernetes / Compute Resources / Namespace
- Kubernetes / Compute Resources / Pod
Explore these dashboards.
Part 6: Cleanup
helm uninstall prometheus -n monitoring
kubectl delete namespace monitoring
Lab Summary
In this lab, you installed Prometheus and Grafana in Kubernetes. You learned how to access the interfaces, use PromQL, and explore Grafana dashboards.
Next Steps
The next lab will show you how to create custom dashboards in Grafana.
Lab 11.2: Creating Custom Dashboards
Lab created on: December 2024