Monitoring is done with grafana, prometheus endpoints in different geographical zones and alertmanager for alerting. The public monitor is reachable here:
You can choose between networks, monitoring zones and providers in the dashboard selector or preselect via link parameters, for example:
- All polkadot endpoints from all monitoring zones
- All kusama endpoints from all monitoring zones
- All polkadot endpoints from zone eu-central
There are two prometheus monitoring endpoints active:
- http://mon-us-east.rpc-providers.net/ (Virginia)
- http://mon-eu-central.rpc-providers.net/ (Frankfurt)
At this moment the data is updated every 15 minutes.
A request for an extra endpoint can be done by creating an issue.
If you want to include endpoints in your own prometheus scraper here is an example configuration:
global:
scrape_interval: 10m
evaluation_interval: 10m
scrape_configs:
- job_name: "rpc-mon"
metrics_path: "/"
static_configs:
- targets: ["mon-eu-central.rpc-providers.net:80"]
- targets: ["mon-us-east.rpc-providers.net:80"]
The WSS endpoints are configured in a config.sh. Updates can be requested by creating a pull request or creating an issue.
When an alert is triggered an alert is send to this telegram group:
Alerting parameters will be further defined when more monitoring data is available.
# Install nvm & yarn
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install --lts
npm install -g yarn
# Clone the repo
cd /opt/
git clone git@github.com:rpc-providers/rpc-monitor.git
# Create the output dir
mkdir -p /var/www/prom
# Setup config
cp zone.sh.example zone.sh
# Install api cli
yarn global add @polkadot/api-cli
# add crontab
echo "*/15 * * * * root /opt/rpc-monitor/monitor.sh" | sudo tee -a /etc/crontab