1
0
Fork 0
Grafana dashboards for cryptocurrency miners
This repository has been archived on 2024-12-18. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Julien Riou f38a4b3ce1
chore: End of life notice
Signed-off-by: Julien Riou <julien@riou.xyz>
2023-11-01 09:04:08 +01:00
docker feat: add Chia support for Flexpool (#8) 2021-08-18 11:19:14 +02:00
grafana fix: discover all coins on Flexpool Pool 2021-08-24 07:45:43 +02:00
images feat: add Chia support for Flexpool (#8) 2021-08-18 11:19:14 +02:00
telegraf feat: add Chia support for Flexpool (#8) 2021-08-18 11:19:14 +02:00
.gitignore Add HiveOS Telegraf configuration 2021-02-12 17:58:40 +01:00
docker-compose.yml feat: add Chia support for Flexpool (#8) 2021-08-18 11:19:14 +02:00
LICENSE Initial commit 2021-01-31 09:15:35 +01:00
README.md chore: End of life notice 2023-11-01 09:04:08 +01:00

END OF LIFE NOTICE

Flexpool.io was the main source of information for the mining dashboards and it has shut down. Due to the lack of activity on this repository for the last couple of years, I'm archiving it. Don't hesitate to fork it!

Mining dashboards

Grafana dashboards for cryptocurrency miners.

Requirements

Dashboards rely on the following softwares:

  • Telegraf to gather metrics (input) and write to a datastore (output)
  • InfluxDB to store metrics on the long-term
  • Grafana to visualize metrics

This stack is also known as the TIG stack.

Quickstart

Create infrastructure

Testing purpose only.

This guide uses Docker. Ensure you have docker, docker-compose and openssl binaries installed.

Write grafana and influxdb credentials:

cp -p docker/environment.example docker/environment
vi docker/environment

Depending on inputs, you should also set the miner address and HiveOS token.

Generate a self-signed certificate:

openssl req -x509 -nodes -newkey rsa:2048 -keyout docker/ssl/my.key -out docker/ssl/my.crt -days 365

Press enter to every question.

Then start containers:

docker-compose up -d

See logs with:

docker-compose logs -f

Configure Telegraf

Telegraf inputs configurations are stored in telegraf directory. You can test them using the following command:

docker run --rm -e "MINER_ADDRESS=${MINER_ADDRESS}" -e "COIN=${COIN}" \
    -v "${PWD}/docker/telegraf.conf:/etc/telegraf/telegraf.conf:ro" -v "${PWD}/telegraf:/etc/telegraf/telegraf.d:ro" \
    telegraf:1.19.2 telegraf -test -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d

Example:

2021-08-18T09:05:45Z I! Starting Telegraf 1.19.2
> flexpool_pool_workers_count,coin=eth,host=docker result=43022 1629277546000000000
> flexpool_pool_blocks,coin=eth,host=docker,miner=0x80072FDaB52a9BED1f77A4f47CE8590eCF2d69Dd difficulty=8038304869759675,luck=0.2723280636238729,mevReward=74193593913914900,number=13046195,reward=2244945505143161600,roundTime=266,staticBlockReward=2000000000000000000,txFeeReward=170751911229246620 1629248941000000000
> flexpool_pool_blocks,coin=eth,host=docker,miner=0xc0224A1F6B7296598a09746b4106612562248F02 difficulty=8018674568139472,luck=0.9997781967425715,mevReward=0,number=13046171,reward=2093729787481399800,roundTime=969,staticBlockReward=2000000000000000000,txFeeReward=93729787481399740 1629248676000000000
> flexpool_pool_blocks,coin=eth,host=docker,miner=0xbe6Fa3d44e4fD10fE05d8e90fD820d1f16EEd9e2 difficulty=8069770590952829,luck=0.7709800334318287,mevReward=56831219018865630,number=13046106,reward=2162018055750582000,roundTime=753,staticBlockReward=2000000000000000000,txFeeReward=105186836731716500 1629247706000000000
> flexpool_pool_blocks,coin=eth,host=docker,miner=0xbF846283Ab2BE655844807FB9DbA086AF202a4d2 difficulty=8046149393032298,luck=1.4665340430067546,mevReward=29415246569886180,number=13046045,reward=2072298444980926500,roundTime=1425,staticBlockReward=2000000000000000000,txFeeReward=42883198411040420 1629246953000000000
> flexpool_pool_blocks,coin=eth,host=docker,miner=0xdF44B7Dce392a0267f315c2c7711200c9620981C difficulty=8050114629713925,luck=1.66199322809835,mevReward=0,number=13045942,reward=2141479945370403800,roundTime=1612,staticBlockReward=2000000000000000000,txFeeReward=141479945370403760 1629245528000000000
> flexpool_pool_blocks,coin=eth,host=docker,miner=0xE1E5372F00Fe6b05FD89c8110D4a29b29B916a7d difficulty=8109240971665971,luck=0.9366252682018412,mevReward=15080560933545792,number=13045830,reward=2088916235271470600,roundTime=918,staticBlockReward=2000000000000000000,txFeeReward=73835674337924700 1629243916000000000

Once you are confident with your configuration, reload the container:

docker-compose restart telegraf

Configure Grafana

Login

Go to Grafana URL. Login with credentials set in the "Create infrastructure" section.

grafana login

Add a datasource

Go to Configuration, Data Sources:

grafana data sources

Select on Add data source:

grafana add data source

Search for InfluxDB:

grafana influxdb

Then add read-only credentials to access the InfluxDB data store:

  • Name: InfluxDB
  • URL: https://influxdb:8086
  • Basic auth: enabled
  • Skip TLS Verify: enabled
  • User: defined by INFLUXDB_READ_USER
  • Password: defined by INFLUXDB_READ_USER_PASSWORD
  • Min time interval: 60s (Telegraf interval)

grafana influxdb settings

Click on Save & Test:

grafana data source is working

Import dashboard

Click on Import:

grafana import

Then upload JSON file from this repository:

grafana import json

Select InfluxDB data source and click on Import:

grafana import overview

Your dashboard should be imported!

grafana dashboard overview

Repeat the operation for other dashboards if needed.

Remove infrastructure

Use docker-compose to remove containers and their volumes:

docker-compose down -v

Disclaimer

Telegraf is able to make API call on thrid-party services. Please read terms of service before going further. The repository owner cannot be responsible of any abuse.