Add full procedure and make generic dashboards
Signed-off-by: Julien Riou <julien@riou.xyz>
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
docker/ssl/*
|
||||
!docker/ssl/.gitkeep
|
||||
docker/environment
|
||||
|
|
106
README.md
|
@ -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
|
||||
|
|
|
@ -21,7 +21,6 @@ services:
|
|||
image: grafana/grafana:7.3.7
|
||||
volumes:
|
||||
- grafana-storage:/var/lib/grafana
|
||||
user: "472:472"
|
||||
ports:
|
||||
- "3000:3000"
|
||||
links:
|
||||
|
|
14
docker/environment.example
Normal 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
|
|
@ -1,3 +0,0 @@
|
|||
# Grafana dashboards
|
||||
|
||||
Ensure to replace `MINER_ADDRESS` with your Ethereum wallet address.
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
Before Width: | Height: | Size: 257 KiB |
Before Width: | Height: | Size: 113 KiB |
BIN
images/grafana-001.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
images/grafana-002.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
images/grafana-003.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
images/grafana-004.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
images/grafana-005.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
images/grafana-006.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
images/grafana-007.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
images/grafana-008.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
images/grafana-009.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
images/grafana-010.png
Normal file
After Width: | Height: | Size: 256 KiB |