Courseiva

CCNA Alerting And Dashboarding Questions

43 questions · Alerting And Dashboarding topic · All types, answers revealed

1
Multi-Selectmedium

Which TWO of the following are benefits of using recording rules?

Select 2 answers
A.Simplifying complex queries
B.Reducing query latency
C.Adding authentication to metrics
D.Automatically increasing retention
E.Providing UI for alerts
AnswersA, B

Recording rules precompute expensive expressions into new series, so dashboards and alerts reference a single stored metric instead of re-running complex PromQL. This satisfies the stem's benefit by simplifying complex queries and reducing repeated evaluation cost at query time.

Why this answer

Recording rules are correct in options A and B because they precompute expensive or frequently used PromQL expressions and store the result as a new time series, so complex queries can be referenced by a simpler metric name (A: simplifying complex queries) and dashboards or alerts that use that precomputed series avoid re-evaluating the full expression at query time, which lowers query latency (B: reducing query latency). They do not add authentication to metrics (C), since authentication is handled by the metrics endpoint, reverse proxy, or service configuration, not by recording rules. They also do not automatically increase retention (D), because retention is controlled by storage configuration such as retention time or size limits, and they do not provide a UI for alerts (E), since alerting UIs come from tools like Alertmanager or Grafana rather than from recording rules themselves.

2
MCQeasy

A team wants to visualize metrics from Prometheus in Grafana. What is the standard way to connect these two services?

A.Upload a JSON file to Prometheus
B.Add a 'Prometheus' data source in Grafana
C.Configure a Prometheus scrape job for Grafana
D.Install the 'Grafana-exporter' in Prometheus
AnswerB

Adding a Prometheus data source in Grafana queries the Prometheus HTTP API directly, so no intermediary exporter or federation layer is needed. This satisfies the stem's requirement to visualise existing Prometheus metrics, since Grafana's built-in data source plugin translates PromQL queries and renders the returned time series natively.

Why this answer

Grafana allows users to add Prometheus as a 'Data Source' by providing the URL of the Prometheus server.

3
MCQmedium

You notice that recording rules are consuming too much CPU on your Prometheus server. What is the most effective way to reduce the load while keeping data available?

A.Decrease the evaluation_interval
B.Move recording rules to Alertmanager
C.Increase the evaluation_interval
D.Delete all indices
AnswerC

Raising evaluation_interval lengthens the gap between rule evaluations, so each rule query executes less often and consumes proportionally less CPU. Recorded series remain written to storage, satisfying the constraint of keeping data available while cutting load.

Why this answer

Recording rules in Prometheus are evaluated at the interval defined by 'evaluation_interval' in the rule group. Increasing the evaluation_interval means rules run less frequently, which directly reduces CPU load on the Prometheus server while keeping the recorded time series available for querying.

Exam trap

The trap is reversing the direction of the interval change — candidates confuse 'increase' with 'decrease' and pick the option that actually worsens CPU load.

How to eliminate wrong answers

Option A is wrong because decreasing the evaluation_interval makes rules run more often, increasing CPU load — the opposite of the goal. Option B is wrong because Alertmanager handles alert routing and deduplication, not rule evaluation; recording rules cannot be moved there. Option D is wrong because deleting indices (a TSDB concept from systems like Elasticsearch) would destroy data and is not a Prometheus operation — Prometheus uses block-based storage, not indices.

4
MCQmedium

What happens to your alerts if the Alertmanager configuration file contains a syntax error?

A.Alertmanager continues using the previous configuration
B.Prometheus stops scraping
C.Alertmanager crashes immediately
D.All alerts are dropped
AnswerA

Alertmanager validates configuration on reload; if parsing fails, it rejects the new file and keeps the previously loaded configuration running. Alerts therefore continue routing normally, satisfying the stem's scenario without dropping notifications or halting the service.

Why this answer

If the configuration is invalid, Alertmanager will fail to reload, and it will continue using the last known good configuration.

5
MCQeasy

Which Grafana feature allows you to see data from multiple Prometheus servers on a single panel?

A.Panel injection
B.Metric merging
C.Data source variables
D.Prometheus federation
AnswerC

Variables enable users to dynamically switch or select data sources in a panel.

Why this answer

Grafana allows you to define multiple data sources and even mix them within a dashboard, or use a data source proxy.

6
MCQeasy

Which Grafana panel type is best for showing a trend of a metric over time?

A.Table
B.Stat
C.Bar gauge
D.Time series
AnswerD

Time series panels plot metric values against a timestamped x-axis, rendering successive data points as a continuous line. This directly satisfies the requirement to visualise how a metric changes over time, unlike stat, gauge or table panels which show only current or aggregated values.

Why this answer

The Time series panel is the standard for plotting metrics over time.

7
MCQhard

When using the 'repeat_interval' in Alertmanager, what does it define?

A.The timeout for the receiver
B.The TTL of the alert
C.How long to wait before firing
D.How often to resend firing alerts
AnswerD

The `repeat_interval` parameter sets how frequently Alertmanager re-notifies about an alert that remains firing after the initial notification, provided the alert has not been resolved or updated. It satisfies the scenario's requirement to define resend frequency for ongoing incidents, distinct from `group_interval`, which governs batching delays between different alert groups.

Why this answer

The repeat_interval defines how long to wait before re-sending a notification for an alert that is still active.

8
MCQhard

Which Alertmanager feature would you use to prevent a 'ServiceDown' alert from firing if a 'GlobalNetworkOutage' alert is already active?

A.Grouping
B.Inhibition
C.Silencing
D.Routing
AnswerB

Inhibition suppresses a lower-severity alert while a matching higher-severity alert is firing, using equal label matchers. This satisfies the stem's requirement by muting ServiceDown whenever GlobalNetworkOutage is active, preventing duplicate notification storms during broad outages.

Why this answer

Inhibition rules allow one alert to suppress another based on matching labels.

9
MCQhard

When configuring Alertmanager 'group_by' settings, what happens if you include a label that is not present on an incoming alert?

A.The alert is dropped
B.The alert triggers an error in the logs
C.The routing rule fails
D.The alert is grouped under a null value
AnswerD

Alertmanager evaluates group_by labels against each alert's label set. A label absent from an incoming alert resolves to an empty string, so all alerts missing that label collapse into a single group keyed by a null value.

Why this answer

Alertmanager's group_by directive groups alerts by the values of the specified labels. If a label listed in group_by is absent from an incoming alert, Alertmanager treats its value as empty/null and still groups the alert under that null value rather than dropping or erroring. This means alerts missing the label are grouped together in a single notification group.

Exam trap

The trap is assuming Alertmanager validates group_by labels and rejects or errors on alerts missing them, when in fact it silently substitutes a null/empty value and groups those alerts together.

How to eliminate wrong answers

Option A is wrong because Alertmanager does not discard alerts for missing group_by labels; the alert is still processed and notified. Option B is wrong because a missing label is not an error condition — Alertmanager handles absent labels gracefully without logging errors. Option C is wrong because routing rules evaluate matchers against alert labels independently of group_by; a missing group_by label does not cause routing to fail.

10
MCQhard

You have a global Alertmanager configuration where you want to suppress 'DiskSpaceLow' alerts if 'InstanceDown' is active for the same host. Which mechanism accomplishes this?

A.Inhibition rules
B.Route tree
C.Repeat intervals
D.Grouping
AnswerA

Inhibition rules suppress a target alert when a matching source alert is firing, using equal label matchers such as instance. This directly satisfies the stem's requirement to mute DiskSpaceLow while InstanceDown is active for the same host, which silences and routing cannot achieve.

Why this answer

Inhibition rules in Alertmanager are designed to suppress a set of alerts when another set of alerts is already firing. They match on labels, so you can define an inhibition rule that mutes 'DiskSpaceLow' alerts if an 'InstanceDown' alert with the same host label is active. This is exactly the use case described: suppressing dependent alerts when a more fundamental alert is firing.

Exam trap

PCA often tests the distinction between alert suppression mechanisms: inhibition rules suppress based on other alerts, while silences suppress based on time, and grouping/routing affect notification delivery but not suppression. Candidates frequently confuse grouping with inhibition because both reduce noise, but only inhibition uses active alerts as a condition.

How to eliminate wrong answers

Option B is wrong because the route tree determines how alerts are grouped and where they are sent (e.g., to different receivers based on label matchers), but it does not suppress alerts based on other active alerts. Option C is wrong because repeat intervals control how often a firing alert is re-notified, not whether it is suppressed. Option D is wrong because grouping aggregates multiple alerts into a single notification to reduce noise, but it does not suppress alerts conditionally based on other alerts.

11
MCQeasy

Where do you define the threshold for a Prometheus alerting rule?

A.In the 'labels' field
B.In the Alertmanager config
C.In the 'expr' field
D.In the Grafana panel
AnswerC

A Prometheus alerting rule's 'expr' field holds the PromQL expression; the alert fires when that expression's result satisfies the rule's 'for' duration. The threshold comparison itself is written inside the PromQL expression, not in a separate numeric field.

Why this answer

In Prometheus alerting rules, the 'expr' field contains the PromQL expression that is evaluated on each evaluation interval; when the expression returns a non-empty result set, the alert transitions to pending and then firing. The threshold itself (e.g., '> 0.9' or '== 0') is embedded directly inside that PromQL expression, so the threshold is defined in 'expr'. The 'labels' field only attaches metadata (severity, team) to the alert, and Alertmanager only handles routing, grouping, silencing, and notification after Prometheus fires the alert.

Exam trap

PCA often tests the misconception that Alertmanager or Grafana defines alert thresholds, when in fact the threshold lives inside the PromQL 'expr' field of the Prometheus alerting rule and Alertmanager only routes already-fired alerts.

How to eliminate wrong answers

Option A is wrong because the 'labels' field only adds key/value metadata (such as severity or team) to the alert and cannot express a numeric or boolean threshold. Option B is wrong because Alertmanager is a separate component that receives already-fired alerts and handles deduplication, grouping, routing, and silencing — it does not evaluate PromQL or define thresholds. Option D is wrong because Grafana panels are visualization/alerting surfaces that query Prometheus; they do not define Prometheus alerting rule thresholds, which live in the rule files loaded by Prometheus.

12
MCQmedium

You want to notify different teams based on the 'service' label of an alert. Where should you configure this logic?

A.In the node exporter config
B.In the Grafana data source
C.In the Alertmanager configuration
D.In the Prometheus alerting rule
AnswerC

Alertmanager configuration routes alerts by matching label sets, so a route with a `service` matcher directs each alert to the correct receiver, satisfying the requirement to notify different teams per service label. This logic belongs in Alertmanager's routing tree, not in Prometheus scrape configs or Grafana dashboards.

Why this answer

The Alertmanager configuration file contains the routing tree that maps alerts to receivers based on labels.

13
Multi-Selecteasy

Which TWO of the following are valid fields in a Prometheus alerting rule definition?

Select 2 answers
A.expr
B.timeout
C.retries
D.target
E.alert
AnswersA, E

The `expr` field holds the PromQL expression Prometheus evaluates on each evaluation interval; a non-empty result triggers the alert. It is mandatory in every alerting rule, satisfying the stem's requirement for a valid field alongside `alert` and `for`.

Why this answer

Option A, expr, is correct because every Prometheus alerting rule requires an expr field containing the PromQL expression that is evaluated; when it returns results, the alert fires. Option E, alert, is correct because the alert field names the alert (e.g., alert: HighErrorRate) and is the required identifier for the rule within the rule group. The unmarked options do not belong: timeout and retries are not fields of a Prometheus alerting rule (retries/timeout concepts belong to Alertmanager notification configuration or scrape configs), and target is not a valid alerting rule field, as Prometheus discovers targets via scrape_configs rather than within alert rules.

14
MCQhard

You want to ensure that if the Alertmanager cluster loses communication, alerts are still sent. Which configuration helps achieve this?

A.Disable grouping
B.Set repeat_interval to 0
C.Use a load balancer only
D.Use the --cluster.peer flag
AnswerD

The --cluster.peer flag joins Alertmanager instances into a gossip cluster, so notification state and silences are shared; if communication between peers fails, each node still evaluates and dispatches its own alerts. This satisfies the requirement that alerts continue being sent during cluster partition.

Why this answer

High Availability (HA) for Alertmanager is achieved by running multiple instances and using the '--cluster.peer' flag to link them.

15
MCQhard

You have two alerts: 'InstanceDown' and 'HighErrorRate'. You want to inhibit 'HighErrorRate' if 'InstanceDown' is firing for the same instance. Where do you configure this logic?

A.In the Alertmanager 'inhibit_rules' configuration
B.In the Prometheus recording rules file
C.In the Grafana Alerting panel
D.In the Prometheus 'alerting' rule block
AnswerA

Alertmanager's `inhibit_rules` block suppresses a target alert when a matching source alert is firing, using `equal` labels to scope the match. Setting `source_matchers: [alertname="InstanceDown"]`, `target_matchers: [alertname="HighErrorRate"]` and `equal: [instance]` silences HighErrorRate only for the same instance, satisfying the stem's per-instance constraint.

Why this answer

Inhibition rules are defined within the 'inhibit_rules' section of the Alertmanager configuration file.

16
MCQeasy

Which file format is used to define Prometheus alerting rules?

A.YAML
C.TOML
D.XML
AnswerA

Prometheus alerting rules are defined in YAML files, typically within a `groups` structure containing `alert` and `expr` fields. This satisfies the stem's requirement for the specific file format, since Prometheus natively parses rule files as YAML — not JSON or TOML — and loads them via `rule_files` in the main configuration.

Why this answer

Prometheus alerting rules are defined in YAML format. The rule files are specified in the Prometheus configuration and contain groups of rules with expressions and durations. YAML is the standard for Prometheus configuration files.

Exam trap

PCA often tests basic file format knowledge, where candidates might confuse YAML with JSON due to similar use in APIs, but Prometheus configuration and rules are exclusively YAML.

How to eliminate wrong answers

Option B is wrong because JSON is not used for Prometheus alerting rules; while Prometheus supports JSON for some API responses, rule files are YAML. Option C is wrong because TOML is not used by Prometheus for any configuration. Option D is wrong because XML is not used by Prometheus.

17
MCQeasy

What is the purpose of a 'grouping' configuration in the Alertmanager 'route' block?

A.To inhibit alerts based on severity
B.To aggregate similar alerts into a single notification
C.To ensure alerts are processed in alphabetical order
D.To create hierarchical alert routing
AnswerB

Grouping aggregates alerts sharing common labels, such as alertname or cluster, into one notification, reducing noise during incidents. Configured via group_by within the route block, it batches related firing alerts so receivers get a single consolidated message rather than many.

Why this answer

Grouping categorizes multiple alerts into a single notification based on common label sets, reducing alert fatigue.

18
Multi-Selecthard

Which THREE of the following are valid Alertmanager routing tree parameters?

Select 3 answers
A.receiver
B.server
C.match_re
D.match
E.auth_token
AnswersA, C, D

receiver is a required route parameter naming the notification integration, such as email or Slack, that delivers alerts matching that route. Every route must define one, making it a core element of the Alertmanager routing tree.

Why this answer

Routes can filter by 'match', 'match_re', and define a 'receiver'.

19
MCQhard

You have a recording rule that uses 'sum() by (instance)'. Why might this be inefficient for large clusters?

A.It can lead to high cardinality if 'instance' has many values
B.It blocks concurrent queries
C.It uses too much disk I/O
D.It slows down the network
AnswerA

Grouping by instance creates one output series per distinct instance value, so cardinality scales linearly with cluster size. This satisfies the stem's inefficiency concern: each additional instance multiplies stored series, increasing memory and query cost.

Why this answer

Using 'sum() by (instance)' in a recording rule aggregates metrics per instance, and if the 'instance' label has many unique values (e.g., in a large cluster with many nodes or pods), it creates a high number of time series. This high cardinality increases memory and storage usage in Prometheus, leading to inefficiency and potential performance degradation. The correct answer identifies high cardinality as the primary concern.

Exam trap

PCA often tests the misconception that recording rules always reduce cardinality, when in fact grouping by a high-cardinality label like 'instance' can perpetuate or even exacerbate high cardinality issues.

How to eliminate wrong answers

Option B is wrong because recording rules do not block concurrent queries; Prometheus is designed to handle concurrent queries, and recording rules are evaluated in the background. Option C is wrong because disk I/O is not the primary issue with high-cardinality recording rules; memory usage is more directly impacted. Option D is wrong because network slowdown is not a typical consequence of recording rule cardinality; the bottleneck is usually Prometheus's internal storage and query engine.

20
MCQhard

How do you apply a global notification delay in Alertmanager?

A.By using the group_wait field
B.By setting the repeat_interval
C.By creating a silence for the first 5 minutes
D.By modifying the Prometheus rule interval
AnswerA

The group_wait parameter sets how long Alertmanager buffers alerts belonging to a new group before sending the first notification, which is precisely the global delay mechanism requested. It applies across all routes unless overridden, satisfying the stem's requirement for a global notification delay.

Why this answer

The 'group_wait' parameter at the root route level defines the time to wait before sending an initial notification for a new alert group.

21
MCQhard

You need to send critical alerts to a specific Slack channel while warning alerts go to email. Where should this routing logic be defined?

A.In the Alertmanager 'receivers' configuration
B.In the Grafana 'Alerting' UI
C.In the Alertmanager 'route' configuration
D.In the Prometheus 'alerting' rule file
AnswerC

Alertmanager's route configuration matches alerts by label and directs them to named receivers, so severity-based routing to Slack versus email belongs there. Prometheus rule files only define firing conditions; they cannot perform receiver routing, making Alertmanager the correct location.

Why this answer

The Alertmanager 'route' configuration is where routing logic is defined. It uses a tree of routes with matchers (e.g., severity='critical') to direct alerts to specific receivers (e.g., Slack for critical, email for warning). This is the core mechanism for conditional alert routing in Prometheus-based monitoring.

Exam trap

PCA often tests the distinction between defining receivers (destinations) and defining routes (routing logic), so candidates may mistakenly choose 'receivers' when asked where routing logic is defined.

How to eliminate wrong answers

Option A is wrong because 'receivers' only define the destination details (like Slack webhook URL or email SMTP settings) but do not contain the logic to decide which alerts go where. Option B is wrong because Grafana's Alerting UI is for Grafana-managed alerts, not for routing Prometheus Alertmanager alerts; it cannot control Alertmanager's routing. Option D is wrong because Prometheus alerting rules only generate alerts and send them to Alertmanager; they do not perform routing to different receivers.

22
MCQmedium

Which of the following best describes the function of the 'continue: true' setting within an Alertmanager route?

A.It allows an alert to continue matching against sibling routes
B.It enables alert silencing
C.It allows the Alertmanager to retry failed notifications
D.It causes the alert to stay active indefinitely
AnswerA

By default, an alert stops at the first matching route. Setting continue: true lets evaluation proceed to sibling routes at the same level, so the alert can match multiple routes and trigger their respective receivers.

Why this answer

Setting 'continue: true' allows an alert to match multiple routes, ensuring it can be sent to multiple destinations if desired.

23
MCQhard

In Alertmanager, what is the role of the 'continue' field in a route?

A.To keep the alert firing after resolution
B.To ignore duplicate alerts
C.To restart the Alertmanager process
D.To force the alert to be sent to multiple routes
AnswerD

By default a matching alert stops at the first route. Setting continue to true tells Alertmanager to keep evaluating sibling routes after a match, so the same alert is also delivered through those additional routes rather than being consumed by the first.

Why this answer

The 'continue' field in an Alertmanager route, when set to true, allows the alert to continue matching subsequent sibling routes. This means the alert can be sent to multiple receivers, effectively forcing it to be routed to multiple destinations.

Exam trap

PCA often tests the 'continue' field's role in routing, where candidates might confuse it with deduplication or resolution parameters, but it specifically enables multi-route matching.

How to eliminate wrong answers

Option A is wrong because 'continue' does not affect alert firing after resolution; that is controlled by 'resolve_timeout'. Option B is wrong because ignoring duplicate alerts is handled by deduplication in Alertmanager, not by 'continue'. Option C is wrong because 'continue' has nothing to do with restarting the Alertmanager process.

24
MCQeasy

What does the 'firing' state mean for an alert?

A.The alert is being silenced
B.The alert is pending
C.The alert condition is currently true
D.The alert has been resolved
AnswerC

Firing is the active state an alert enters once its PromQL expression evaluates true for the configured 'for' duration, meaning the condition currently holds. It contrasts with inactive and pending, so this option correctly describes the live breach the rule detects.

Why this answer

An alert enters the 'firing' state when its condition expression evaluates to true for the specified 'for' duration.

25
Multi-Selecteasy

Which TWO of the following are valid components of an Alertmanager configuration file?

Select 2 answers
A.receivers
B.storage_path
C.global_variables
D.scrape_configs
E.route
AnswersA, E

Receivers is a top-level Alertmanager configuration block listing named notification integrations, such as email, Slack or PagerDuty, each referenced by routes. Without at least one receiver defined, Alertmanager cannot dispatch any notification, making it a required valid component.

Why this answer

Option A, receivers, is correct because the Alertmanager configuration file uses a top-level receivers: block to define notification integrations (for example email, Slack, PagerDuty, or webhook) that alerts are sent to. Option E, route, is correct because the top-level route: block defines the routing tree that matches incoming alerts and dispatches them to the appropriate receiver, including child routes and grouping/matching settings. Option B, storage_path, is not a valid Alertmanager configuration key; the data directory is set via the --storage.path command-line flag, not a config field.

Option C, global_variables, is not a valid key; Alertmanager uses a global: block for settings such as SMTP and Slack defaults. Option D, scrape_configs, belongs to the Prometheus server configuration (defining scrape targets), not to Alertmanager.

26
MCQmedium

You have a Prometheus alerting rule that triggers too frequently during flapping states. Which feature should you use to prevent this without silencing the alert entirely?

A.The 'resolve_timeout' parameter
B.The 'for' field
C.The 'group_wait' parameter
D.The 'inhibit_rules' block
AnswerB

The 'for' field requires the alert's condition to remain true for a specified duration before firing, so brief flapping spikes are ignored while sustained problems still alert. This suppresses transient noise without silencing the rule entirely, unlike inhibition or muting.

Why this answer

The 'for' field in a Prometheus alerting rule specifies how long the condition must be true before the alert fires. By setting a duration (e.g., '5m'), it prevents alerts from triggering during brief flapping states, as the condition must persist for that period. This reduces noise without silencing the alert entirely.

Exam trap

PCA often tests the distinction between Prometheus alerting rule parameters (like 'for') and Alertmanager configuration parameters (like 'group_wait' or 'resolve_timeout'), where candidates might confuse the two.

How to eliminate wrong answers

Option A is wrong because 'resolve_timeout' is an Alertmanager parameter that defines how long to wait before marking an alert as resolved after the condition is no longer true; it does not prevent frequent firing. Option C is wrong because 'group_wait' is an Alertmanager parameter that controls how long to wait before sending a notification group; it does not affect alert evaluation frequency. Option D is wrong because 'inhibit_rules' suppress alerts based on other alerts, which is a form of silencing, not a way to prevent flapping.

27
MCQhard

When setting up Alertmanager, what happens if you have no route defined for an alert?

A.The alert triggers an error
B.The alert is sent to the root route
C.The alert is sent to all receivers
D.The alert is dropped
AnswerB

Alertmanager's routing tree has a root node, and every alert enters there; without a matching child route, the alert inherits the root route's receiver and continues to be notified. This satisfies the question's scenario of an alert with no explicitly defined route.

Why this answer

If an alert matches no specific route, it will fall back to the root route of the configuration tree.

28
Multi-Selecthard

Which THREE of the following are valid Alertmanager grouping parameters?

Select 3 answers
A.alert_timeout
B.group_by
C.group_interval
D.group_wait
E.resolve_delay
AnswersB, C, D

group_by is a core Alertmanager route parameter that partitions alerts into separate notification groups by label values, controlling which alerts are batched together. It directly satisfies the question's demand for a valid grouping parameter, alongside group_wait and group_interval.

Why this answer

In Alertmanager's configuration, the route block supports the grouping parameters group_by, group_wait, and group_interval, which is why options B, C, and D are correct. group_by (B) specifies the labels used to aggregate related alerts into a single notification, such as grouping by 'alertname' or 'cluster'. group_wait (D) sets how long Alertmanager waits to buffer alerts for the same group before sending the initial notification, defaulting to 30s. group_interval (C) defines how long to wait before sending a new notification about a group after the first one, defaulting to 5m. The unmarked options do not belong: alert_timeout (A) is not an Alertmanager parameter (timeouts appear in receivers like webhook or in Prometheus scrape configs), and resolve_delay (E) is not a valid Alertmanager grouping setting either.

Exam trap

PCA often tests the distinction between grouping parameters and other Alertmanager settings like resolve_timeout or repeat_interval, causing candidates to confuse similar-sounding but invalid options such as alert_timeout or resolve_delay.

29
MCQmedium

When integrating Grafana with Prometheus, what is the standard authentication method if Prometheus is behind a reverse proxy?

A.Hardcoded IP address
B.Basic Auth
C.Public access only
D.SSH tunneling
AnswerB

Basic Auth is the standard mechanism: Grafana stores the username and password in the Prometheus data source configuration and sends them in the Authorization header, which the reverse proxy validates before forwarding requests to the Prometheus server.

Why this answer

When Prometheus sits behind a reverse proxy, Grafana's Prometheus data source authenticates to the proxy using HTTP Basic Auth — the data source configuration provides a username and password that Grafana sends in the Authorization header. This is the standard, documented method because the reverse proxy (nginx, Apache, Traefik) typically enforces Basic Auth in front of the Prometheus endpoint.

Exam trap

The trap is assuming Prometheus has built-in authentication and picking a network-layer option (IP, SSH) instead of recognizing that auth is delegated to the reverse proxy and Grafana uses Basic Auth to satisfy it.

How to eliminate wrong answers

Option A is wrong because hardcoding an IP address is not an authentication mechanism — IP allowlisting may be a supplementary control but does not authenticate Grafana to Prometheus. Option C is wrong because 'public access only' describes an unauthenticated exposure, which is the opposite of a secure integration and is not an authentication method. Option D is wrong because SSH tunneling is a transport-level workaround for reaching a private endpoint, not the standard authentication method Grafana uses against a reverse-proxied Prometheus.

30
Multi-Selecteasy

Which THREE of the following are standard ways to send notifications from Alertmanager?

Select 3 answers
A.FTP
B.Webhook
C.SSH
D.Email
E.PagerDuty
AnswersB, D, E

Webhook receivers let Alertmanager POST a JSON payload to any HTTP endpoint, satisfying the requirement for a standard notification route. This is one of the built-in receiver types configured under `receivers:` in the Alertmanager configuration file, alongside email and Slack, requiring no external integration component.

Why this answer

Webhook, Email, and PagerDuty are built-in, widely used receiver types.

31
MCQeasy

Which of these is NOT a valid Alertmanager receiver type?

A.Webhook
B.Email
C.SQL
D.PagerDuty
AnswerC

Alertmanager supports receivers such as email, Slack, PagerDuty, webhook and Opsgenie for delivering notifications. SQL is a database technology, not a notification integration, so it cannot be configured as a valid receiver type in the Alertmanager routing configuration.

Why this answer

While Alertmanager supports many integrations (Webhook, Email, PagerDuty), 'SQL' is not a native built-in receiver type.

32
MCQeasy

What is the purpose of the 'labels' field in an alerting rule?

A.To define the alert message body
B.To add metadata for routing and filtering
C.To select the target server
D.To set the alert severity level
AnswerB

Labels attach key-value metadata to an alert, which Alertmanager matches against routes, silences and inhibition rules to determine where and whether notifications are delivered. This satisfies the stem's routing and filtering requirement, distinguishing labels from annotations, which only carry descriptive text.

Why this answer

Labels allow you to attach metadata to the alert, which can then be used in Alertmanager for routing and grouping.

33
Multi-Selectmedium

Which THREE of the following are valid components within a Prometheus Alerting Rule file?

Select 3 answers
A.expr
B.receiver
C.groups
D.alert
E.routing_tree
AnswersA, C, D

The `expr` field holds the PromQL expression that Prometheus evaluates on each evaluation interval; when the result is non-empty, the alert transitions to pending or firing. It is mandatory in every alerting rule, satisfying the stem's requirement for a valid component of an Alerting Rule file.

Why this answer

Prometheus alerting rules contain a 'groups' array, which contains individual 'rules' (alerts or recordings), and each alert rule must have an 'alert' name and 'expr'.

34
MCQeasy

Which tool allows you to visualize Prometheus alerts directly in a web UI?

A.Node Exporter
B.Alertmanager UI
C.Pushgateway
D.Prometheus CLI
AnswerB

The Alertmanager UI is a built-in web interface served by Alertmanager itself, showing active alerts, silences and grouping state. It satisfies the stem because Prometheus's own expression browser does not display fired alerts in this way.

Why this answer

Alertmanager ships with a built-in web UI (typically served on port 9093) that displays active alerts, silences, and grouping status, allowing operators to visualize and manage alerts directly. It is the canonical tool for inspecting which alerts are firing, which are silenced, and how they are grouped before notification. The Prometheus server's own UI shows firing alerts via the /alerts endpoint, but the Alertmanager UI is the dedicated interface for alert lifecycle management.

Exam trap

The trap is assuming Prometheus itself provides the alert visualization UI — while Prometheus shows firing alerts at /alerts, the dedicated alert management UI belongs to Alertmanager, and candidates often confuse the two components.

How to eliminate wrong answers

Option A is wrong because Node Exporter is a metrics exporter that exposes host-level metrics (CPU, memory, disk) on /metrics; it has no UI for alerts. Option C is wrong because Pushgateway is a component for short-lived jobs to push metrics to Prometheus; it exposes a minimal web interface for inspecting pushed metrics, not alerts. Option D is wrong because Prometheus CLI (promtool) is a command-line utility for validating configs and querying metrics — it is not a web UI and does not visualize alerts.

35
MCQmedium

You have a recording rule named 'job:node_cpu:avg_rate_5m'. Where is this metric stored once the rule is executed?

A.In the Prometheus TSDB
B.In the Alertmanager memory
C.In the Grafana database
D.In a local flat file
AnswerA

Recording rules evaluate their expression and write the resulting samples back into the Prometheus time-series database under the new metric name. The rule does not create a separate store; results persist in the TSDB alongside scraped metrics.

Why this answer

Recording rules in Prometheus evaluate a PromQL expression on a schedule and write the resulting samples back into the Prometheus TSDB as new time series. The metric 'job:node_cpu:avg_rate_5m' is therefore stored in the same local TSDB as scraped metrics, queryable via PromQL like any other series. This is the core purpose of recording rules: precomputing expensive queries for faster dashboards and alerts.

Exam trap

The PCA exam often tests the misconception that recording rule output goes somewhere other than the Prometheus TSDB — candidates may assume Alertmanager or Grafana stores it, when in fact it's written back into Prometheus itself.

How to eliminate wrong answers

Option B is wrong because Alertmanager only receives firing alerts from Prometheus and handles routing, grouping, and silencing — it does not store recording rule output. Option C is wrong because Grafana is a visualization layer that queries Prometheus; it has its own database for dashboards and users, not for metric samples. Option D is wrong because Prometheus does not write recording rule results to a local flat file — all samples, scraped or computed, go into the TSDB blocks.

36
MCQmedium

You are seeing 'Alerting rule evaluation error' in your logs. What is the most likely cause?

A.Alertmanager is down
B.Too many dashboards
C.Invalid PromQL in the expression
D.Prometheus is out of disk space
AnswerC

Prometheus evaluates each alerting rule's expression against the query engine; malformed syntax or invalid functions in the PromQL cause evaluation to fail, producing exactly this error. Correcting the expression's syntax resolves the alerting rule evaluation error.

Why this answer

The error message 'Alerting rule evaluation error' originates from the Prometheus rule evaluation engine when it cannot successfully execute the PromQL expression defined in a rule. The most common cause is a syntactically or semantically invalid PromQL expression — for example, referencing a non-existent metric, using an unsupported function, or mismatching label matchers. Prometheus logs this error per rule per evaluation cycle, so the fix is to validate the expression in the Prometheus expression browser or with promtool check rules.

Exam trap

PCA often tests the distinction between Prometheus-side rule evaluation failures and Alertmanager-side delivery failures — candidates incorrectly blame Alertmanager for errors that actually originate in the Prometheus rule engine.

How to eliminate wrong answers

Option A is wrong because Alertmanager being down would prevent alerts from being delivered, but it would not cause a rule evaluation error in Prometheus — the rule engine evaluates independently of Alertmanager's availability. Option B is wrong because the number of dashboards in Grafana has no bearing on Prometheus rule evaluation; dashboards are read-only consumers of the query API. Option D is wrong because disk space exhaustion would produce storage-related errors (e.g., 'no space left on device' or WAL write failures), not a rule evaluation error tied to a specific expression.

37
MCQmedium

Why would you choose to create a recording rule for a complex PromQL query?

A.To increase metric resolution
B.To bypass authentication
C.To reduce dashboard query latency
D.To enable cross-server alerting
AnswerC

Recording rules precompute the expensive PromQL expression and persist the result as a new time series, so dashboards read a cheap, already-aggregated metric instead of re-evaluating the complex query on every refresh, directly cutting dashboard query latency.

Why this answer

Recording rules pre-calculate complex queries, making dashboards load faster by querying the pre-computed series instead of re-calculating the entire expression.

38
MCQmedium

You are creating a recording rule to calculate the rate of requests over 5 minutes. Why would you prefer a recording rule over a direct dashboard query?

A.To reduce query latency on dashboards
B.To bypass the retention settings of Prometheus
C.To increase the resolution of the data
D.To automatically send alerts to PagerDuty
AnswerA

A recording rule precomputes the rate expression and stores the result as a new time series, so dashboards read a small precalculated series instead of evaluating the full underlying expression at render time. This reduces query latency on dashboards, satisfying the stated preference.

Why this answer

Recording rules precompute expensive queries, reducing the load on Prometheus and speeding up dashboard loading times.

39
MCQmedium

What is the purpose of the 'keep_firing_for' field in an alerting rule?

A.To delay the initial alert
B.To repeat the alert every X minutes
C.To log the alert to disk
D.To prevent alert flapping
AnswerD

keep_firing_for holds an alert in firing state for a set duration after its condition stops being true, preventing rapid transitions between firing and resolved. This directly addresses flapping, which the stem identifies as the concern.

Why this answer

It keeps an alert in the firing state for a specified duration after the underlying expression is no longer true, which helps prevent flapping.

40
MCQeasy

Which annotation is commonly used to provide a human-readable description in an alert?

A.description
B.severity
C.instance
D.job
AnswerA

The 'description' annotation is used to provide details about the alert.

Why this answer

The 'summary' or 'description' annotations are standard practices for providing context in alert notifications.

41
MCQmedium

You need to ensure that an alert remains 'firing' for 5 minutes before the Alertmanager is notified. Which field in the Prometheus alerting rule should you configure?

A.pending_duration
B.for
C.delay
D.hold_time
AnswerB

The `for` field sets a pending duration, during which the alert must remain continuously firing before Alertmanager receives it. Configuring `for: 5m` satisfies the stem's requirement to delay notification until the condition has persisted five minutes, filtering transient spikes that would otherwise trigger premature alerts.

Why this answer

The 'for' field in a Prometheus alerting rule specifies the duration for which a condition must be true before the alert transitions from 'pending' to 'firing'.

42
MCQhard

You need to prevent an alert from firing if a maintenance window is active. How should you approach this in Alertmanager?

A.Delete the alerting rule
B.Modify the routing tree
C.Use a Silence
D.Add a 'skip' label to the rule
AnswerC

A Silence matches alerts by label set and suppresses notifications for a defined time window, which maps directly onto a scheduled maintenance period. Unlike inhibition, which depends on another firing alert, a Silence is time-bounded and configured in advance, satisfying the maintenance-window constraint.

Why this answer

Silences are the standard way to prevent specific alerts from firing during a known maintenance period.

43
MCQmedium

You have a recording rule that references a metric that doesn't exist. What is the impact?

A.Prometheus logs a critical error
B.The rule evaluation results in no data
C.The entire server crashes
D.The rule is automatically disabled
AnswerB

A recording rule referencing a non-existent metric produces no output series, because the expression evaluates against an empty vector and yields nothing. This satisfies the stem's impact directly: no data is written, so dependent dashboards and alerts querying that recorded series return empty results rather than errors.

Why this answer

The recording rule will be evaluated, but because the expression returns no data, no new time series will be created for that rule.

Ready to test yourself?

Try a timed practice session using only Alerting And Dashboarding questions.