Shaurya Chopra
  • Introduction
  • Story Testnet (Odyssey)
    • Snapshot
    • Live Peers
    • Endpoints (Odyssey)
    • Auto Installation
    • Manual Installation (Cosmovisor)
    • Story Dashboard
    • Telegram Bot
  • Zero Gravity (0G)
    • Endpoints, Peer, Explorer
    • 0g Validator Snapshot
    • Storage Node Snapshot (Turbo)
    • 0g Validator Node Setup
    • 0g Storage Node Setup
    • 0g DA Node Setup
    • 0g Storage KV Setup
  • Pell
    • Endpoints, Peer, Explorer
    • Pell Snapshot
    • Pell Validator Node Setup
Powered by GitBook
On this page
  • Grafana Dashboard by shachopra
  • https://story-dashboard.shachopra.com/d/be0knjlubeakgd/story-dashboard
  • Setting Up Grafana Dashboard for Node Monitoring
  1. Story Testnet (Odyssey)

Story Dashboard

Grafana Dashboard for Story node (Odyssey) monitoring

PreviousManual Installation (Cosmovisor)NextTelegram Bot

Last updated 4 months ago

Grafana Dashboard by shachopra

Grafana Dashboard Reference JSON file:

Setting Up Grafana Dashboard for Node Monitoring

1. Install docker

  • Official website:

2. Install Grafana

  • Create Docker Compose Configuration for Grafana: docker-compose-grafana.yml

cd $HOME
mkdir docker
mkdir docker/grafana

cd $HOME/docker/grafana
nano docker-compose-grafana.yml
services:
  grafana:
    image: grafana/grafana
    container_name: grafana
    restart: unless-stopped
    ports:
     - '3000:3000'
    volumes:
      - grafana-storage:/var/lib/grafana
volumes:
  grafana-storage: {}
docker-compose -f docker-compose-grafana.yml up -d
  • This Docker Compose setup deploys Grafana in a Docker container

3. Install Prometheus

  • Create Docker Compose Configuration for Prometheus: docker-compose-prometheus.yml

cd $HOME
mkdir docker/prometheus

cd $HOME/docker/prometheus
nano docker-compose-prometheus.yml
services:
  prometheus:
    image: prom/prometheus
    container_name: prom
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
    ports:
      - 9092:9090
    restart: unless-stopped
    volumes:
      - ./prometheus:/etc/prometheus
      - prom_data:/prometheus
volumes:
  prom_data:
  • Create Prometheus Configuration File: prometheus.yml

cd $HOME
mkdir docker/prometheus/prometheus
cd $HOME/docker/prometheus/prometheus
nano prometheus.yml
global:
  scrape_interval: 15s
  scrape_timeout: 10s
  evaluation_interval: 15s
alerting:
  alertmanagers:
    - static_configs:
      - targets: []
      scheme: http
      timeout: 10s
      api_version: v1
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["your-ip:9092"]
  - job_name: "story"
    static_configs:
      - targets: ["<your-ip>:47660"]
  - job_name: "exporter"
    static_configs:
      - targets: ["<your-ip>:9100"]
  - job_name: "geth"
    metrics_path: /debug/metrics/prometheus
    static_configs:
      - targets: ["<your-ip>:6060"]
cd $HOME/docker/prometheus
docker-compose -f docker-compose-prometheus.yml up -d
  • This Docker Compose setup deploys Prometheus in a Docker container

4. Configure story config.toml & modify Geth Service file

nano $HOME/.story/story/config/config.toml
#make sure prometheus is set to true
prometheus = true
prometheus_listen_addr = 47660
nano /etc/systemd/system/story-geth.service
[Unit]
Description=Story Geth daemon
After=network-online.target

[Service]
User=$USER
ExecStart=$HOME/go/bin/story-geth --odyssey --syncmode full --http --ws --metrics --metrics.addr 0.0.0.0 --metrics.port 6060
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload

5. Install Node Exporter

  • Download Node Exporter

cd $HOME
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
tar xvf node_exporter-1.8.2.linux-amd64.tar.gz
cd node_exporter-1.8.2.linux-amd64
  • Move the Node Exporter Binary

sudo cp node_exporter /usr/local/bin
  • Create a Node Exporter User

sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
  • Configure the Service

sudo nano /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
  • Start the service

sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
sudo systemctl status node_exporter.service

6. Configuring and Using Grafana

  • Choose Prometheus as data source type

  • Then click Save & test.

  • Then go to Dashboards & click on new dashboard.

  • Then click on Import dashboard.

Access Grafana by navigating to

If prometheus is successfully setup, then you can access

If node exporter is successfully setup, then you can access

Configure Grafana through its web interface () to connect to your data sources & create dashboards.

Go to and click on data sources in Connections menu.

Add Prometheus server URL:

Upload dashboard JSON file:

https://story-dashboard.shachopra.com/d/be0knjlubeakgd/story-dashboard
https://raw.githubusercontent.com/shachopra-ai/story-grafana/refs/heads/main/grafana_dashboard.json
https://docs.docker.com/engine/install/ubuntu/
http://your-ip:3000
http://your-ip:909
http://your-ip:9100
http://your-ip:3000
http://your-ip:3000
http://your-ip:9092
Reference JSON file