1
0
Fork 0

Add full procedure and make generic dashboards

Signed-off-by: Julien Riou <julien@riou.xyz>
This commit is contained in:
Julien Riou 2021-02-02 17:56:15 +01:00
parent 075a281a08
commit 0ab8e445f6
No known key found for this signature in database
GPG key ID: FF42D23B580C89F7
19 changed files with 390 additions and 154 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
docker/ssl/*
!docker/ssl/.gitkeep
docker/environment

106
README.md
View file

@ -13,6 +13,8 @@ This stack is also known as the **TIG** stack.
## Quickstart
### Create infrastructure
**Testing purpose only**.
This guide uses [Docker](https://www.docker.com/). Ensure you have `docker`, `docker-compose` and `openssl` binaries
@ -21,13 +23,14 @@ installed.
Write your miner address, grafana and influxdb credentials:
```
cp -p docker/environment.example docker/environment
vi docker/environment
```
Generate a self-signed certificate:
```
openssl req -x509 -nodes -newkey rsa:2048 -keyout docker/ssl/influxdb.key -out docker/ssl/influxdb.crt -days 365
openssl req -x509 -nodes -newkey rsa:2048 -keyout docker/ssl/my.key -out docker/ssl/my.crt -days 365
```
Press enter to every question.
@ -38,6 +41,107 @@ Then start containers:
docker-compose up -d
```
See logs with:
```
docker-compose logs -f
```
## Configure Telegraf
Telegraf inputs configurations are stored in [telegraf](telegraf) directory. You can test them using the following
command:
```
docker run --rm -e "MINER_ADDRESS=${MINER_ADDRESS}" \
-v "${PWD}/docker/telegraf.conf:/etc/telegraf/telegraf.conf:ro" -v "${PWD}/telegraf:/etc/telegraf/telegraf.d:ro" \
telegraf:1.15.4 telegraf -test -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d
```
Example:
```
2021-02-02T14:39:57Z I! Starting Telegraf 1.15.4
> currencies,from=ETH,host=docker,to=EUR value=1171.49 1612276798000000000
> currencies,from=ETH,host=docker,to=USD value=1411.03 1612276798000000000
> flexpool_balance,host=docker,miner=0x3e2251567f87E4B6a3927158AF9c678ECa87a337 result=69375170480923064 1612276798000000000
> flexpool_workers,host=docker,miner=0x3e2251567f87E4B6a3927158AF9c678ECa87a337,name=rig1 effective_hashrate=86666666,invalid_shares=0,reported_hashrate=96304517,stale_shares=3,valid_shares=2008 1612276798000000000
> flexpool_daily_revenue_estimation,host=docker,miner=0x3e2251567f87E4B6a3927158AF9c678ECa87a337 result=6710141993155250 1612276798000000000
> flexpool_paid,host=docker,miner=0x3e2251567f87E4B6a3927158AF9c678ECa87a337 result=0 1612276798000000000
> flexpool_stats,host=docker,miner=0x3e2251567f87E4B6a3927158AF9c678ECa87a337 current_effective_hashrate=86666666,current_reported_hashrate=96304517,daily_effective_hashrate=92962962.625,daily_invalid_shares=0,daily_reported_hashrate=96286435.27777778,daily_stale_shares=3,daily_valid_shares=2008 1612276798000000000
```
Once you are confident with your configuration, reload the container:
```
docker-compose restart telegraf
```
## Configure Grafana
### Login
Go to [Grafana URL](http://localhost:3000/). Login with credentials set in the "*Create infrastructure*" section.
![grafana login](images/grafana-001.png)
### Add a datasource
Go to *Configuration*, *Data Sources*:
![grafana data sources](images/grafana-002.png)
Select on *Add data source*:
![grafana add data source](images/grafana-003.png)
Search for *InfluxDB*:
![grafana influxdb](images/grafana-004.png)
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](images/grafana-005.png)
Click on *Save & Test*:
![grafana data source is working](images/grafana-006.png)
### Import dashboard
Click on *Import*:
![grafana import](images/grafana-007.png)
Then upload JSON file from this repository:
![grafana import json](images/grafana-008.png)
Select *InfluxDB* data source and click on *Import*:
![grafana import overview](images/grafana-009.png)
Your dashboard should be imported!
![grafana dashboard overview](images/grafana-010.png)
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

View file

@ -21,7 +21,6 @@ services:
image: grafana/grafana:7.3.7
volumes:
- grafana-storage:/var/lib/grafana
user: "472:472"
ports:
- "3000:3000"
links:

View file

@ -0,0 +1,14 @@
MINER_ADDRESS=
GF_SECURITY_ADMIN_USER=admin
GF_SECURITY_ADMIN_PASSWORD=
GF_USERS_DEFAULT_THEME=light
INFLUXDB_DB=metrics
INFLUXDB_WRITE_USER=telegraf
INFLUXDB_WRITE_USER_PASSWORD=
INFLUXDB_READ_USER=grafana
INFLUXDB_READ_USER_PASSWORD=
INFLUXDB_ADMIN_USER=admin
INFLUXDB_ADMIN_USER_PASSWORD=
INFLUXDB_HTTP_HTTPS_ENABLED=true
INFLUXDB_HTTP_HTTPS_CERTIFICATE=/etc/ssl/self-signed/my.crt
INFLUXDB_HTTP_HTTPS_PRIVATE_KEY=/etc/ssl/self-signed/my.key

View file

@ -1,3 +0,0 @@
# Grafana dashboards
Ensure to replace `MINER_ADDRESS` with your Ethereum wallet address.

View file

@ -1,4 +1,40 @@
{
"__inputs": [
{
"name": "DS_INFLUXDB",
"label": "InfluxDB",
"description": "",
"type": "datasource",
"pluginId": "influxdb",
"pluginName": "InfluxDB"
}
],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "7.3.7"
},
{
"type": "panel",
"id": "graph",
"name": "Graph",
"version": ""
},
{
"type": "datasource",
"id": "influxdb",
"name": "InfluxDB",
"version": "1.0.0"
},
{
"type": "panel",
"id": "stat",
"name": "Stat",
"version": ""
}
],
"annotations": {
"list": [
{
@ -16,12 +52,12 @@
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 12,
"iteration": 1612081989074,
"id": null,
"iteration": 1612282612782,
"links": [],
"panels": [
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"gridPos": {
"h": 1,
"w": 24,
@ -37,10 +73,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -67,9 +104,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -170,10 +208,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -200,9 +239,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -293,7 +333,7 @@
}
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -329,10 +369,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "balance",
@ -386,7 +428,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -422,13 +464,15 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "fiat",
"alias": "balance",
"groupBy": [
{
"params": [
@ -476,10 +520,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -506,9 +551,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -609,10 +655,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -639,9 +686,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -732,7 +780,7 @@
}
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -772,10 +820,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "revenue",
@ -829,7 +879,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -864,13 +914,15 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "fiat",
"alias": "revenue",
"groupBy": [
{
"params": [
@ -918,10 +970,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -948,9 +1001,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -1052,10 +1106,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -1082,9 +1137,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -1175,7 +1231,7 @@
}
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -1213,10 +1269,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "paid",
@ -1270,7 +1328,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -1298,20 +1356,22 @@
"id": 52,
"options": {
"colorMode": "value",
"graphMode": "area",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "fiat",
"alias": "paid",
"groupBy": [
{
"params": [
@ -1356,7 +1416,7 @@
},
{
"collapsed": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"gridPos": {
"h": 1,
"w": 24,
@ -1373,11 +1433,12 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"description": "",
"fieldConfig": {
"defaults": {
"custom": {},
"links": [],
"mappings": [],
"thresholds": {
"mode": "absolute",
@ -1418,10 +1479,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -1526,10 +1587,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -1556,9 +1618,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -1659,7 +1722,7 @@
}
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -1698,10 +1761,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "hashrate",
@ -1738,7 +1803,13 @@
}
]
],
"tags": []
"tags": [
{
"key": "miner",
"operator": "=~",
"value": "/^$miner$/"
}
]
}
],
"timeFrom": "5m",
@ -1747,7 +1818,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -1786,12 +1857,15 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "hashrate",
"groupBy": [
{
"params": [
@ -1844,11 +1918,12 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"description": "",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -1875,9 +1950,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -2015,7 +2091,7 @@
}
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -2054,10 +2130,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "hashrate",
@ -2109,7 +2187,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -2148,10 +2226,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "hashrate",
@ -2198,7 +2278,7 @@
},
{
"collapsed": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"gridPos": {
"h": 1,
"w": 24,
@ -2215,11 +2295,12 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"description": "",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -2246,9 +2327,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -2436,7 +2518,7 @@
}
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"description": "",
"fieldConfig": {
"defaults": {
@ -2474,10 +2556,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "valid",
@ -2529,7 +2613,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -2570,10 +2654,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "stale",
@ -2625,7 +2711,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"description": "",
"fieldConfig": {
"defaults": {
@ -2667,10 +2753,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "invalid",
@ -2722,7 +2810,7 @@
"type": "stat"
}
],
"schemaVersion": 25,
"schemaVersion": 26,
"style": "dark",
"tags": [
"flexpool",
@ -2732,27 +2820,18 @@
"list": [
{
"allValue": null,
"current": {
"selected": false,
"text": "MINER_ADDRESS",
"value": "MINER_ADDRESS"
},
"datasource": "InfluxDB",
"definition": "SHOW TAG VALUES WITH KEY = \"miner\"",
"current": {},
"datasource": "${DS_INFLUXDB}",
"definition": "",
"error": null,
"hide": 0,
"includeAll": false,
"label": null,
"multi": false,
"name": "miner",
"options": [
{
"selected": true,
"text": "MINER_ADDRESS",
"value": "MINER_ADDRESS"
}
],
"options": [],
"query": "SHOW TAG VALUES WITH KEY = \"miner\"",
"refresh": 0,
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 1,
@ -2764,13 +2843,10 @@
},
{
"allValue": null,
"current": {
"selected": false,
"text": "EUR",
"value": "EUR"
},
"datasource": "InfluxDB",
"current": {},
"datasource": "${DS_INFLUXDB}",
"definition": "SHOW TAG VALUES FROM currencies WITH KEY = \"to\"",
"error": null,
"hide": 0,
"includeAll": false,
"label": null,
@ -2790,13 +2866,10 @@
},
{
"allValue": null,
"current": {
"selected": false,
"text": "1110.29",
"value": "1110.29"
},
"datasource": "InfluxDB",
"current": {},
"datasource": "${DS_INFLUXDB}",
"definition": "select value from currencies where \"to\" =~ /^$currency$/ order by desc limit 1",
"error": null,
"hide": 2,
"includeAll": false,
"label": null,
@ -2836,5 +2909,5 @@
"timezone": "",
"title": "Flexpool overview",
"uid": "Q3JPASkgz",
"version": 34
}
"version": 5
}

View file

@ -1,4 +1,40 @@
{
"__inputs": [
{
"name": "DS_INFLUXDB",
"label": "InfluxDB",
"description": "",
"type": "datasource",
"pluginId": "influxdb",
"pluginName": "InfluxDB"
}
],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "7.3.7"
},
{
"type": "panel",
"id": "graph",
"name": "Graph",
"version": ""
},
{
"type": "datasource",
"id": "influxdb",
"name": "InfluxDB",
"version": "1.0.0"
},
{
"type": "panel",
"id": "stat",
"name": "Stat",
"version": ""
}
],
"annotations": {
"list": [
{
@ -16,13 +52,13 @@
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 15,
"iteration": 1612082234009,
"id": null,
"iteration": 1612282845458,
"links": [],
"panels": [
{
"collapsed": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"gridPos": {
"h": 1,
"w": 24,
@ -39,11 +75,12 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"description": "",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -70,9 +107,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -106,6 +144,8 @@
"measurement": "flexpool_workers",
"orderByTime": "ASC",
"policy": "home",
"query": "SELECT mean(\"effective_hashrate\") FROM \"flexpool_workers\" WHERE (\"miner\" =~ /^$miner$/ AND \"name\" =~ /^$worker$/) AND $timeFilter GROUP BY time($__interval), \"miner\" fill(null)",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
@ -161,6 +201,8 @@
"measurement": "flexpool_workers",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(\"reported_hashrate\") FROM \"flexpool_workers\" WHERE (\"miner\" =~ /^$miner$/ AND \"name\" =~ /^$worker$/) AND $timeFilter GROUP BY time($__interval), \"miner\" fill(null)",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
@ -234,7 +276,7 @@
}
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -272,10 +314,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "hashrate",
@ -333,7 +377,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -371,10 +415,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "hashrate",
@ -433,7 +479,7 @@
},
{
"collapsed": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"gridPos": {
"h": 1,
"w": 24,
@ -450,11 +496,12 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"description": "",
"fieldConfig": {
"defaults": {
"custom": {}
"custom": {},
"links": []
},
"overrides": []
},
@ -481,9 +528,10 @@
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.3.7",
"pointradius": 2,
"points": false,
"renderer": "flot",
@ -695,7 +743,7 @@
}
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"description": "",
"fieldConfig": {
"defaults": {
@ -732,10 +780,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "valid",
@ -793,7 +843,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"fieldConfig": {
"defaults": {
"custom": {},
@ -833,10 +883,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "stale",
@ -894,7 +946,7 @@
"type": "stat"
},
{
"datasource": null,
"datasource": "${DS_INFLUXDB}",
"description": "",
"fieldConfig": {
"defaults": {
@ -935,10 +987,12 @@
"calcs": [
"mean"
],
"fields": "",
"values": false
}
},
"textMode": "auto"
},
"pluginVersion": "7.0.0",
"pluginVersion": "7.3.7",
"targets": [
{
"alias": "invalid",
@ -996,7 +1050,7 @@
"type": "stat"
}
],
"schemaVersion": 25,
"schemaVersion": 26,
"style": "dark",
"tags": [
"flexpool",
@ -1006,13 +1060,10 @@
"list": [
{
"allValue": null,
"current": {
"selected": false,
"text": "MINER_ADDRESS",
"value": "MINER_ADDRESS"
},
"datasource": "InfluxDB",
"current": {},
"datasource": "${DS_INFLUXDB}",
"definition": "SHOW TAG VALUES WITH KEY = \"miner\"",
"error": null,
"hide": 0,
"includeAll": false,
"label": null,
@ -1032,13 +1083,10 @@
},
{
"allValue": null,
"current": {
"selected": false,
"text": "rig1",
"value": "rig1"
},
"datasource": "InfluxDB",
"current": {},
"datasource": "${DS_INFLUXDB}",
"definition": "SHOW TAG VALUES WITH KEY = \"name\" WHERE miner =~ /^$miner$/",
"error": null,
"hide": 0,
"includeAll": false,
"label": null,
@ -1078,5 +1126,5 @@
"timezone": "",
"title": "Flexpool workers",
"uid": "slcUBSzgz",
"version": 7
}
"version": 2
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

BIN
images/grafana-001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/grafana-002.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
images/grafana-003.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/grafana-004.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
images/grafana-005.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

BIN
images/grafana-006.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
images/grafana-007.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
images/grafana-008.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
images/grafana-009.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
images/grafana-010.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB