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.