📘 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>:9090Access Alertmanager:
http://<your-server-ip>:9093Access Grafana:
http://<your-server-ip>:3000Verify that your Polkadot node metrics (
:9615) and alerts are visible
Last updated