📘 Monitoring Polkadot Nodes with Prometheus and Alertmanager

Requirements

  • A Linux server (Ubuntu/Debian) with a running Polkadot node

  • Open ports: 9100 (node_exporter), 9090 (Prometheus), 9093 (Alertmanager), 9615 (Polkadot metrics endpoint)

  • Root or sudo access

  • A Telegram bot token from telepush.dev


Automatic Installation

source <(curl -s https://raw.githubusercontent.com/validexisinfra/polkadot/main/install-alertmanager.sh)

Manual Installation

Install Node Exporter

Node Exporter collects server-level metrics such as CPU, memory, disk, and more.

cd $HOME
sudo wget $(curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest | grep "tag_name" | awk '{print "https://github.com/prometheus/node_exporter/releases/download/" substr($2, 2, length($2)-3) "/node_exporter-" substr($2, 3, length($2)-4) ".linux-amd64.tar.gz"}')
sudo tar xvf node_exporter-*.tar.gz
sudo cp ./node_exporter-*.linux-amd64/node_exporter /usr/local/bin/
sudo useradd --no-create-home --shell /usr/sbin/nologin node_exporter
sudo rm -rf ./node_exporter*

Create a dedicated system user and service:

Install Prometheus

Download and install

Create a dedicated user and set ownership

Prometheus Configuration

Create Prometheus systemd service

Create Alert Rules

Start and Enable the Prometheus Service

Install Alertmanager

Download and install

Configuration

Example configuration (replace YOUR_TOKEN):

Create Alertmanager service

Grafana

Install Required Dependencies

Add the Grafana Repository

Create a User for Grafana

Install Grafana Enterprise

Start and Enable the Grafana Server

Importing Dashboards into Grafana

To set up dashboards in Grafana, you need the JSON files of the dashboards. These files can either be:

  • Downloaded from a public source like Grafana's Dashboard Library

  • Created manually by you directly in Grafana

If you're using Grafana's library, search for the dashboard by its ID and download the JSON file. Once downloaded, you can import the JSON file into Grafana via:

Grafana UI → Dashboards → Import → Upload JSON file

✅ You can also download our predefined Polkadot node dashboard here: 👉 Polkadot_Dashboard.json

Final Checks

  • Access Prometheus: http://<your-server-ip>:9090

  • Access Alertmanager: http://<your-server-ip>:9093

  • Access Grafana: http://<your-server-ip>:3000

  • Verify that your Polkadot node metrics (:9615) and alerts are visible

Last updated