Kubernetes and Cloud Native Associate (KCNA)Cloud Native ObservabilityEasy

A system administrator is investigating intermittent application performance issues in a Kubernetes cluster. They suspect that a specific microservice might be experiencing high memory consumption at certain times, but direct observation of `kubectl top pod` shows only current usage. Which observability tool would best help them analyze historical resource usage trends and identify peak memory consumption periods for this microservice?

  1. AFluentd
  2. BKibana
  3. CJaeger
  4. DPrometheus
Show answer & explanation

Correct answer: D. Prometheus

Prometheus is a time-series database specifically designed for monitoring and alerting. It collects metrics at regular intervals, allowing administrators to query historical data and identify trends in resource consumption like memory usage over time.

Why the other options are wrong

  • A. Fluentd is primarily a log collector and forwarder, not a time-series metric store.
  • B. Kibana is a visualization tool for Elasticsearch, primarily used for log analysis and search, not for direct metric collection.
  • C. Jaeger is a distributed tracing system, used for tracking requests across microservices, not for collecting resource metrics.

Prometheus

An open-source monitoring and alerting toolkit designed for reliability and scalability, especially suited for dynamic cloud-native environments.

  • Collects time-series data via a pull model (scraping HTTP endpoints).
  • Stores data in a local on-disk time series database.
  • Offers a powerful query language, PromQL, for analyzing metrics.
  • Integrates with Alertmanager for alert notification.

Memory trick: Prometheus pulls and plots historical performance.

More Cloud Native Observability questions