Skip to content

Observability Fundamentals: Traces, Metrics, Logs, and Events: CNPA practice questions

Observability is the ability to understand a system from the outside by asking questions about it, including questions nobody anticipated. The OpenTelemetry primer frames it around unknown unknowns and the question of why something is happening.

By Ibrahim Yesilay · Published · Updated

Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.

What Observability Fundamentals: Traces, Metrics, Logs, and Events covers in CNPA

Observability is the ability to understand a system from the outside by asking questions about it, including questions nobody anticipated. The OpenTelemetry primer frames it around unknown unknowns and the question of why something is happening. A system counts as observable when its code is instrumented well enough that engineers do not need to add more instrumentation to troubleshoot an issue. For a platform team, observability is both a capability it offers to every service and the way it watches the platform itself.

The signals answer different questions. Metrics are aggregations of numeric data over time, such as error rate, CPU utilization or request rate; they are cheap to store and suit dashboards, alerts and objectives. OpenTelemetry's metric instruments include counters that only accumulate, up-down counters that can also decrease, gauges for a current value and histograms for distributions such as request latency. Logs are timestamped messages emitted by services or components, and unlike traces they are not necessarily tied to a particular request. Traces follow one request through a distributed system. A trace is made of spans, each representing a unit of work with a start and end time; the root span has no parent, child spans share its trace ID, and the span context with the trace and span IDs is propagated between services, by default using the W3C TraceContext format. OpenTelemetry also supports baggage for passing key-value context along a request, while events, a specific type of log, and profiles are still listed as in development.

Kubernetes adds its own signals. Events are API objects with high-level information about what is happening in the cluster, such as scheduling failures or image pull errors, and kubectl describe shows the related ones at the end of its output. Container output written to stdout and stderr can be read with kubectl logs, but the logging documentation says logs need storage and a lifecycle independent of nodes, Pods and containers, which is why clusters run node-level logging agents or sidecars that ship them to a backend. Kubernetes components also emit their own metrics in Prometheus format.

OpenTelemetry is the framework for generating, collecting and exporting this telemetry in a vendor- and tool-agnostic way. It is explicitly not an observability backend: storage and visualization are left to tools such as Prometheus, Jaeger or commercial products. The OpenTelemetry Collector receives, processes and exports telemetry through pipelines of receivers, processors and exporters, so a platform can collect once and route data to whichever backend it chooses.

Service level indicators and objectives tie the signals to users. An SLI measures behavior from the user's point of view, such as page load time, and an SLO attaches it to business value as a target.

Misconceptions include treating observability as watching a fixed list of known failure modes, expecting logs alone to explain latency across many services, and assuming OpenTelemetry stores data. At associate level, expect questions that match a problem to the right signal, explain what a span or trace ID is, and identify the role of the Collector.

Key points

  • Metrics aggregate numbers over time, logs are timestamped messages, traces follow a request through spans.
  • Span context carries trace and span IDs between services, by default in W3C TraceContext format.
  • OpenTelemetry generates, collects and exports telemetry but is not a storage backend.
  • Kubernetes events give high-level cluster information; container logs need cluster-level storage.

Three sample questions

9 CNPA questions on Observability Fundamentals: Traces, Metrics, Logs, and Events, 9 with explanations. How practice works

Question 1

In an OpenTelemetry trace, how can you tell which span is the root span?
  1. A.It has no parent span ID.
  2. B.It has a different trace ID from the other spans.
  3. C.It is always the span with the longest duration.
  4. D.It is the only span that carries attributes.

Correct answer: A

The OpenTelemetry traces page shows that all spans of a trace share the same trace_id, child spans carry the parent_id of the span that caused them, and the root span, which marks the beginning and end of the whole operation, has an empty (null) parent_id. Why the other options are wrong. "It has a different trace ID from the other spans.": All spans in one trace share the same trace ID, including the root span. "It is always the span with the longest duration.": Duration is not how a root span is identified; the missing parent ID is. "It is the only span that carries attributes.": Any span can carry attributes such as http.route or server.address.

Sources: CNCF CNPA curriculum (CNPA_Curriculum.pdf), OpenTelemetry: Traces, OpenTelemetry: Observability primer

Question 2

A platform team wants to alert when a service's error rate over the last five minutes rises above a threshold. Which signal fits this best, as the OpenTelemetry observability primer describes the signals?
  1. A.Logs
  2. B.Traces
  3. C.Baggage
  4. D.Metrics

Correct answer: D

The OpenTelemetry primer describes metrics as aggregations over a period of time of numeric data about infrastructure or applications, with system error rate and request rate as examples, which is what an error-rate alert evaluates. Why the other options are wrong. "Logs": A log is a timestamped message from a component; it is not an aggregated numeric series by itself. "Traces": A trace records the path of individual requests; it is not an aggregate over time. "Baggage": Baggage is contextual information passed between signals, not a measurement.

Sources: CNCF CNPA curriculum (CNPA_Curriculum.pdf), OpenTelemetry: Observability primer, OpenTelemetry: Signals

Question 3

Each service currently exports telemetry directly to a vendor backend. Why does the OpenTelemetry documentation generally recommend running a Collector alongside the services?
  1. A.Services offload data quickly, and the Collector handles retries, batching, encryption and filtering.
  2. B.The Collector only works with traces, so metrics and logs still need a separate agent each.
  3. C.Without a Collector, the OpenTelemetry SDKs are unable to export any telemetry data at all.
  4. D.The Collector stores all telemetry permanently, so that no separate observability backend is needed any more.

Correct answer: A

The Collector documentation says that sending directly to a backend is fine to get started, but in general recommends a collector alongside your service, because it lets the service offload data quickly while the collector takes care of retries, batching, encryption or sensitive data filtering, vendor-agnostically. Why the other options are wrong. "The Collector only works with traces, so metrics and ...": The Collector is a single codebase that supports traces, metrics and logs. "Without a Collector, the OpenTelemetry SDKs are unable to ...": The same page says SDKs have exporters for popular backends and OTLP and can send directly. "The Collector stores all telemetry permanently, so that no ...": The Collector receives, processes and exports telemetry to backends; it is not a long-term store.

Sources: CNCF CNPA curriculum (CNPA_Curriculum.pdf), OpenTelemetry: Collector

Practice this topic

Focus mode keeps every question on Observability Fundamentals: Traces, Metrics, Logs, and Events until you leave it. 10 free guest answers, then a free account; no credit card.

Or open CNPA practice across all topics.

Sources

The explanation above was checked against these official documents.