LLMpediaThe first transparent, open encyclopedia generated by LLMs

Prometheus (software)

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Apache Hadoop Hop 3
Expansion Funnel Raw 67 → Dedup 9 → NER 7 → Enqueued 6
1. Extracted67
2. After dedup9 (None)
3. After NER7 (None)
Rejected: 2 (not NE: 2)
4. Enqueued6 (None)
Similarity rejected: 2
Prometheus (software)
Prometheus (software)
NamePrometheus
DeveloperCloud Native Computing Foundation
Released2012
Programming languageGo
Operating systemCross-platform
GenreMonitoring, Time series database
LicenseApache License 2.0

Prometheus (software) is an open-source systems monitoring and alerting toolkit originally developed at SoundCloud and later adopted by the Cloud Native Computing Foundation. It is written in Go and designed for reliability in dynamic environments such as those orchestrated by Kubernetes, Mesos, and Docker, emphasizing a multidimensional data model, a custom query language, and a pull-based metrics collection model.

History

Prometheus began as an internal project at SoundCloud in 2012, influenced by earlier monitoring systems like Ganglia, StatsD, and OpenTSDB. Development accelerated as contributors from Google-influenced projects and the Cloud Native Computing Foundation community joined, leading to its graduation as a CNCF project alongside projects such as Kubernetes, Envoy (software), and Helm (software). Major milestones include adoption by companies such as Spotify, DigitalOcean, and Red Hat, integration with orchestration platforms like Kubernetes and Mesos (software), and the addition of features driven by incidents discussed at conferences including KubeCon and CloudNativeCon. The project has been shaped by contributors associated with organizations including SoundCloud, CoreOS, Grafana Labs, and Google.

Architecture

Prometheus uses a modular architecture featuring a server component, exporters, push gateways, and client libraries. The server scrapes targets using HTTP and integrates with service discovery systems such as Consul, Kubernetes, Eureka (software), and AWS (Amazon Web Services) APIs. Exporters expose metrics from systems like MySQL, PostgreSQL, HAProxy, NGINX, Redis, and Linux via the text exposition format, while client libraries for languages such as Go (programming language), Java (programming language), Python (programming language), and Ruby (programming language) instrument applications. The architecture supports federation, remote write/remote read, and sidecar patterns used in deployments with Istio, Linkerd, and Envoy (software).

Data Model and Storage

Prometheus stores metrics as time series identified by a metric name and key-value pairs called labels, following a multidimensional model inspired by projects like InfluxDB and OpenTSDB. The on-disk storage is a custom time-series database optimized for append-only workloads, using a retention policy configurable per-instance and supporting long-term storage via remote write adapters to systems such as Thanos, Cortex (software), Bigtable, and VictoriaMetrics. The storage engine implements compression, chunking, and index structures to optimize query performance for workloads typical of large-scale deployments by Netflix, Twitter, and Uber Technologies.

Querying and Alerting

Prometheus provides PromQL, a functional query language for selecting and aggregating time series, used by visualization tools like Grafana and dashboards in projects such as Kiali and Loki. Alerting is managed by the separate Alertmanager component, which deduplicates, groups, and routes alerts to receivers including PagerDuty, Slack, Email, OpsGenie, and webhooks used by PagerDuty (service). The alert pipeline supports silencing, inhibition, and notification templates, and integrates with incident management workflows exemplified by platforms like Jira, ServiceNow, and VictorOps.

Integrations and Ecosystem

The Prometheus ecosystem includes exporters, client libraries, exporters for infrastructure components, and tooling for long-term storage and visualization. Popular exporters include node_exporter for Linux system metrics, postgres_exporter for PostgreSQL, and blackbox_exporter for probing endpoints; these are used alongside visualization stacks involving Grafana, dashboard repositories maintained by Grafana Labs, and packaging for orchestration via Helm (software) charts. Long-term storage and HA patterns are enabled by projects such as Thanos, Cortex (software), and VictoriaMetrics, while service discovery integrates with tools like Consul, cloud providers including Amazon Web Services, Google Cloud Platform, and Microsoft Azure, and configuration management systems like Ansible, Terraform, and SaltStack.

Security and Operations

Operationally, Prometheus is deployed in environments managed by Kubernetes, OpenShift, and Docker Swarm, with observability workflows involving Fluentd and Logstash for logs and Jaeger (software) for tracing. Security considerations include TLS for scrape targets, authentication and authorization using reverse proxies like NGINX and Envoy (software), and secrets management with HashiCorp Vault and cloud IAM systems from Amazon Web Services, Google Cloud Platform, and Microsoft Azure. Best practices for reliability and scalability draw on lessons from incidents discussed at KubeCon and reports by organizations such as Red Hat and CNCF, recommending federation, sharding via remote write, and integration with high-availability tooling like Prometheus Operator and Thanos.

Category:Free software Category:Monitoring software