Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is Prometheus in the context of Kubernetes?
Prometheus is an open-source tool used to collect and store metrics from Kubernetes clusters. It helps monitor the health and performance of applications and infrastructure.
Click to reveal answer
beginner
How does Prometheus collect metrics from Kubernetes?
Prometheus collects metrics by scraping HTTP endpoints exposed by Kubernetes components and applications. These endpoints provide data in a format Prometheus understands.
Click to reveal answer
beginner
What is a 'scrape target' in Prometheus?
A scrape target is any endpoint that Prometheus regularly contacts to collect metrics. In Kubernetes, these targets are often pods or services exposing metrics endpoints.
Click to reveal answer
intermediate
What role does the Prometheus Operator play in Kubernetes?
The Prometheus Operator simplifies deploying and managing Prometheus instances in Kubernetes. It automates configuration and lifecycle management using Kubernetes custom resources.
Click to reveal answer
intermediate
Why is Prometheus considered a pull-based monitoring system?
Prometheus uses a pull model where it actively scrapes metrics from targets at regular intervals, unlike push models where targets send data to the monitoring system.
Click to reveal answer
What format does Prometheus expect metrics to be exposed in?
APlain text format with specific metric syntax
BJSON format
CXML format
DBinary format
✗ Incorrect
Prometheus expects metrics in a plain text format with a specific syntax that includes metric names, labels, and values.
Which Kubernetes resource does the Prometheus Operator use to manage Prometheus instances?
AConfigMaps
BCustom Resource Definitions (CRDs)
CSecrets
DPods
✗ Incorrect
The Prometheus Operator uses Custom Resource Definitions (CRDs) to define and manage Prometheus instances declaratively.
How does Prometheus discover targets in a Kubernetes cluster?
AManually listing IP addresses
BThrough log files
CUsing DNS only
DUsing Kubernetes service discovery APIs
✗ Incorrect
Prometheus uses Kubernetes service discovery APIs to automatically find endpoints to scrape metrics from.
What is the default data storage method used by Prometheus?
ARelational database
BCloud storage
CLocal disk storage
DIn-memory only
✗ Incorrect
Prometheus stores time-series data locally on disk by default, optimized for fast reads and writes.
Which protocol does Prometheus use to scrape metrics endpoints?
AHTTP
BFTP
CSSH
DSMTP
✗ Incorrect
Prometheus scrapes metrics endpoints over HTTP, requesting metrics data in a specific format.
Explain how Prometheus collects and stores metrics in a Kubernetes environment.
Think about how Prometheus finds targets and what it does with the data.
You got /4 concepts.
Describe the benefits of using the Prometheus Operator in Kubernetes.
Focus on how it helps manage Prometheus instances.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of Prometheus in a Kubernetes environment?
easy
A. To deploy applications automatically
B. To collect and store metrics data for monitoring
C. To manage Kubernetes cluster nodes
D. To provide a user interface for Kubernetes
Solution
Step 1: Understand Prometheus role
Prometheus is designed to collect numerical data called metrics from applications and systems.
Step 2: Identify its main function in Kubernetes
In Kubernetes, Prometheus collects metrics to monitor app health and performance.
Final Answer:
To collect and store metrics data for monitoring -> Option B
Quick Check:
Prometheus collects metrics = A [OK]
Hint: Prometheus = metrics collection tool [OK]
Common Mistakes:
Confusing Prometheus with deployment tools
Thinking Prometheus manages nodes
Assuming Prometheus is a UI tool
2. Which Kubernetes resource is used to tell Prometheus which services to monitor?
easy
A. ServiceMonitor
B. PodMonitor
C. ConfigMap
D. Ingress
Solution
Step 1: Identify Prometheus monitoring resources
Prometheus uses special Kubernetes custom resources to know what to watch.
Step 2: Recognize ServiceMonitor's role
ServiceMonitor tells Prometheus which Kubernetes services to scrape metrics from.
Final Answer:
ServiceMonitor -> Option A
Quick Check:
ServiceMonitor selects services for Prometheus [OK]
Hint: ServiceMonitor = tells Prometheus what to watch [OK]
Common Mistakes:
Confusing PodMonitor with ServiceMonitor
Using ConfigMap for monitoring targets
Thinking Ingress controls Prometheus scraping
3. Given this snippet of a ServiceMonitor YAML, what is the scrape interval Prometheus will use?
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: example-monitor
spec:
endpoints:
- port: web
interval: 15s
selector:
matchLabels:
app: example
medium
A. 5 seconds
B. 30 seconds
C. 15 seconds
D. 1 minute
Solution
Step 1: Locate the interval field in YAML
The interval is set under endpoints as 'interval: 15s'.
Step 2: Understand interval meaning
This means Prometheus scrapes metrics every 15 seconds from the specified port.
Final Answer:
15 seconds -> Option C
Quick Check:
interval: 15s means 15 seconds [OK]
Hint: Check 'interval' value under endpoints [OK]
Common Mistakes:
Ignoring the interval field and guessing default
Confusing seconds with minutes
Assuming interval is global, not per endpoint
4. You created a ServiceMonitor but Prometheus is not scraping metrics from your service. Which of these is a likely cause?
medium
A. The ServiceMonitor selector labels do not match the service labels
B. The Prometheus server is not running on the cluster
C. The service port is not exposed in the ServiceMonitor endpoints
D. All of the above
Solution
Step 1: Check label matching
If ServiceMonitor selector labels don't match service labels, Prometheus won't find the service.
Step 2: Verify Prometheus server status and endpoint config
Prometheus must be running and the service port must be correctly specified in endpoints to scrape metrics.
Final Answer:
All of the above -> Option D
Quick Check:
Any mismatch or missing config stops scraping [OK]
Hint: Check labels, server status, and endpoints all match [OK]
Common Mistakes:
Only checking one cause and ignoring others
Assuming Prometheus always runs by default
Forgetting to expose correct port in ServiceMonitor
5. You want Prometheus to scrape metrics from multiple services with different scrape intervals. How should you configure this in Kubernetes?
hard
A. Create separate ServiceMonitor resources for each service with their specific intervals
B. Set a global scrape interval in Prometheus config and ignore ServiceMonitor intervals
C. Create one ServiceMonitor with multiple endpoints, each having its own interval
D. Use a ConfigMap to list all services and intervals for Prometheus
Solution
Step 1: Understand ServiceMonitor scope
Each ServiceMonitor targets services with specific scrape configs; intervals are per endpoint.
Step 2: Manage different intervals
To have different intervals per service, create separate ServiceMonitors with their own intervals.
Step 3: Why not other options?
One ServiceMonitor with multiple endpoints cannot set different intervals per service easily; global config overrides intervals; ConfigMap does not control scraping targets.
Final Answer:
Create separate ServiceMonitor resources for each service with their specific intervals -> Option A
Quick Check:
Separate ServiceMonitors allow different intervals [OK]
Hint: Use separate ServiceMonitors for different intervals [OK]
Common Mistakes:
Trying to set different intervals in one ServiceMonitor
Ignoring ServiceMonitor intervals in favor of global config