Operations 11 min read

Why Choose Prometheus Over Zabbix? A Step‑by‑Step Installation and Monitoring Guide

This article compares Prometheus and Zabbix, explains how to install and configure Prometheus, set up exporters like node_exporter, integrate with Grafana, and visualize system metrics, providing practical commands and configuration examples for effective monitoring.

Efficient Ops
Efficient Ops
Efficient Ops
Why Choose Prometheus Over Zabbix? A Step‑by‑Step Installation and Monitoring Guide

1. Prometheus vs Zabbix

Like Zabbix, Prometheus is a popular open‑source monitoring framework, but it is more modular and flexible. Its server and client are ready‑to‑run out of the box, whereas Zabbix requires a heavyweight installation.

Zabbix agents pull data via scripts, while Prometheus uses language‑specific SDKs or exporters that push metrics over HTTP (pull model). Prometheus stores data locally on the client side, and the server scrapes it periodically. The UI of Prometheus is minimalistic; pairing it with Grafana provides a richer experience.

2. Install Prometheus

Prometheus can be installed by downloading and extracting a tarball; no additional installer is needed.

$ wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz
$ tar xvfz prometheus-2.7.2.linux-amd64.tar.gz

Enter the extracted directory and run the server:

$ cd prometheus-2.7.2.linux-amd64
$ ./prometheus --version   # check version
$ ./prometheus --config.file=prometheus.yml   # start server

The prometheus.yml file is the main configuration file.

3. Configure Prometheus

The configuration file is concise; an example is shown below.

$ cat prometheus.yml
# my global config
global:
  scrape_interval: 15s
  evaluation_interval: 15s

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rule files
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# Scrape configurations
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

The file consists of four main sections:

global : defines scrape_interval and evaluation_interval.

alerting : configures Alertmanager (not installed in this guide).

rule_files : lists alert rule files.

scrape_configs : specifies targets to scrape; each job_name represents a monitoring target.

4. Prometheus UI

After starting the server, open http://<IP>:9090 in a browser to view the Prometheus UI.

Prometheus UI
Prometheus UI

The interface shows tabs such as Alerts, Graph, and Status. The Graph tab can display metrics like promhttp_metric_handler_requests_total.

5. Add Machine‑Status Monitoring

Install the node_exporter to monitor CPU, disk, network, etc.

// Download latest release
$ wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
// Extract
$ tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
// Enter directory
$ cd node_exporter-0.17.0.linux-amd64
// Run exporter
$ ./node_exporter

The exporter listens on port 9100. Add it as a target in prometheus.yml:

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'server'
    static_configs:
      - targets: ['localhost:9100']

Restart Prometheus and verify the new target shows status “UP”.

Prometheus Targets
Prometheus Targets

6. Install Grafana

Grafana provides a powerful visualization layer for Prometheus data.

$ wget https://dl.grafana.com/oss/release/grafana-6.0.0.linux-amd64.tar.gz
$ tar -zxvf grafana-6.0.0.linux-amd64.tar.gz

Run Grafana:

$ cd grafana-6.0.0
$ ./bin/grafana-server web

Grafana runs on port 3000 by default; the port can be changed via custom.ini.

7. Display Monitoring Data in Grafana

Access http://<IP>:3000 (default credentials admin/admin). Add a Prometheus data source pointing to http://localhost:9090. Import ready‑made dashboards (e.g., “Prometheus 2.0 Stats” or node_exporter dashboards) to visualize system metrics.

Grafana Dashboard
Grafana Dashboard

Plugins can be installed with the Grafana CLI:

// inside Grafana/bin
./grafana-cli plugins install [plugin_name]
// restart Grafana
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

PrometheusInstallationGrafanaExporter
Efficient Ops
Written by

Efficient Ops

This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.