Introduction To Prometheus

What is Time Series database ?

A time series database is a database optimized for time stamped or time series data. This could be server metrics, application performance monitoring, network data, sensor data, events, clicks, trades in a market, and many other types of analytics data. A time series database is built specifically for handling metrics and events or measurements that are time-stamped.

How Prometheus is good for time series metrics ?

Prometheus fundamentally stores all data as time series: streams of timestamped values belonging to the same metric and the same set of labeled dimensions. Besides stored time series, Prometheus may generate temporary derived time series as the result of queries.

What are components of Prometheus ?

The Prometheus consist of multiple components:

  • Prometheus Server – which scrapes and stores time series data
  • Client Libraries – used for instrumenting application code
  • Push gateway – used for supporting short-lived jobs
  • Exporters – used for services like HAProxy, StatsD, Graphite, etc.
  • Alert Manager – which handle alerts

How Prometheus works?

Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts.