feat: add Chia support for Flexpool (#8)
- Update Telegraf to 1.19.2 - Use Flexpool API v2 - Update Flexpool miner, pool and worker dashboards accordingly - Add COIN environment variable for Telegraf ("eth" or "xch" supported) - Add coin variable in Grafana dashboards BREAKING CHANGE: measurement names change between API v1 and v2 so the Grafana dashboards must be updated accordingly to use new names. Values in the past will not be shown by the updated dashboards. Signed-off-by: Julien Riou <julien@riou.xyz>
This commit is contained in:
parent
1bdcac5a88
commit
51374e9a92
10 changed files with 3393 additions and 1072 deletions
|
@ -18,6 +18,26 @@
|
|||
from = "ETH"
|
||||
to = "USD"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "currencies"
|
||||
urls = ["https://api.coingecko.com/api/v3/simple/price?ids=chia&vs_currencies=eur"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
json_query = "chia"
|
||||
[inputs.http.tags]
|
||||
from = "XCH"
|
||||
to = "EUR"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "currencies"
|
||||
urls = ["https://api.coingecko.com/api/v3/simple/price?ids=chia&vs_currencies=usd"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
json_query = "chia"
|
||||
[inputs.http.tags]
|
||||
from = "XCH"
|
||||
to = "USD"
|
||||
|
||||
[[processors.rename]]
|
||||
namepass = ["currencies"]
|
||||
[[processors.rename.replace]]
|
||||
|
|
|
@ -1,51 +1,49 @@
|
|||
[[inputs.http]]
|
||||
name_override = "flexpool_miner_balance"
|
||||
urls = ["https://flexpool.io/api/v1/miner/${MINER_ADDRESS}/balance"]
|
||||
urls = ["https://api.flexpool.io/v2/miner/balance?coin=${COIN}&address=${MINER_ADDRESS}"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
[inputs.http.tags]
|
||||
miner = "${MINER_ADDRESS}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_miner_stats"
|
||||
urls = ["https://flexpool.io/api/v1/miner/${MINER_ADDRESS}/stats"]
|
||||
data_format = "json"
|
||||
fieldpass = ["*hashrate", "*shares"]
|
||||
tagexclude = ["url"]
|
||||
json_query = "result"
|
||||
[inputs.http.tags]
|
||||
miner = "${MINER_ADDRESS}"
|
||||
coin = "${COIN}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_miner_stats"
|
||||
urls = ["https://api.flexpool.io/v2/miner/stats?coin=${COIN}&address=${MINER_ADDRESS}"]
|
||||
data_format = "json"
|
||||
fieldpass = ["*Hashrate", "*Shares"]
|
||||
tagexclude = ["url"]
|
||||
json_query = "result"
|
||||
[inputs.http.tags]
|
||||
miner = "${MINER_ADDRESS}"
|
||||
coin = "${COIN}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_miner_workers"
|
||||
urls = ["https://flexpool.io/api/v1/miner/${MINER_ADDRESS}/workers"]
|
||||
urls = ["https://api.flexpool.io/v2/miner/workers?coin=${COIN}&address=${MINER_ADDRESS}"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
fieldpass = ["*hashrate", "*shares"]
|
||||
fieldpass = ["*Hashrate", "*Shares"]
|
||||
tag_keys = ["name"]
|
||||
json_query = "result"
|
||||
[inputs.http.tags]
|
||||
miner = "${MINER_ADDRESS}"
|
||||
coin = "${COIN}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_miner_paid"
|
||||
urls = ["https://flexpool.io/api/v1/miner/${MINER_ADDRESS}/totalPaid"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
[inputs.http.tags]
|
||||
miner = "${MINER_ADDRESS}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_miner_daily_revenue_estimation"
|
||||
urls = ["https://flexpool.io/api/v1/miner/${MINER_ADDRESS}/estimatedDailyRevenue"]
|
||||
urls = ["https://api.flexpool.io/v2/miner/paymentsStats?coin=${COIN}&address=${MINER_ADDRESS}"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
json_query = "result"
|
||||
[inputs.http.tags]
|
||||
miner = "${MINER_ADDRESS}"
|
||||
coin = "${COIN}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_miner_payments"
|
||||
urls = ["https://flexpool.io/api/v1/miner/${MINER_ADDRESS}/payments/?page=0"]
|
||||
urls = ["https://api.flexpool.io/v2/miner/payments?coin=${COIN}&address=${MINER_ADDRESS}&page=0"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
json_query = "result.data"
|
||||
|
@ -53,3 +51,4 @@
|
|||
json_time_key = "timestamp"
|
||||
[inputs.http.tags]
|
||||
miner = "${MINER_ADDRESS}"
|
||||
coin = "${COIN}"
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
[[inputs.http]]
|
||||
name_override = "flexpool_pool_block_count"
|
||||
urls = ["https://flexpool.io/api/v1/pool/blockCount"]
|
||||
name_override = "flexpool_pool_blocks_chart"
|
||||
urls = ["https://api.flexpool.io/v2/pool/blocksChart?coin=${COIN}"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
json_query = "result"
|
||||
json_time_format = "unix"
|
||||
json_time_key = "timestamp"
|
||||
[inputs.http.tags]
|
||||
coin = "${COIN}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_pool_blocks"
|
||||
urls = [
|
||||
"https://flexpool.io/api/v1/pool/blocks/?page=0",
|
||||
"https://flexpool.io/api/v1/pool/blocks/?page=1",
|
||||
"https://flexpool.io/api/v1/pool/blocks/?page=2",
|
||||
"https://flexpool.io/api/v1/pool/blocks/?page=3",
|
||||
"https://flexpool.io/api/v1/pool/blocks/?page=4"
|
||||
"https://api.flexpool.io/v2/pool/blocks?coin=${COIN}&page=0",
|
||||
"https://api.flexpool.io/v2/pool/blocks?coin=${COIN}&page=1",
|
||||
"https://api.flexpool.io/v2/pool/blocks?coin=${COIN}&page=2",
|
||||
"https://api.flexpool.io/v2/pool/blocks?coin=${COIN}&page=3",
|
||||
"https://api.flexpool.io/v2/pool/blocks?coin=${COIN}&page=4"
|
||||
]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
|
@ -20,35 +24,38 @@
|
|||
json_time_format = "unix"
|
||||
json_time_key = "timestamp"
|
||||
tag_keys = ["miner"]
|
||||
[inputs.http.tags]
|
||||
coin = "${COIN}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_pool_hashrate"
|
||||
urls = ["https://flexpool.io/api/v1/pool/hashrate"]
|
||||
urls = ["https://api.flexpool.io/v2/pool/hashrate?coin=${COIN}"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
json_query = "result"
|
||||
[inputs.http.tags]
|
||||
coin = "${COIN}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_pool_miners_online"
|
||||
urls = ["https://flexpool.io/api/v1/pool/minersOnline"]
|
||||
name_override = "flexpool_pool_miners_count"
|
||||
urls = ["https://api.flexpool.io/v2/pool/minerCount?coin=${COIN}"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
[inputs.http.tags]
|
||||
coin = "${COIN}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_pool_workers_online"
|
||||
urls = ["https://flexpool.io/api/v1/pool/workersOnline"]
|
||||
name_override = "flexpool_pool_workers_count"
|
||||
urls = ["https://api.flexpool.io/v2/pool/workerCount?coin=${COIN}"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_pool_average_luck_round_time"
|
||||
urls = ["https://flexpool.io/api/v1/pool/avgLuckRoundtime"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
json_query = "result"
|
||||
[inputs.http.tags]
|
||||
coin = "${COIN}"
|
||||
|
||||
[[inputs.http]]
|
||||
name_override = "flexpool_pool_current_luck"
|
||||
urls = ["https://flexpool.io/api/v1/pool/currentLuck"]
|
||||
urls = ["https://api.flexpool.io/v2/pool/currentLuck?coin=${COIN}"]
|
||||
data_format = "json"
|
||||
tagexclude = ["url"]
|
||||
[inputs.http.tags]
|
||||
coin = "${COIN}"
|
||||
|
|
Reference in a new issue