Prometheus Overview: Features, Architecture, Data Model, and Installation Guide with Grafana Integration
This article introduces Prometheus, covering its architecture, key features, data model, metric types, installation steps, integration with node_exporter and Grafana, and outlines suitable and unsuitable use cases for this open‑source monitoring system.
Prometheus is an open‑source monitoring and alerting system developed by SoundCloud, written in Go, and based on the Google BorgMon design.
Key features include a multi‑dimensional data model, flexible PromQL query language, autonomous server nodes, HTTP pull‑based metric collection, service discovery, and integration with visualization tools such as Grafana.
The ecosystem consists of several components: Prometheus server, client SDKs (Go, Java, Scala, Python, Ruby, etc.), Pushgateway for short‑lived jobs, various exporters for databases, hardware, middleware, an Alertmanager for handling alerts, and auxiliary tools.
Metrics are stored as time‑series identified by a metric name and a set of key‑value labels, e.g. http_requests_total{method="POST",endpoint="/api/tracks"}. Four metric types are supported: Counter, Gauge, Histogram, and Summary, each with specific semantics.
Prometheus excels at numeric time‑series monitoring for servers, hardware, and micro‑service architectures, but it is not suited for use‑cases requiring 100 % accuracy such as real‑time billing.
Installation
Download the latest release from prometheus.io and extract it:
<span>tar xvfz prometheus-*.tar.gz</span></code>
<code><span>cd prometheus-*</span>Similarly, obtain and start node_exporter to expose host metrics:
<span>tar xvfz node_exporter-*.tar.gz</span></code>
<code><span>cd node_exporter-*</span></code>
<code><span>nohup ./node_exporter &</span>Add the exporter as a target in prometheus.yml:
<span>- job_name: 'node'</span></code>
<code><span> static_configs:</span></code>
<code><span> - targets: ['localhost:9100']</span>Start Prometheus with the configuration file:
<span>nohup ./prometheus --config.file=prometheus.yml &</span>Verify the installation by accessing the web UI.
Grafana Integration
Grafana provides ready‑made dashboards for visualizing Prometheus data. Install it:
<span># Download and unpack Grafana</span></code>
<code><span>curl -L -O https://grafanarel.s3.amazonaws.com/builds/grafana-2.5.0.linux-x64.tar.gz</span></code>
<code><span>tar zxf grafana-2.5.0.linux-x64.tar.gz</span></code>
<code><span>cd grafana-2.5.0/</span></code>
<code><span>./bin/grafana-server web</span>Log in with the default credentials (admin/admin) and configure Prometheus as a data source, then create dashboards.
The article concludes with a reminder that the next post will cover using Prometheus to monitor a web project and configuring Alertmanager alerts.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Big Data Technology & Architecture
Wang Zhiwu, a big data expert, dedicated to sharing big data technology.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
