Skip to content

dmitry-ee/tendermint-prometheus-exporter

Repository files navigation

Tendermint Exporter Version

GitHub Actions Coverage Status Security Rating Build Automation Image Pulls

Tendermint exporter for Prometheus

Table of Contents

Download

docker pull dmi7ry/tendermint-prometheus-exporter:latest

See DockerHub Image

Run

docker run

docker run -d -—name tendermint-exporter --rm \
  -p 9697:9697 \
  dmi7ry/tendermint-prometheus-exporter:latest \
  serve [--port N] [--timeout N] \
  [--target scrape_url_1 [--status|--no-status] [--net-info|--no-net-info] [--candidates|--no-candidates] --]
  [--target scrape_url_2 [--status|--no-status] [--net-info|--no-net-info] [--candidates|--no-candidates] --]

Example

docker run -d -—name tendermint-exporter --rm \
  -p 9697:9697 \
  dmi7ry/tendermint-prometheus-exporter:latest \
  serve --port 9697 --timeout 5000 \
  --target https://api.minter.one --status --net-info --candidates --
  --target http://my-host:8841 --status --net-info --

docker-compose

See docker-compose.yml

Manual Build

Requirement: Just

just build-c

or

just build-nc

Flags

flag name defaults description
port 9697 port to listen at (should be exposed with -p arg)
timeout 1000 max response time to exporter waiting for in milliseconds
target null API url to scrape (port for Minter = 8841, for Cosmos = 26657)
status or no-status false enable scrape for /status url
net-info or no-net-info false enable scrape for /net_info url
candidates or no-candidates false enable scrape for /candidates url

NOTE

each target should be denoted with double dash after defenition (see docker run)

Minter Auto Provision

You can install & setup full stack just in one script

git clone https://github.com/dmitry-ee/tendermint-prometheus-exporter.git
cd tendermint-prometheus-exporter/provision/

then run:

  • ./provision-with-node.sh for deploy Minter-Node (with enabled Prometheus), Exporter, Grafana (with Dashboard) and Prometheus
  • ./provision-simply.sh for deploy only Exporter, Grafana (with Dashboard) and Prometheus

See provision with node and provision simply

Check & Set Minter API urls here or here

For manual dashboard import see Grafana Dashboard)

Supported Blockchains

Minter

Supported urls:

  • /status enables with --status flag
  • /net_info enables with --net-info flag
  • /candidates enables with --candidates flag

Grafana Dashboard

here (importable via Import Dashboard)

Metrics Sample

here

Cosmos

NOTE: Cosmos is not supported yet

Supported urls:

  • /net_info enables with --net-info flag

Metrics Sample

here

Preview

Dashboard Preview

Donate

BIP: Mx65bb9548ecde11e10cd823e365fd2fb0f4f03b25

QR