A Go-based exporter that collects and exposes metrics for Hyperliquid node operators. This exporter monitors various aspects of a Hyperliquid node, including block metrics, proposer statistics, validator status and jailings, stake distribution, software version information, and EVM metrics
A sample dashboard using these metrics can be found here: ValiDAO Hyperliquid Testnet Monitor
You can import the sample grafana.json file provided in this repository to create your own Grafana dashboard using these metrics.
If you don't have a grafana+prom monitoring stack, you can find an easy-to-use one with a pre-loaded dashboard utilizing these metrics here: validaoxyz/purrmetheus
git clone https://github.com/validaoxyz/hyperliquid-exporter.git $HOME/hyperliquid-exporter
cd $HOME/hyperliquid-exporter
make buildThe compiled binary will be placed in the bin/ directory.
By default, the exporter:
- Exposes Prometheus metrics on
:8086/metrics - Looks for log files in
$HOME/hland binaries in$HOME/ - Uses
infolog level - Disables OTLP export
./bin/hyperliquid-exporter start--enable-prom: Enable Prometheus endpoint (default: true)--disable-prom: Disable Prometheus endpoint (default: false)
--enable-otlp: Enable OTLP export (default: false)--otlp-endpoint: OTLP endpoint (default: https://otel.hyperliquid.validao.xyz)--otlp-insecure: Use insecure connection for OTLP (default: false)--alias: Node alias (required when OTLP is enabled)--chain: Chain type ('mainnet' or 'testnet', required when OTLP is enabled)
--node-home: Node home directory (default: $HOME/hl)--node-binary: Node binary path (default: $HOME/hl-node)
--log-level: Log level (debug, info, warn, error) (default: info)
A sample dashboard that can be used as a base for tracking local metrics can found here: ValiDAO Hyperliquid Testnet Monitor
Nodes that push metrics to otel.hyperliquid.validao.xyz will have their metrics shown here: ValiDAO Hylperliquid OTEL dashboard
You can import the grafana/grafana.json file provided in this repository to create your own Grafana dashboard.
If you don't have a Grafana + Prometheus monitoring stack, you can find an easy-to-use solution with a pre-loaded dashboard here: validaoxyz/purrmetheus
For detailed information about available metrics and sample queries, see the metrics documentation.
Use Docker to run the hl_exporter in a container :
-
Edit the
docker-compose.ymlto change the local hyperliquid home folder : Example : Replace- <HYPERLIQUID LOCAL HOME>:/hl:roby- /home/hyperliquid/hl:/hl:ro -
Build the image and run the container :
docker compose up -dTo run the exporter as a systemd service:
Create a systemd service file:
echo "[Unit]
Description=HyperLiquid Prometheus Exporter
After=network.target
[Service]
# The working directory where the script is located
WorkingDirectory=$HOME/hyperliquid-exporter
# Command to execute the script
ExecStart=/usr/local/bin/hl_exporter start
# Restart the service if it crashes
Restart=always
RestartSec=10
# Run the service as the current user
User=$USER
Group=$USER
[Install]
WantedBy=multi-user.target" | sudo tee /etc/systemd/system/hyperliquid-exporter.serviceReload the systemd manager configuration and start the service:
sudo systemctl daemon-reload
sudo systemctl enable --now hyperliquid-exporter.service
Contributions are greatly appreciated. Please submit a PR or open an issue on GitHub.