Skip to content
aiarabicdev

Search

Search every tool...

Self hosted apps
FreeApache-2.0GoSelf hostable

Prometheus

A time series database that scrapes and stores metrics from your services

Prometheus pulls numeric metrics from your hosts and applications on a schedule, stores them as time series, and lets you query them with PromQL. It is a graduated CNCF project under Apache-2.0 and the usual metrics backend behind Grafana.

Best for when

  • you want a standard metrics backend for Grafana
  • you want alerts based on trends, not only up or down
  • you want to learn the monitoring stack used in most production systems

Watch out for

  • it is metrics only, so logs and dashboards are separate projects
  • PromQL takes practice before alerts and graphs say what you mean
  • it has no built in authentication, so keep it on a private network

Metrics, pulled on a schedule

Each service exposes a plain text page of numbers, such as requests served or memory used, and Prometheus fetches that page every few seconds. Exporters fill the gaps: node exporter for Linux host stats, cAdvisor for containers, and many more for databases, routers and devices.

Alert rules are written in PromQL and handed to Alertmanager, a separate component, which groups them and sends notifications. It suits anyone who wants to understand how their machines behave over time, and it is the most common monitoring skill to learn for production work in general.

What running it involves

For a home lab it runs comfortably in a few hundred megabytes of RAM. Disk grows with the number of series and the retention period, which defaults to fifteen days. Keeping data for longer means more disk, or a long term storage project such as Thanos or Mimir.

Prometheus has no login of its own by default, so do not expose it. It also only handles metrics: logs need Loki or similar, and graphs need Grafana. Expect to spend time on configuration, because every target is a scrape job you add and maintain.

Last checked: .md