Linux Foundation Prometheus Certified Associate PCA Exam Questions

Page: 1 / 14
Total 60 questions
Question 1

Which metric type uses the delta() function?



Answer : C

The delta() function in PromQL calculates the difference between the first and last samples in a range vector over a specified time window. This function is primarily used with gauge metrics, as they can move both up and down, and delta() captures that net change directly.

For example, if a gauge metric like node_memory_Active_bytes changes from 1000 to 1200 within a 5-minute window, delta(node_memory_Active_bytes[5m]) returns 200.

Unlike rate() or increase(), which are designed for monotonically increasing counters, delta() is ideal for metrics representing resource levels, capacities, or instantaneous measurements that fluctuate over time.


Verified from Prometheus documentation -- PromQL Range Functions -- delta(), Gauge Semantics and Usage, and Comparing delta() and rate() sections.

Question 2

What does the increase() function do in PromQL?



Answer : B

The increase() function computes the total increase in a counter metric over a specified range vector. It accounts for counter resets and only measures the net change in the counter's value during the time window.

Example:

increase(http_requests_total[5m])

This query returns how many HTTP requests occurred in the last five minutes. Unlike rate(), which provides a per-second average rate, increase() gives the absolute number of increments.


Question 3

Which of the following metrics is unsuitable for a Prometheus setup?



Answer : D

The metric user_last_login_timestamp_seconds{email='john.doe@example.com'} is unsuitable for Prometheus because it includes a high-cardinality label (email). Each unique email address would generate a separate time series, potentially numbering in the millions, which severely impacts Prometheus performance and memory usage.

Prometheus is optimized for low- to medium-cardinality metrics that represent system-wide behavior rather than per-user data. High-cardinality metrics cause data explosion, complicating queries and overwhelming the storage engine.

By contrast, the other metrics---prometheus_engine_query_log_enabled, promhttp_metric_handler_requests_total{code='500'}, and http_response_total{handler='static/*filepath'}---adhere to Prometheus best practices. They represent operational or service-level metrics with limited, manageable label value sets.


Extracted and verified from Prometheus documentation -- Metric and Label Naming Best Practices, Cardinality Management, and Anti-Patterns for Metric Design sections.

Question 4

What is considered the best practice when working with alerting notifications?



Answer : B

The Prometheus alerting philosophy emphasizes signal over noise --- meaning alerts should focus only on actionable and user-impacting issues. The best practice is to alert on symptoms that indicate potential or actual user-visible problems, not on every internal metric anomaly.

This approach reduces alert fatigue, avoids desensitizing operators, and ensures high-priority alerts get the attention they deserve. For example, alerting on ''service unavailable'' or ''latency exceeding SLO'' is more effective than alerting on ''CPU above 80%'' or ''disk usage increasing,'' which may not directly affect users.

Option B correctly reflects this principle: keep alerts meaningful, few, and symptom-based. The other options contradict core best practices by promoting excessive or equal-weight alerting, which can overwhelm operations teams.


Verified from Prometheus documentation -- Alerting Best Practices, Alertmanager Design Philosophy, and Prometheus Monitoring and Reliability Engineering Principles.

Question 5

How can you use Prometheus Node Exporter?



Answer : C

The Prometheus Node Exporter is a core system-level exporter that exposes hardware and operating system metrics from *nix-based hosts. It collects metrics such as CPU usage, memory, disk I/O, filesystem space, network statistics, and load averages.

It runs as a lightweight daemon on each host and exposes metrics via an HTTP endpoint (default: :9100/metrics), which Prometheus scrapes periodically.

Key clarification:

It does not instrument applications (A).

It does not collect metrics directly from application HTTP endpoints (B).

It is unrelated to HTTP probing tasks --- those are handled by the Blackbox Exporter (D).

Thus, the correct use of the Node Exporter is to collect and expose hardware and OS-level metrics for Prometheus monitoring.


Extracted and verified from Prometheus documentation -- Node Exporter Overview, Host-Level Monitoring, and Exporter Usage Best Practices sections.

Question 6

Which exporter would be best suited for basic HTTP probing?



Answer : B

The Blackbox Exporter is the Prometheus component designed specifically for probing endpoints over various network protocols, including HTTP, HTTPS, TCP, ICMP, and DNS. It acts as a generic probe service, allowing Prometheus to test endpoints' availability, latency, and correctness without requiring instrumentation in the target application itself.

For basic HTTP probing, the Blackbox Exporter performs HTTP GET or POST requests to defined URLs and exposes metrics like probe success, latency, response code, and SSL certificate validity. This makes it ideal for uptime and availability monitoring.

By contrast, the JMX exporter is used for collecting metrics from Java applications, the Apache exporter for Apache HTTP Server metrics, and the SNMP exporter for network devices. Thus, only the Blackbox Exporter serves the purpose of HTTP probing.


Verified from Prometheus documentation -- Blackbox Exporter Overview and Exporter Usage Guidelines.

Question 7

What's "wrong" with the myapp_filG_uploads_total{userid=,,5123",status="failed"} metric?



Answer : A

In Prometheus best practices, high-cardinality labels---especially those containing unique or user-specific identifiers---should be avoided. The metric myapp_filG_uploads_total{userid='5123',status='failed'} exposes the userid as a label, which is problematic. Each distinct value of a label generates a new time series in Prometheus. If there are thousands or millions of unique users, this would exponentially increase the number of time series, leading to cardinality explosion, degraded performance, and high memory usage.

The _total suffix is actually correct and required for counters, as per the Prometheus naming convention. The use of underscores in metric names is also correct, as Prometheus does not support dashes in metric identifiers. The status label, however, is perfectly valid because it typically has a low number of possible values (e.g., ''success'', ''failed'').


Verified from Prometheus official documentation sections Instrumentation -- Metric and Label Naming Best Practices and Writing Exporters.

Page:    1 / 14   
Total 60 questions