What is Prometheus, and what is its data model? [Basic]
Answer
Prometheus is an open-source monitoring and alerting system built around a time-series data model. Each sample belongs to a metric name plus a set of labels, and PromQL is used to query and aggregate those series.
Technical explanation
Prometheus scrapes metrics over HTTP, stores them in a local TSDB, evaluates rules, and sends alerts to Alertmanager.
The data model is dimensional: labels such as job, instance, namespace, pod, method, and status allow slicing and aggregation.
It is strong for metrics and alerting, but long-term retention and global querying often require systems such as Thanos, Cortex, or Mimir.
Hands-on example
Minimal scrape config:
scrape_configs:
- job_name: 'checkout'
static_configs:
- targets: ['checkout.default.svc:9100']
Then query: up{job='checkout'} and rate(http_requests_total{job='checkout'}[5m]).
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Observability interview questions
- What is observability, and how is it different from traditional monitoring? [Basic]
- What are the three pillars of observability (metrics, logs, traces)? [Basic]
- What is the difference between monitoring and observability in practice? [Basic]
- What are the four golden signals of monitoring? [Basic]
- What is the difference between the USE method and the RED method? [Basic]
- When would you use the USE method versus the RED method? [Basic]
- What is an SLI, an SLO, and an SLA, and how do they relate? [Basic]
- How do you choose good SLIs for a service? [Basic]