NZroot.dev

Robust Monitoring with Prometheus and Grafana

Oct 5, 2024

How to set up a complete monitoring stack using Prometheus for metrics and Grafana for visualization.

Observability is key to running reliable systems. Prometheus has emerged as the standard for metric collection in cloud-native environments.

The Architecture

  1. Exporters: Run on your nodes/apps to expose metrics (e.g., node_exporter).
  2. Prometheus Server: Scrapes targets at intervals and stores data.
  3. Grafana: Connects to Prometheus to visualize the data.

Sample Prometheus Config

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

PromQL Basics

PromQL is the query language used by Prometheus.

  • up: Returns 1 if the target is up.
  • rate(http_requests_total[5m]): Calculates the per-second rate of HTTP requests.

Combine these with Grafana dashboards for powerful insights.