Back to sections

Monitoring & Observability Quiz

Test what you actually know about Monitoring & Observability. Free sample questions below, from easy to hard, with instant explanations.

easy

1. Which metric type is defined so that its value can only increase (or reset to zero on a process restart), making it suitable for tracking things like 'total HTTP requests served'?

CounterCorrect
Histogram
Gauge
Summary

A counter is a cumulative metric whose value only ever goes up, or drops back to zero when the process restarts; it's the right choice for totals like requests served or errors raised. A gauge, by contrast, can go up or down (like current memory usage), which is why counters and gauges are treated differently by query functions like rate().

medium

2. Your alerting fires hundreds of pages overnight for the same underlying database outage, one per affected service. What's the standard fix?

Disable alerting for that database entirely
Alert grouping/dependency-aware correlation, so downstream symptom alerts are suppressed under the root-cause alertCorrect
Increase every alert's threshold
Page a different on-call engineer for each alert

When one database goes down, every service that depends on it starts failing too, and each of those failures fires its own alert - so you get flooded with pages that are really all symptoms of the same root problem. Alert correlation groups related alerts together and only pages you for the root cause, so on-call gets one clear signal instead of a hundred confusing ones.

hard

3. Your service's SLO is 99.9% availability per 30-day window. Halfway through the month, you've already burned 80% of the allowed error budget due to a bad deploy. What should the error-budget policy typically dictate next?

Nothing changes; error budgets are only tracked retroactively for reporting, not used to make decisions
Immediately roll back to the previous SLA to buy more room before continuing
Lower the SLO target to 99% so the remaining budget looks healthier
Freeze new feature launches and shift the team's focus to reliability work until the budget recoversCorrect

The whole point of an error budget is to make it an actionable policy: once it's mostly or fully spent, standard practice is to halt risky changes, like new feature launches, and redirect engineering effort toward reliability until the budget replenishes over the rolling window. Quietly lowering the SLO to make the numbers look better defeats the purpose of having an objective in the first place, and treating the budget as retroactive-only ignores that its main value is as a forward-looking decision trigger. There's also no such thing as 'rolling back to the SLA,' an SLA is a separate contractual layer, not something you revert to.

easy

4. An application exposes two separate HTTP health check endpoints: one that tells the platform 'restart me if this fails' and another that tells it 'don't send me traffic yet, but no need to restart me.' What are these two checks called?

Liveness probe and readiness probeCorrect
Synthetic check and heartbeat check
Uptime check and smoke test
Black-box check and white-box check

A liveness probe answers 'is this process stuck or deadlocked?', and failing it typically triggers a restart. A readiness probe answers 'can this instance currently serve traffic?', such as during startup while it's still warming a cache or waiting on a dependency, and failing it just removes the instance from load balancing without restarting it. Conflating the two is a common mistake that causes unnecessary restarts of instances that just need more time to warm up.

medium

5. A company's alerting pipeline itself, the tool responsible for evaluating alert rules and paging on-call, silently crashed overnight. Because it wasn't running, it also didn't fire any alerts about anything, including its own failure, and nobody noticed for six hours. What kind of alert would have caught this specific failure mode?

A higher-severity threshold on the existing CPU alert
A synthetic monitoring check against the customer-facing website
A blameless postmortem process
A dead man's switch: a heartbeat alert that is expected to fire on a regular schedule no matter what, so that its ABSENCE (rather than its presence) is what signals a problemCorrect

A normal alert only tells you something when a bad condition is detected, which is useless if the alerting system itself is the thing that's broken. A dead man's switch inverts this: it's an alert (or external check) configured to expect a regular 'I'm still alive' heartbeat, and it's the missing heartbeat itself that triggers the page, which is why it can catch failures in the monitoring pipeline that would otherwise monitor itself into silence.

hard

6. A team's infrastructure metrics (CPU, memory, request rate) all look completely healthy, but the business reports that the number of successful signups per hour has quietly dropped by 40%, something none of their existing dashboards would ever have shown. What's missing from their instrumentation?

A higher-resolution CPU metric
Custom application-level metrics: instrumenting the code itself to emit business-relevant counters (like signups_completed_total), since generic infrastructure metrics can look perfectly fine while a specific business function is actually brokenCorrect
A synthetic monitoring check against the homepage
A distributed tracing system, since only traces can capture business outcomes

Infrastructure metrics like CPU and request rate describe the health of the machinery, but they can't tell you whether the actual business logic running on top of it is succeeding, a broken step deep in the signup flow could still return valid-looking HTTP 200s and healthy request rates. Custom application metrics, emitted directly from application code to track specific business events, are what makes this kind of silent functional regression visible, and it's a common blind spot for teams who only instrument generic infrastructure signals.

easy

7. Google's SRE book describes four 'golden signals' as the core things worth monitoring for almost any user-facing system. Which of the following is one of them?

Code coverage
Deployment frequency
Saturation, how full or resource-constrained a system currently isCorrect
Mean time to hire an on-call engineer

The four golden signals are latency, traffic, errors, and saturation, and saturation specifically measures how close a system is to its resource limits (CPU, memory, queue depth, and so on) before performance degrades. The other options describe engineering process or delivery metrics, not signals you'd track on a service's core health dashboard.

medium

8. A latency dashboard shows a sudden, sustained jump in error rate at 2:14 PM. Separately, the team's deploy pipeline shows a release went out at 2:12 PM. Nobody made this connection until a customer complaint an hour later, because the two systems aren't linked. What practice would have surfaced this connection immediately on the dashboard itself?

Adding deployment events as annotations (vertical markers) directly on the relevant dashboards, so a spike lining up with a recent release is visually obviousCorrect
Switching from metrics to logs for error tracking
Running a blameless postmortem after every deploy
Increasing the alert threshold for error rate

Many dashboarding tools (like Grafana) support annotations, which are markers overlaid on a time-series graph at a specific timestamp, commonly wired up to fire automatically whenever a deployment happens. This makes correlating a metric change with a recent release immediately visible to anyone glancing at the dashboard, instead of requiring someone to manually cross-reference two separate systems after the fact.

hard

9. A platform team supports 40 microservices and wants a single Grafana dashboard template that any engineer can use to view latency for whichever specific service they're currently investigating, without the team having to hand-build and maintain 40 nearly-identical dashboards. What Grafana feature is designed for exactly this?

Alert silences
Annotations
Dashboard variables (template variables), which let a dropdown at the top of the dashboard swap out which service's data every panel queries, using one shared dashboard definitionCorrect
Downsampling rules

Dashboard variables let a single dashboard definition stay generic, with panel queries referencing a variable like $service instead of a hardcoded service name, and a dropdown at the top lets whoever's viewing it pick which specific value to plug in. This turns what would otherwise require 40 separate, hand-maintained dashboards into one reusable template, which is exactly the maintenance burden the scenario describes.

easy

10. Your team writes: '99.9% of requests should return in under 300ms, measured over a rolling 30 days.' What kind of statement is this?

An SLO, an internal target built on top of an SLICorrect
An SLA, a contractual promise to customers with penalties for missing it
An error budget, the amount of unreliability the team is allowed to spend
An SLI, the raw measurement itself

An SLO (Service Level Objective) is the target you set for an SLI, and 'the objective of 99.9% of requests under 300ms' is exactly that target built on top of the underlying SLI (the raw measured percentage of fast requests). The SLI alone would just be 'the percentage of requests under 300ms,' with no target attached; an SLA layers a customer-facing contractual consequence on top of an SLO, which this statement doesn't mention.

Ready for the real thing?

Take the full timed Monitoring & Observability quiz and see your score.

    Welcome to OpsQuiz!

    Real scenario-based DevOps questions, hands-on practice, and clear explanations for every answer.