Linux Foundation Prometheus Certified Associate PCA Exam Questions

Page: 1 / 14
Total 60 questions
Question 1

Given the metric prometheus_tsdb_lowest_timestamp_seconds, how do you know in which month the lowest timestamp of your Prometheus TSDB belongs?



Answer : D

The metric prometheus_tsdb_lowest_timestamp_seconds provides the oldest stored sample timestamp in Prometheus's local TSDB (in Unix epoch seconds). To determine the age or approximate date of this timestamp, you compare it with the current time (using time() in PromQL).

The expression:

(time() - prometheus_tsdb_lowest_timestamp_seconds) / 86400

converts the difference between the current time and the oldest timestamp from seconds into days (1 day = 86,400 seconds). This gives the number of days since the earliest sample was stored, allowing you to infer the time range and approximate month manually.

The other options are invalid because PromQL does not support direct date formatting (format_date) or month() extraction functions.


Extracted and verified from Prometheus documentation -- TSDB Internal Metrics, Time Functions in PromQL, and Using time() for Relative Calculations.

Question 2

http_requests_total{verb="POST"} 30

http_requests_total{verb="GET"} 30

What is the issue with the metric family?



Answer : D

Prometheus metric naming best practices require that every metric name include a unit suffix that indicates the measurement type, where applicable. The unit should follow the base name, separated by an underscore, and must use base SI units (for example, _seconds, _bytes, _total, etc.).

In the case of http_requests_total, while the metric correctly includes the _total suffix---indicating it is a counter---it lacks a base unit of measurement (such as time, bytes, or duration). However, for event counters, _total is itself considered the unit, representing ''total occurrences'' of an event. Thus, the naming would be acceptable in strict Prometheus terms, but if this metric were measuring something like duration, size, or latency, then including a specific unit would be mandatory.

However, since the question implies that the missing unit is the issue and not the label schema, the expected answer aligns with ensuring metric names convey measurable units when applicable.


Prometheus documentation -- Metric and Label Naming Conventions, Instrumentation Best Practices, and Metric Type Naming (Counters, Gauges, and Units) sections.

Question 3

How would you correctly name a metric that provides metadata information about the binary?



Answer : A

The Prometheus naming convention for metrics that expose build or version information about an application binary uses the _info suffix. The standard pattern is:

_build_info

This metric typically includes constant labels such as version, revision, branch, and goversion to describe the build environment.

For example:

app_build_info{version='1.2.3', revision='abc123', goversion='go1.22'} 1

This approach follows the official Prometheus instrumentation guidelines, where metrics ending in _info convey metadata or constant characteristics about the running process.

The other options do not conform to the Prometheus best practice of suffix-based semantic naming.


Extracted and verified from Prometheus documentation -- Metric Naming Conventions, Exposing Build Information, and Standard _info Metrics sections.

Question 4

Which of the following signals belongs to symptom-based alerting?



Answer : A

Symptom-based alerting focuses on detecting user-visible or service-impacting issues rather than internal resource states. Metrics like API latency, error rates, and availability directly indicate degraded user experience and are therefore the preferred triggers for alerts.

In contrast, resource-based alerts (like CPU usage or disk space) often represent underlying causes, not symptoms. Alerting on them can produce noise and distract from actual service health problems.

For example, high API latency (http_request_duration_seconds) clearly reflects that users are experiencing delays, which is actionable and business-relevant.

This concept aligns with the RED (Rate, Errors, Duration) and USE (Utilization, Saturation, Errors) monitoring models promoted in Prometheus and SRE best practices.


Verified from Prometheus documentation -- Alerting Best Practices, Symptom vs. Cause Alerting, and RED/USE Monitoring Principles.

Question 5

Which Alertmanager feature allows you to temporarily stop notifications for a specific alert?



Answer : A

The Silence feature in Alertmanager allows operators to mute specific alerts for a defined period. Each silence includes a matcher (labels), a creator, a comment, and an expiration time.

Silencing is useful during maintenance windows or known outages to prevent alert noise. Unlike inhibition, silences are manual and explicit.


Question 6

What does the rate() function in PromQL return?



Answer : B

The rate() function calculates the average per-second rate of increase of a counter over the specified range. It smooths out short-term fluctuations and adjusts for counter resets.

Example:

rate(http_requests_total[5m])

returns the number of requests per second averaged over the last five minutes. This function is frequently used in dashboards and alerting expressions.


Question 7

Which Alertmanager feature prevents duplicate notifications from being sent?



Answer : C

Deduplication in Alertmanager ensures that identical alerts from multiple Prometheus servers or rule evaluations do not trigger duplicate notifications.

Alertmanager compares alerts based on their labels and fingerprints; if an alert with identical labels already exists, it merges or refreshes the existing one instead of creating a new notification.

This mechanism is essential in high-availability setups where multiple Prometheus instances monitor the same targets.


Page:    1 / 14   
Total 60 questions