Skip to content
CNPEObservability and OperationsSingle nodeHard

Logging: collect one namespace's pod logs with an OpenTelemetry DaemonSet

Scenario cnpe-obs-003 · about 18 minutes · 9 points · 6 grader checks

Ship only the shop namespace's container logs: run the OpenTelemetry Collector as a DaemonSet with the filelog receiver on the node's pod log files and print the records with the debug exporter.

  • opentelemetry
  • logging
  • filelog
  • daemonset
  • hostpath
  • observability

What you will practise

  • Run a node-level log agent as a DaemonSet with a read-only hostPath
  • Select pod log files by namespace with the filelog receiver
  • Parse container runtime log lines and verify the output

Start this lab

With the CLI installed and signed in, this command provisions a single node cluster on your Mac, applies the scenario setup and prints the task below.

goldenkube start cnpe-obs-003

Task

The task text exactly as the CLI shows it. Solve it on the cluster, then run goldenkube submit.

The Deployment "logger" in namespace "shop" writes lines containing GK-SHOP-LOG; the Deployment "noise" in namespace "other" writes lines containing GK-OTHER-LOG. 1. In namespace "observability" create a ConfigMap "otel-logs" with a Collector configuration (key "config.yaml") that reads the container log files of pods in namespace "shop" only (filelog receiver, include /var/log/pods/shop_*/*/*.log, start at the beginning), parses them with the container operator and exports them with the debug exporter at verbosity detailed in a "logs" pipeline. 2. Run it as the DaemonSet "otel-logs" in "observability" with the image docker.io/otel/opentelemetry-collector-k8s:0.164.0, mounting the node's /var/log/pods read-only, on every node of the cluster. 3. The Collector output must contain the shop log lines and no line of namespace "other".

Requirements and details

Certification
CNPE · Certified Cloud Native Platform Engineer
Domain
Observability and Operations
Difficulty
Hard
Cluster topology
Single node
Cluster features
None beyond the base cluster
Recommended time
18 minutes
Points
9
Grader checks
6
Kubernetes version
1.35
Minimum CLI version
0.1.0
Scenario version
1
Published

Grading runs locally: 6 state checks read your cluster when you submit; the scenario passes when every check passes. Hints, the reference solution and the check definitions are available only inside the CLI, not on this page.

CNPEObservability and OperationsMedium

Monitoring and alerting: ServiceMonitor, alert and recording rule

Get the shop API into the platform Prometheus: scrape it with a ServiceMonitor, alert on its 5xx ratio and precompute its request rate with a recording rule.

Single node · ~18 min · 10 points

  • prometheus
  • servicemonitor
  • prometheusrule
  • alerting
  • recording-rules
  • observability

goldenkube start cnpe-obs-001

CNPEObservability and OperationsMedium

Tracing: add an OTLP traces pipeline to the OpenTelemetry Collector

The platform OpenTelemetry Collector only handles metrics. Give it an OTLP traces pipeline with the right processors, expose it, and prove it with generated spans.

Single node · ~18 min · 9 points

  • opentelemetry
  • otel-collector
  • tracing
  • otlp
  • telemetrygen
  • observability

goldenkube start cnpe-obs-002

CNPEObservability and OperationsMedium

Incident response: roll back a bad release and fix an OOM-killed workload

Two workloads in namespace checkout are degraded: diagnose a failed rollout and an OOM-killed container from events and status, remediate both in place and record the findings in an incident ConfigMap.

Single node · ~14 min · 10 points

  • incident-response
  • rollout
  • rollback
  • oomkilled
  • troubleshooting
  • observability

goldenkube start cnpe-obs-004

Independent community project, not affiliated with or endorsed by CNCF or The Linux Foundation. Lab results are practice feedback, not an exam score.