celestiaorg / blobstreamx-monitor

Simple monitoring tool for BlobstreamX contract

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

blobstreamx-monitor

Simple monitoring tool for BlobstreamX contract. It allows provers/relayers for BlobstreamX to monitor the BlobstreamX updates, and be notified.

The tool currently sends OTEL messages whenever a new batch is submitted, verified and committed by the contract:

  • A counter blobstreamx_monitor_submitted_nonces_counter of type Int64Counter.
  • A gauge blobstreamx_monitor_submitted_nonces of type Int64ObservableGauge.
  • A gauge blobstreamx_monitor_submitted_heights of type Int64ObservableGauge.

Install

  1. Install Go 1.21
  2. Clone this repo
  3. Install the BlobstreamX-monitor CLI
make install

Usage

# Print help
blobstreamx-monitor --help

How to run

To run the monitoring tool, make sure you have access to an otel collector, by default it targets the "localhost:4318" endpoint:

blobstreamx-monitor start \
  --evm.rpc <evm_chain_rpc> \
  --evm.contract-address <blobstreamx_contract_address> \
  --metrics.endpoint <otel_collector_endpoint> \
  --log.level debug

To start a local monitoring environment, refer to the example setup in the example folder that spins up an otel collector, prometheus and grafana which can be used to check the above metric from BlobstreamX contract.

After running the tool, operators can setup alerts to alarm them if there is a BlobstreamX liveness issue and begin investigating running backup provers.

About

Simple monitoring tool for BlobstreamX contract

License:Apache License 2.0


Languages

Language:Go 79.9%Language:Makefile 11.4%Language:Dockerfile 6.1%Language:Shell 2.6%