Skip to main content

Lava Provider Monitor

Lava Provider Monitor is a tool that sends Discord alerts when your Lava provider is frozen or jailed.

Features

  • Monitors the status of your Lava provider every 10 minutes
  • Sends alerts to a Discord channel when your provider is frozen or jailed
  • Supports monitoring multiple chains

Prerequisites

  1. Go 1.20 or higher installed
  2. A Discord channel with webhook enabled
  3. A working Lava gRPC endpoint

Installation

Clone the repository and build the tool:

cd $HOME
git clone https://github.com/silentnoname/lavaprovider-monitor
cd lavaprovider-monitor
go build -o lavaprovider-monitor ./cmd

Configuration

Copy the example configuration files:

cp config.toml.example config.toml
cp alert.toml.example alert.toml

Edit alert.toml:

  • webhook: Discord webhook URL
  • alertuserid: Discord user ID for mentions
  • alertroleid: Discord role ID for mentions

Edit config.toml:

  • lavagrpc: Working Lava gRPC endpoint (e.g., ip:9090)
  • chainid: Lava chain ID (e.g., lava-testnet-2)
  • lavaprovideraddress: The Lava provider address to monitor
  • chains: List of chains to monitor (e.g., ["LAV1", "EVMOST", "EVMOS", "AXELAR", "AXELART"])

Running as a Service

Create a systemd service file:

sudo tee /etc/systemd/system/lavaprovider-monitor.service > /dev/null << EOF
[Unit]
Description=lavaprovider-monitor
After=network-online.target

[Service]
User=$USER
WorkingDirectory=$HOME/lavaprovider-monitor
ExecStart=$HOME/lavaprovider-monitor/lavaprovider-monitor
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Start the service:

sudo systemctl enable lavaprovider-monitor
sudo systemctl daemon-reload
sudo systemctl start lavaprovider-monitor

Check logs:

sudo journalctl -fu lavaprovider-monitor -o cat

Alerts

If your provider is frozen, you will receive an alert in your configured Discord channel.

For more information and the latest updates, visit the Lava Provider Monitor GitHub repository.