geth metrics exporter for Prometheus
Go to file
Jakub Sokołowski 62c76c4ced allow the metrics call to fail
Starting from 1.9.0 Geth removed the `debug_metrics` RPC call

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-26 09:32:17 -04:00
.github initial import from https://github.com/status-im/status-go/pull/966 2018-05-18 11:30:48 +02:00
docker-example add docker-compose example (#10) 2018-05-19 02:10:48 +02:00
vendor Custom registry (#11) 2018-05-24 17:13:37 +02:00
.dockerignore Feature/dockerize (#9) 2018-05-18 14:36:47 +02:00
.gitignore add docker-compose example (#10) 2018-05-19 02:10:48 +02:00
.golangci.yml update golangci version 2018-07-04 14:05:32 +02:00
CONTRIBUTING.md initial import from https://github.com/status-im/status-go/pull/966 2018-05-18 11:30:48 +02:00
Dockerfile add a basic Jenkinsfile for uploading docker images (#18) 2018-07-09 13:28:34 +02:00
Gopkg.lock Custom registry (#11) 2018-05-24 17:13:37 +02:00
Gopkg.toml Custom registry (#11) 2018-05-24 17:13:37 +02:00
Jenkinsfile add a basic Jenkinsfile for uploading docker images (#18) 2018-07-09 13:28:34 +02:00
LICENSE.md initial import from https://github.com/status-im/status-go/pull/966 2018-05-18 11:30:48 +02:00
Makefile add a basic Jenkinsfile for uploading docker images (#18) 2018-07-09 13:28:34 +02:00
README.md allow the metrics call to fail 2019-07-26 09:32:17 -04:00
client.go add ability to collect syncing metrics (#22) 2019-05-31 14:37:53 -04:00
collector.go allow the metrics call to fail 2019-07-26 09:32:17 -04:00
handlers.go add most basic healthcheck possible (#13) 2018-05-27 11:09:11 +02:00
main.go add most basic healthcheck possible (#13) 2018-05-27 11:09:11 +02:00
metrics.go allow the metrics call to fail 2019-07-26 09:32:17 -04:00
metrics_test.go initial import from https://github.com/status-im/status-go/pull/966 2018-05-18 11:30:48 +02:00
registry.go Custom registry (#11) 2018-05-24 17:13:37 +02:00

README.md

WARNING: This software is deprecated since Geth 1.9.0 which introduced its own Prometheus endpoint.

geth_exporter

geth_exporter is a metrics exporter for Prometheus.

Usage

go build && \
  ./geth_exporter -ipc node/data/path/geth.ipc -filter="whisper_*" -filter="les_*"

Docker example

cd docker-example
docker-compose up

At http://localhost:9200/metrics you will have the geth_exporter, it should send a response similar to this:

discv5_inboundTraffic_avgRate01Min 2981
discv5_inboundTraffic_avgRate05Min 2981
discv5_inboundTraffic_avgRate15Min 2981
discv5_inboundTraffic_meanRate 3591.687045952474
discv5_inboundTraffic_overall 18213
discv5_outboundTraffic_avgRate01Min 1733.4
discv5_outboundTraffic_avgRate05Min 1733.4
discv5_outboundTraffic_avgRate15Min 1733.4
discv5_outboundTraffic_meanRate 2356.6951261606164
....

At http://localhost:9090/graph you can use Prometheus to query the exporter.

At http://localhost:3000/ you can log in to grafana with username admin and password admin.

Continous Deployment

To make possible deploying the new version of the page from the develop branch a Jenkins job is configured at:

https://jenkins.status.im/job/misc/job/geth_exporter/

This job is ran according to the Jenkinsfile configuration. In order for this to work there are two requirements:

In order to push a new docker image the statusteamauto user on DokerHub needs to have access to: https://hub.docker.com/r/statusteam/geth_exporter/