rom Metrics to Alerts Your Prometheus Prep Starts Now

Take on 25 practice questions across five Prometheus domains.
No Credit Card Required
HOW TO PREPARE

Everything You Need to Know First

Warm-up topics before the test.
  • Observability Fundamentals: General understanding of metrics, logs, and traces, and the difference between push and pull models.
  • Linux and Networking Basics: Comfort with the command line, processes, and how services expose endpoints.
  • Kubernetes Awareness: Familiarity with Pods and Services helps, since Prometheus often runs on Kubernetes.
PRACTICE TEST

Put Your Knowledge to the Test

25 multiple-choice questions, including ones built around command output
Several dashboards run the same expensive aggregation of request rates per job. Which recording rule name follows Prometheus naming conventions for this result?
http_requests_rate_5m_by_job
rate5m:job:http_requests
job:http_requests:rate5m
HTTP_REQUESTS_JOB_RATE
C
Recording rules follow the level:metric:operations convention, where level is the aggregation labels and operations are the functions applied. Precomputing the result means dashboards read a cheap series instead of rerunning the aggregation.
Alerting and Dashboarding
25
Select One
When a ClusterDown alert fires, the team wants related instance-level alerts in the same cluster to stop sending notifications automatically. Which feature fits?
A silence created by the on-call engineer
An inhibition rule with source and target matchers
A longer group_interval on the route
A higher for duration on all instance-level alerts so that they fire later than ClusterDown
B
Inhibition mutes target alerts while a matching source alert is firing, and the equal field can require the same cluster label. A manual silence is not automatic, and timing settings do not suppress related alerts.
Alerting and Dashboarding
24
Select One
A planned maintenance window should temporarily stop notifications for alerts labeled cluster="eu-1", while the alerts continue to be evaluated. Which Alertmanager feature fits?
A silence with a matcher and time window
A recording rule that renames the alerts
An inhibition rule based on the cluster label
Removing the alerting rules until maintenance ends
A
A silence mutes notifications for matching alerts during a defined period, while Prometheus keeps evaluating them. Inhibition depends on another alert firing, and removing rules loses visibility.
Alerting and Dashboarding
23
Select One
During a cluster incident, dozens of related alerts arrive as separate notifications. The team wants one notification per cluster that bundles its alerts. Which Alertmanager setting provides this?
repeat_interval on the route
An inhibition rule between severities
A silence for each alert name
group_by: ['cluster'] on the route
D
Grouping batches alerts that share the listed labels into one notification. repeat_interval controls resending, inhibition suppresses alerts when others fire, and silences mute alerts.
Alerting and Dashboarding
22
Select One
The following alerting rule is evaluated every 30 seconds. The expression first becomes true at 12:00 and stays true. When does the alert first reach the firing state? - alert: HighErrorRate expr: | sum(rate(http_requests_total{code=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) > 0.05 for: 10m labels: severity: page
At 12:00, as soon as the expression is true
At about 12:05, once the 5-minute rate window is filled
At about 12:10, after 10 minutes in the pending state
Only after Alertmanager's group_wait period ends for the alert's notification group
C
When the expression becomes true, the alert enters the pending state and becomes firing only after it stays true for the for duration, measured at rule evaluations. group_wait affects when Alertmanager sends notifications, not when the alert fires.
Alerting and Dashboarding
21
Select One
A team needs to aggregate latency percentiles across many instances on the server side, using classic metric types. Which choice fits better than averaging per-instance summary quantiles?
A summary with the same quantiles configured on every instance
A histogram with common bucket boundaries across instances
A gauge that stores each instance's latest latency
A counter that increments by the latency of each request
B
Histogram buckets from many instances can be summed before a quantile is estimated. Summary quantiles are calculated on each client and cannot be combined correctly by averaging.
Instrumentation and Exporters
20
Select One
Which metric name follows Prometheus naming conventions for a counter of network bytes sent?
network_transmit_bytes_total
networkTransmitKilobytes
network_transmit_kilobytes
network_transmit_bytes_count
A
Names should use snake_case, base units such as bytes, and the _total suffix for counters. The _count suffix is reserved for histogram and summary observation counts.
Instrumentation and Exporters
19
Select One
A team must check from outside the network whether a public HTTPS endpoint responds and how many days remain before its TLS certificate expires. Which exporter fits?
Node Exporter
cAdvisor
Pushgateway
Blackbox Exporter
D
The Blackbox Exporter probes endpoints over HTTP, HTTPS, TCP, ICMP, and DNS, and reports details such as certificate expiry. Node Exporter exposes host metrics, cAdvisor exposes container metrics, and the Pushgateway accepts pushed metrics.
Instrumentation and Exporters
18
Select One
An application exposes the current number of tasks waiting in its queue. The value can rise and fall. Which metric type fits?
Counter
Summary
Gauge
Info
C
A gauge represents a value that can go up and down, such as queue depth. A counter only increases (or resets), a summary tracks observations such as latencies, and an info metric exposes static labels.
Instrumentation and Exporters
17
Select One
An alert must fire when the batch job has no up series at all, for example because its target disappeared from service discovery. Which expression does this?
up{job="batch"} == 0
absent(up{job="batch"})
count(up{job="batch"}) == 0
up{job="batch"} < 1
B
absent returns a one-element vector with the value 1 when no series match the selector. Comparisons on up return nothing if the series does not exist, and count over an empty vector returns no result rather than 0.
PromQL
16
Select One
queue_depth is a float gauge. What does the expression queue_depth > 10 return, without the bool modifier?
Only series above 10, keeping their original values
Every series, with the value 1 if above 10 and 0 otherwise
A single scalar equal to the number of series whose value is above 10
A range vector of the samples above 10 during the last 10 minutes
A
Comparison operators filter an instant vector by default and keep the original values. With the bool modifier, every series is returned with 0 or 1 instead.
PromQL
15
Select One
On Prometheus 3.x, http_request_duration_seconds is now exposed as a native histogram. Which expression estimates the 95th percentile duration across all instances?
histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))
quantile(0.95, rate(http_request_duration_seconds[5m]))
histogram_quantile(0.95, rate(http_request_duration_seconds_sum[5m]))
histogram_quantile(0.95, sum(rate(http_request_duration_seconds[5m])))
D
A native histogram is a single series with no _bucket suffix and no le label, so its rates are summed directly before calling histogram_quantile. Option A is the classic histogram form, which returns nothing for a native-only metric.
PromQL
14
Select One
http_request_duration_seconds is a classic histogram exposed by many instances. Which expression estimates the 95th percentile request duration across all instances?
avg(http_request_duration_seconds_bucket)
quantile(0.95, http_request_duration_seconds_sum)
histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))
histogram_quantile(0.95, sum by (instance) (rate(http_request_duration_seconds_count[5m])))
C
For classic histograms, take the rate of the bucket series, sum across instances while keeping le, then estimate the quantile. _sum and _count do not contain the distribution, and quantile works across series rather than buckets.
PromQL
13
Select One
Which selector matches series whose job label is exactly api or exactly api-v2, and nothing else?
http_requests_total{job="api|api-v2"}
http_requests_total{job=~"api|api-v2"}
http_requests_total{job=~"api.*"}
http_requests_total{job!~"api"}
B
The =~ matcher uses a fully anchored regular expression, so it matches only api or api-v2. = treats the value as a literal string, api.* also matches values such as api-v3, and !~ excludes matches.
PromQL
12
Select One
http_requests_total has one series per instance and job. Which expression returns the total request rate per job, handling counter resets correctly?
sum by (job) (rate(http_requests_total[5m]))
rate(sum by (job) (http_requests_total)[5m:])
sum without (job) (rate(http_requests_total[5m]))
avg by (job) (rate(http_requests_total[5m]))
A
Apply rate to each raw counter first so that resets are handled per series, then sum and keep the job label. Summing before rate hides resets, without (job) removes the job label, and avg returns a mean rather than a total.
PromQL
11
Select One
http_requests_total is a counter. Which expression returns the average per-second rate of increase over the last five minutes, for each series?
irate(http_requests_total[5m])
increase(http_requests_total[5m])
deriv(http_requests_total[5m])
rate(http_requests_total[5m])
D
rate returns the per-second average increase over the window and handles counter resets. irate uses only the last two samples, increase returns the total increase rather than a per-second value, and deriv is meant for gauges.
PromQL
10
Select One
A company needs several years of metrics in durable, replicated storage that survives the loss of any single Prometheus server. Which approach fits?
Federate every raw series into one central Prometheus server
Increase local retention on each server to several years
Configure remote_write to a long-term storage system
Push all metrics to a Pushgateway for long-term storage
C
Local storage is not clustered or replicated, so durable long-term retention uses remote_write to a compatible system. Federating all raw series does not scale, longer local retention remains a single point of failure, and the Pushgateway is not storage.
Prometheus Fundamentals
9
Select One
A Prometheus server keeps only 15 days of data, and the team needs 30 days in local storage. Which setting controls this?
evaluation_interval in the global configuration
The --storage.tsdb.retention.time command-line flag
scrape_interval in the global configuration
queue_config settings in the remote_write section of the configuration file
B
The retention flag sets how long local TSDB blocks are kept, and the default is 15 days. Evaluation and scrape intervals set how often rules run and targets are scraped, and queue_config tunes remote write.
Prometheus Fundamentals
8
Select One
After a scrape, a target's up series has the value 0. What does this mean?
The most recent scrape of the target failed
The target reported zero requests in the last interval
The target has no firing alerts
The target's process has been running for less than one minute
A
Prometheus generates up for each target, with 1 for a successful scrape and 0 for a failed one. It says nothing about the application's own request counts, alerts, or uptime.
Prometheus Fundamentals
7
Select One
A Kubernetes scrape job uses pod service discovery. Only Pods annotated prometheus.io/scrape: "true" should be scraped. Which configuration achieves this?
A metric_relabel_configs rule that drops series without the annotation
Setting honor_labels: true on the scrape job so that Pod annotations are respected
A scrape_timeout shorter than the scrape interval
A relabel_configs keep rule on the annotation meta label
D
Target relabeling runs before scraping, and a keep action on __meta_kubernetes_pod_annotation_prometheus_io_scrape with regex true drops all other targets. metric_relabel_configs runs after the scrape, so unwanted targets would still be scraped.
Prometheus Fundamentals
6
Select One
Two samples have the metric name http_requests_total and identical labels, except that one has instance="10.0.0.1:9100" and the other has instance="10.0.0.2:9100". How does Prometheus store them?
As one series, because the metric name is the same
As one series whose instance label keeps only the newest value
As two separate time series
As a single series with an array of instance values
C
A time series is identified by its metric name plus its full set of labels, so a different instance value creates a different series. Labels are never merged or overwritten across series.
Prometheus Fundamentals
5
Select One
A request passes through five microservices, and users report that it is slow. Which telemetry signal shows how much time the request spent in each service?
Distributed traces
Aggregated metrics
Application logs
CPU profiles
A
A trace records spans for each operation along one request's path, with their timing. Metrics aggregate many requests, logs are separate events, and profiles show resource use inside one process.
Observability Concepts
4
Select One
A nightly, service-level batch job is not tied to any particular machine. Its last successful completion time must stay available to Prometheus after the job's process has exited. Which component is designed for this case?
A shorter scrape_interval for the job's own metrics endpoint
A remote_write section added to the batch job's code
An Alertmanager receiver that stores the job's metrics
The Pushgateway
D
The job pushes its metrics to the Pushgateway, which keeps them after the job exits so that Prometheus can scrape them. The job's own endpoint disappears when the process ends, whatever the scrape interval, and remote_write is a Prometheus server feature, not a job client feature. Pushed series persist until deleted, so stale groups must be cleaned up.
Observability Concepts
3
Select One
A service has an availability SLO of 99.9% measured over 30 days. How much full downtime does its error budget allow in that window?
4.32 minutes
43.2 minutes
7.2 hours
8.76 hours
B
30 days is 43,200 minutes, and a 99.9% SLO allows 0.1% of that, which is 43.2 minutes. The other values correspond to different targets or windows.
Observability Concepts
2
Select One
A team computes the ratio of HTTP requests served successfully in under 300 ms to all HTTP requests. What is this ratio called?
A service level objective (SLO)
A service level agreement (SLA)
A service level indicator (SLI)
An error budget
C
An SLI is a measured indicator of service level, such as a ratio of good requests to all requests. An SLO is the target value for an SLI, an SLA is a contract with consequences, and an error budget is the allowed shortfall from the SLO.
Observability Concepts
1
Select One
DOMAIN Question 01/00

0 of 0 answered
WHY HANDS-ON PRACTICE

Knowledge, Earned by Doing

The Prometheus exam rewards observability thinking, not memorized PromQL functions.

Build Real Exam Speed‍

The exam gives you 90 minutes for 60 questions, an average of 90 seconds each. Repeated practice trains you to read a PromQL query fast, so you're not parsing selectors under time pressure.

Know Your Weak Domains‍

Review every question you missed and spot the topics that need more work. Better to find them here than on exam day.

Realistic Scenario Questions‍

Exam-style questions, that are a mix of observability concepts and PromQL items.

Reduce Exam-Day Anxiety‍

Familiarity with multiple-choice format removes surprises, so nerves don't cost you marks.

Reinforce Through Repetition‍

Spaced repetition on frequently tested concepts, like rate(), histograms, and alerting rules, moves them from look it up to just know it.

Benchmark Against a Passing Score‍

Compare your score with the exam's 75% passing threshold and identify topics to review before exam-day.

HEAR FROM OUR LEARNERS

Real Learners. Real Results

Alhamdulillah 🙏! Thrilled to announce that I am now officially a Certified Kubernetes Administrator (CKA)! While Kubernetes, cluster orchestration, and container security are already central to my daily DevSecOps work, earning this certification is a great validation of those hands-on skills.Thanks to Mumshad Mannambeth and the KodeKloud team—their course and hands-on labs helped me a lot in preparing for this exam.The learning never stops! 🚀

Read Full Post
Imtiaz Ali
DevOps | SRE | Multi-Cloud | DevSecOps

Freshly certified: Certified Kubernetes Administrator (CKA)! 🚀Passing this hands-on, live-terminal exam was a great challenge. Paired with my AWS Certified DevOps Engineer – Professional, it reinforces my focus on bridging enterprise multi-account cloud governance with production-grade Kubernetes runtime operations.A special shoutout and big thank you to Mumshad Mannambeth, the KodeKloud team, and the Cloud Native Computing Foundation (CNCF) and Kubernetes (Official) community. The Certified Kubernetes Administrator (CKA) course was hands-down the best preparation for the live terminal environment! 🛠️Next stop: continuing to build resilient, developer-first platform foundations!

Read Full Post
Gaurav Dubey
Cloud Architect | Platform Engineer | AWS DevOps Pro | CKA

Cherishing one of my dreams - CKS Certified! ✨Last year, in October, when I cracked my CKA, my colleagues asked, “When is CKS?” 😂And I was like… bro. 😅Because it felt so much bigger. I also knew it wasn’t just Kubernetes anymore, but Kubernetes with a special layer of security - yeah, tightened Kubernetes.Back then, I used to look up to CKS like a child gazing at one of the stars in the sky.⭐Now, fast forward to today - I cleared it last week and officially became a Certified Kubernetes Security Specialist (CKS), thanks to the Cloud Native Computing Foundation (CNCF), The Linux Foundation and my company Aivar Innovations. 🎉That moment felt so special, and I’m incredibly grateful to all my colleagues, friends, and family for all the support. ❤️A mention of the resources I used: KodeKloud by Mumshad Mannambeth and Kim Wüstkamp’s CKS courses. I also had my colleagues supporting me with my doubts and anxieties before the exam. 😂Looking forward to applying everything I’ve learned in my work and continuing to grow in the Cloud Native and Kubernetes space. 🚀So, cheers to everyone who dreams, aspires, and inspires. Keep going and keep up the good work! 🥂And as I always say - God, keep it coming!! ✨

Read Full Post
Rima Sidique
DevOps Engineer | AI & DevOps Enthusiast

I've successfully passed CKA certification. Shout-out to Mumshad Mannambeth for his great CKA course and labs and to Omkar Shelke Killercoda CKA scenarios. Links: - https://lnkd.in/eZPVHJeR- https://lnkd.in/eEVyZdaZ

Read Full Post
Gabriel Rodríguez
DevSecOps Engineer

🎉 The Kubernetes journey continues… and this time, happy to say I’m officially a Kubestronaut! 🧑🚀🚀🎖️ 1 out of 242 in France and 1 out of 4217 worldwide!⏳✈️ It’s been quite a journey. From my early days working with Kubernetes, thanks to the opportunity Prof. Timur Friedman gave me to contribute to the EdgeNet project, to securing my internship as a DevOps Engineer at Sonos, Inc. — and fast-forward five years, here I am today, a Senior DevOps Engineer at Sonos, Inc. working extensively with Kubernetes everyday.💌 A special thank you to Jose Alfredo Alvarez Aldana for your support, guidance, and for everything you taught me along the way. I was really lucky to have the opportunity to work alongside you early in my journey. 🙏💯 A big thank you to Mumshad Mannambeth for building KodeKloud! The platform has been incredibly helpful throughout this journey, both for learning and preparing for the exams.And of course, shout out to all the people who supported, challenged, and inspired me along the way. ❤️Never give up 💪Keep smiling 😃

Read Full Post
Rima Sidique
DevOps Engineer | AI & DevOps Enthusiast

Alhamdulillah 🙏! Thrilled to announce that I am now officially a Certified Kubernetes Administrator (CKA)! While Kubernetes, cluster orchestration, and container security are already central to my daily DevSecOps work, earning this certification is a great validation of those hands-on skills.Thanks to Mumshad Mannambeth and the KodeKloud team—their course and hands-on labs helped me a lot in preparing for this exam.The learning never stops! 🚀

Read Full Post
Imtiaz Ali
DevOps | SRE | Multi-Cloud | DevSecOps

Freshly certified: Certified Kubernetes Administrator (CKA)! 🚀Passing this hands-on, live-terminal exam was a great challenge. Paired with my AWS Certified DevOps Engineer – Professional, it reinforces my focus on bridging enterprise multi-account cloud governance with production-grade Kubernetes runtime operations.A special shoutout and big thank you to Mumshad Mannambeth, the KodeKloud team, and the Cloud Native Computing Foundation (CNCF) and Kubernetes (Official) community. The Certified Kubernetes Administrator (CKA) course was hands-down the best preparation for the live terminal environment! 🛠️Next stop: continuing to build resilient, developer-first platform foundations!

Read Full Post
Gaurav Dubey
Cloud Architect | Platform Engineer | AWS DevOps Pro | CKA

Cherishing one of my dreams - CKS Certified! ✨Last year, in October, when I cracked my CKA, my colleagues asked, “When is CKS?” 😂And I was like… bro. 😅Because it felt so much bigger. I also knew it wasn’t just Kubernetes anymore, but Kubernetes with a special layer of security - yeah, tightened Kubernetes.Back then, I used to look up to CKS like a child gazing at one of the stars in the sky.⭐Now, fast forward to today - I cleared it last week and officially became a Certified Kubernetes Security Specialist (CKS), thanks to the Cloud Native Computing Foundation (CNCF), The Linux Foundation and my company Aivar Innovations. 🎉That moment felt so special, and I’m incredibly grateful to all my colleagues, friends, and family for all the support. ❤️A mention of the resources I used: KodeKloud by Mumshad Mannambeth and Kim Wüstkamp’s CKS courses. I also had my colleagues supporting me with my doubts and anxieties before the exam. 😂Looking forward to applying everything I’ve learned in my work and continuing to grow in the Cloud Native and Kubernetes space. 🚀So, cheers to everyone who dreams, aspires, and inspires. Keep going and keep up the good work! 🥂And as I always say - God, keep it coming!! ✨

Read Full Post
Rima Sidique
DevOps Engineer | AI & DevOps Enthusiast

I've successfully passed CKA certification. Shout-out to Mumshad Mannambeth for his great CKA course and labs and to Omkar Shelke Killercoda CKA scenarios. Links: - https://lnkd.in/eZPVHJeR- https://lnkd.in/eEVyZdaZ

Read Full Post
Gabriel Rodríguez
DevSecOps Engineer

🎉 The Kubernetes journey continues… and this time, happy to say I’m officially a Kubestronaut! 🧑🚀🚀🎖️ 1 out of 242 in France and 1 out of 4217 worldwide!⏳✈️ It’s been quite a journey. From my early days working with Kubernetes, thanks to the opportunity Prof. Timur Friedman gave me to contribute to the EdgeNet project, to securing my internship as a DevOps Engineer at Sonos, Inc. — and fast-forward five years, here I am today, a Senior DevOps Engineer at Sonos, Inc. working extensively with Kubernetes everyday.💌 A special thank you to Jose Alfredo Alvarez Aldana for your support, guidance, and for everything you taught me along the way. I was really lucky to have the opportunity to work alongside you early in my journey. 🙏💯 A big thank you to Mumshad Mannambeth for building KodeKloud! The platform has been incredibly helpful throughout this journey, both for learning and preparing for the exams.And of course, shout out to all the people who supported, challenged, and inspired me along the way. ❤️Never give up 💪Keep smiling 😃

Read Full Post
Rima Sidique
DevOps Engineer | AI & DevOps Enthusiast
FAQs

Frequently Asked Questions

Is this practice test free ? 

Yes! This practice test is completely free. You can take it as many times as you like to practice and assess your knowledge.

Do I need to install anything ? 

No. You don’t need to install anything. The practice test is completely browser-based, so you can start practicing directly online. 

What if I'm new to this domain?

That's completely fine , mock tests aren't just for the final week before your exam. Taking one early gives you a baseline: you'll see which topics you already grasp, which ones you've never encountered, and how the real exam frames its questions. Every attempt comes with detailed explanations for each answer, so even the questions you get wrong become a study guide. We'd suggest starting with one full mock test, reviewing the explanations carefully, then working through the linked learning material before attempting the next one. 

How closely does this mock test match the real exam?

The question style and pattern closely mirror the real certification exam, the way scenarios are framed, the answer options, and the level of reasoning required are all modelled on it. The main difference is length: this mock has 25 sample questions, while the actual exam typically presents 50-60 questions of this type. So treat this as a representative sample rather than a full-length simulation. The style will feel familiar on exam day; the stamina and time pressure of a longer paper is something you'll want to prepare for separately.