Prometheus Kubernetes Monitoring Setup: A Step-by-Step Guide
Setting up Prometheus Kubernetes monitoring is a crucial step in ensuring the health and performance of your Kubernetes environment. This guide walks you through deploying Prometheus for Kubernetes, configuring alerting, and efficiently managing metrics for your cluster.
Prerequisites for Prometheus Kubernetes Monitoring
Before you begin, ensure you meet the following requirements for a successful Prometheus Kubernetes monitoring setup:
- A running Kubernetes cluster.
- The kubectl command-line tool installed and configured.
- Helm installed in your Kubernetes cluster to manage packages easily.

Step 1: Deploy Prometheus Kubernetes monitoring
Create a Kubernetes Namespace for Prometheus
The first step in Prometheus Kubernetes monitoring is to create a namespace dedicated to Prometheus:
kubectl create namespace prometheus
Deploy Prometheus Using Helm
Helm is the most convenient way to install Prometheus in Kubernetes. You can deploy Prometheus with just a few commands:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus prometheus-community/prometheus --namespace prometheus
Prometheus is now deployed in your Kubernetes environment with default configurations that will work for basic use cases.
Step 2: Access the Prometheus Web UI
Once Prometheus is deployed, you can access the web interface to view metrics and configure alerting. Set up a port-forward to the Prometheus server:
kubectl port-forward -n prometheus prometheus-prometheus-server-0 9090
You can now access the Prometheus UI at http://localhost:9090, where you can query metrics, explore data, and set up alerts.
Step 3: Configure Prometheus Targets for Kubernetes
Prometheus gathers metrics by scraping endpoints. To tell Prometheus which services to monitor, create a ServiceMonitor in your Kubernetes cluster.
Create a ServiceMonitor Resource
Here’s an example ServiceMonitor for a sample app:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: sample-app-monitor
namespace: prometheus
spec:
selector:
matchLabels:
app: sample-app
endpoints:
- port: web
Apply the ServiceMonitor to configure Prometheus:
kubectl apply -f sample-app-monitor.yaml
Step 4: Set Up Alerting with Prometheus
Create Alerting Rules for Prometheus Kubernetes monitoring
Prometheus allows you to set up alerts based on metrics. For example, you can create a rule to alert when the error rate for your application is too high:
groups:
- name: example
rules:
- alert: HighErrorRate
expr: |
rate(http_server_requests_total{job="sample-app", status="500"}[5m]) /
rate(http_server_requests_total{job="sample-app"}[5m]) > 0.01
for: 10m
labels:
severity: page
annotations:
summary: High error rate on {{ $labels.instance }}
Apply the rule:
kubectl apply -f sample-app-alert-rules.yaml
Configure Alertmanager for Kubernetes Alert Notifications
Prometheus uses Alertmanager to handle alerts. Here’s a basic configuration to send alerts to Slack:
route:
group_by: ['alertname', 'job']
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
receiver: 'slack'
receivers:
- name: 'slack'
slack_configs:
- send_resolved: true
title: 'Alert'
text: '{{ .CommonAnnotations.summary }}'
api_url: 'https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK'
Apply the configuration:
kubectl apply -f alertmanager-config.yaml
Step 5: Advanced Configurations for Prometheus Kubernetes Monitoring
Persistent Storage Configuration
For long-term Prometheus Kubernetes monitoring, it’s essential to configure persistent storage. This ensures that metrics data is not lost when the Prometheus pod is restarted.
Integrating Exporters
To collect more specific metrics, consider adding Node Exporter, Blackbox Exporter, or other custom exporters to your setup. These exporters provide detailed insights into your infrastructure.
Horizontal Scaling with Remote Write/Read
For large-scale Kubernetes environments, use remote write and remote read configurations to scale Prometheus horizontally. Solutions like Thanos or Cortex can be used for efficient long-term storage and scaling.
Step 6: Clean Up Resources for Prometheus Kubernetes monitoring
After completing your monitoring setup, remember to clean up any resources you no longer need to avoid unnecessary costs:
kubectl delete namespace prometheus
Conclusion for Prometheus Kubernetes monitoring
In this guide, we’ve shown you how to set up Prometheus Kubernetes monitoring and configure it to collect, alert, and analyze metrics in your Kubernetes cluster. By following this step-by-step process, you can ensure that your Kubernetes environment remains healthy and efficient.
For advanced configurations, consider integrating Grafana for visualizations and exploring additional exporters to collect more specific metrics. If you need assistance with setting up Kubernetes monitoring or want to scale your operations, ZippyOPS provides consulting, implementation, and managed services for DevOps, Cloud, AIOps, DataOps, MLOps, and Security.
Visit our services, solutions, and products pages for more details. You can also check out our YouTube channel for demo videos.
If you need further assistance, feel free to contact us at sales@zippyops.com for a consultation.



