Commit 5ea6bc02 authored by Julius Volz's avatar Julius Volz

Improve wording and structure in overview doc.

parent 0d52004b
...@@ -10,49 +10,62 @@ sort_rank: 1 ...@@ -10,49 +10,62 @@ sort_rank: 1
[Prometheus](https://github.com/prometheus) is an open-source systems [Prometheus](https://github.com/prometheus) is an open-source systems
monitoring and alerting toolkit built at [SoundCloud](http://soundcloud.com). monitoring and alerting toolkit built at [SoundCloud](http://soundcloud.com).
Since its inception in 2012, it has become the standard for instrumenting new Since its inception in 2012, it has become the standard for instrumenting new
services at SoundCloud and has seen growing external usage and contributions. services at SoundCloud and is seeing growing external usage and contributions.
Prometheus's main distinguishing features are:
- a **multi-dimensional** data model (time series identified by metric name and key/value pairs) ### Features
- a [**flexible query language**](/docs/using/querying/basics/)
Prometheus's main features are:
- a multi-dimensional [data model](/docs/concepts/data_model/) (time series identified by metric name and key/value pairs)
- a [flexible query language](/docs/using/querying/basics/)
to leverage this dimensionality to leverage this dimensionality
- no reliance on distributed storage; **single server nodes are autonomous** - no reliance on distributed storage; single server nodes are autonomous
- time series collection happens via a **pull model** over HTTP - time series collection happens via a pull model over HTTP
- **pushing time series** is supported via an intermediary gateway - [pushing time series](/docs/instrumenting/pushing/) is supported via an intermediary gateway
- targets are discovered via **service discovery** or **static configuration** - targets are discovered via service discovery or static configuration
- multiple modes of **graphing and dashboarding support** - multiple modes of graphing and dashboarding support
### Components
The Prometheus ecosystem consists of multiple components, many of which are The Prometheus ecosystem consists of multiple components, many of which are
optional: optional:
- the main [Prometheus server](https://github.com/prometheus/prometheus) which scrapes and stores time series data - the main [Prometheus server](https://github.com/prometheus/prometheus) which scrapes and stores time series data
- client libraries for instrumenting application code - [client libraries](/docs/instrumenting/clientlibs/) for instrumenting application code
- a [push gateway](https://github.com/prometheus/pushgateway) for supporting short-lived jobs - a [push gateway](https://github.com/prometheus/pushgateway) for supporting short-lived jobs
- a [GUI-based dashboard builder](PromDash) based on Rails/SQL - a [GUI-based dashboard builder](/docs/visualization/promdash/) based on Rails/SQL
- special-purpose exporters (for HAProxy, StatsD, Ganglia, etc.) - special-purpose [exporters](/docs/instrumenting/exporters/) (for HAProxy, StatsD, Ganglia, etc.)
- an (experimental) [alert manager](https://github.com/prometheus/alertmanager) - an (experimental) [alert manager](https://github.com/prometheus/alertmanager)
- a [command-line querying tool](https://github.com/prometheus/prometheus_cli) - a [command-line querying tool](https://github.com/prometheus/prometheus_cli)
- various support tools - various support tools
### Architecture
This diagram illustrates the overall architecture of Prometheus and some of This diagram illustrates the overall architecture of Prometheus and some of
its ecosystem components: its ecosystem components:
![Prometheus architecture](/assets/architecture.svg) ![Prometheus architecture](/assets/architecture.svg)
Prometheus servers scrape metrics from instrumented jobs, either directly or
via an intermediary push gateway for short-lived jobs. They store all scraped
samples locally and run rules over this data to either record new timeseries
from existing data or generate alerts. PromDash or other API consumers can be
used to visualize the collected data.
## When does it fit? ## When does it fit?
Prometheus works well both for machine-based monitoring as well as monitoring Prometheus works well for recording any purely numeric time series. It fits
of highly dynamic service-oriented architectures. In a world of microservices, both machine-centric monitoring as well as monitoring of highly dynamic
its support for multi-dimensional data collection and querying is a particular service-oriented architectures. In a world of microservices, its support for
strength. multi-dimensional data collection and querying is a particular strength.
Prometheus is designed for reliability, to be the system you go to Prometheus is designed for reliability, to be the system you go to
during an outage to allow you to quickly diagnose problems. Each Prometheus during an outage to allow you to quickly diagnose problems. Each Prometheus
server is standalone, not depending on network storage or other remote services. server is standalone, not depending on network storage or other remote services.
You can rely it when other parts of your infrastructure are broken, and You can rely on it when other parts of your infrastructure are broken, and
you don't have to set up complex infrastructure to use it. you don't have to set up complex infrastructure to use it.
## When doesn't it fit? ## When does it not fit?
Prometheus values reliability. You can always view what statistics are Prometheus values reliability. You can always view what statistics are
available about your system, even under failure conditions. If you need 100% available about your system, even under failure conditions. If you need 100%
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment