diff --git a/template-antminer-s17.xml b/template-antminer-s17.xml
deleted file mode 100644
index 670e485..0000000
--- a/template-antminer-s17.xml
+++ /dev/null
@@ -1,759 +0,0 @@
-
-
- 5.2
- 2022-04-03T11:04:53Z
-
-
- Antminer T17
-
-
-
-
- AntMiner T17
- AntMiner T17
-
-
- Antminer T17
-
-
-
-
- AntMinerT17
-
-
- AntMinerT17All
-
-
- AntMinerT17Pool
-
-
-
- -
- CompileTime
- DEPENDENT
- AntMinerT17.CompileTime
- 0
- 1d
- 0
- DISABLED
- TEXT
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[0]['CompileTime']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Elapsed
- DEPENDENT
- AntMinerT17.Elapsed
- 0
- 1d
- 1d
- s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['Elapsed']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan1
- DEPENDENT
- AntMinerT17.Fan1
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan1']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan2
- DEPENDENT
- AntMinerT17.Fan2
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan2']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan3
- DEPENDENT
- AntMinerT17.Fan3
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan3']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan4
- DEPENDENT
- AntMinerT17.Fan4
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan4']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan_num
- DEPENDENT
- AntMinerT17.Fan_num
- 0
- 1d
- 1d
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan_num']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate
- DEPENDENT
- AntMinerT17.Hashrate
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['GHS 5s']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate5
- DEPENDENT
- AntMinerT17.Hashrate5
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['chain_rate1']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate6
- DEPENDENT
- AntMinerT17.Hashrate6
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['chain_rate2']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate7
- DEPENDENT
- AntMinerT17.Hashrate7
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['chain_rate3']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastOnline_pool1
- DEPENDENT
- AntMinerT17.LS_online_pool1
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[0]['Stratum Active']
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastOnline_pool2
- DEPENDENT
- AntMinerT17.LS_online_pool2
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[1]['Stratum Active']
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastOnline_pool3
- DEPENDENT
- AntMinerT17.LS_online_pool3
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[2]['Stratum Active']
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastTime_pool1
- DEPENDENT
- AntMinerT17.LS_pool1
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[0]['Last Share Time']
-
-
-
- JAVASCRIPT
-
- var $123 = (value.replace(/:/g,''));
-return $123;
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastTime_pool2
- DEPENDENT
- AntMinerT17.LS_pool2
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[1]['Last Share Time']
-
-
-
- JAVASCRIPT
-
- var $123 = (value.replace(/:/g,''));
-return $123;
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastTime_pool3
- DEPENDENT
- AntMinerT17.LS_pool3
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[2]['Last Share Time']
-
-
-
- JAVASCRIPT
-
- var $123 = (value.replace(/:/g,''));
-return $123;
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Temp1
- DEPENDENT
- AntMinerT17.Temp1
- 0
- 1d
- 1d
- C
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['temp2_1']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Temp2
- DEPENDENT
- AntMinerT17.Temp2
- 0
- 1d
- 1d
- C
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['temp2_2']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Temp3
- DEPENDENT
- AntMinerT17.Temp3
- 0
- 1d
- 1d
- C
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['temp2_3']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Type
- DEPENDENT
- AntMinerT17.Type
- 0
- 1d
- 0
- TEXT
- TYPE
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[0]['Type']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- UP_DOwn
- SIMPLE
- icmpping
- 60s
- 1d
- 1d
-
-
- AntMinerT17
-
-
-
- Service state
-
-
- -
- AntMinerGetAllpool
- EXTERNAL
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
- 300s
- 0d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
- -
- AntMinerGetAllstats
- EXTERNAL
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
- 300s
- 0d
- 0
- TEXT
-
-
- AntMinerT17All
-
-
-
- -
- Asic
- SIMPLE
- net.tcp.service[tcp,,4028]
- 60s
- 1d
- 1d
-
-
- AntMinerT17
-
-
-
- Service state
-
-
-
-
-
- {$FAN_LOW}
- 500
-
-
- {$HASH_LOW}
- 27
-
-
- {$HOST.PORT}
- 4028
-
-
- {$LS_TIME}
- 1000
-
-
- {$TEMP_LOW}
- 90
-
-
- {$UNAME}
- root
-
-
- {$UPASS}
- SECRET_TEXT
-
-
-
-
-
-
- ({AntMiner T17:AntMinerT17.Hashrate.nodata(15m)}=1 or {AntMiner T17:AntMinerT17.Hashrate.last(5m)}=0) and {AntMiner T17:icmpping.last()}=1
- AntMiner T17 Hashrate information not available on {HOST.NAME}
- HIGH
- YES
-
-
- ({AntMiner T17:AntMinerT17.Temp1.min(15m)}>{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp2.min(15m)}>{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp3.min(15m)}>{$TEMP_LOW}) and {AntMiner T17:icmpping.last()}=1
- RECOVERY_EXPRESSION
- ({AntMiner T17:AntMinerT17.Temp1.last()}<{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp2.last()}<{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp3.last()}<{$TEMP_LOW}) and {AntMiner T17:icmpping.last()}=1
- AntMiner T17 High temp on {HOST.NAME}
- AVERAGE
- YES
-
-
- {AntMiner T17:icmpping.max(#3)}=0 and {AntMiner T17:net.tcp.service[tcp,,4028].last(#3)}=0
- RECOVERY_EXPRESSION
- {AntMiner T17:icmpping.last()}=1 or {AntMiner T17:net.tcp.service[tcp,,4028].last()}=1
- AntMiner T17 Host DOWN {HOST.NAME}
- DISASTER
- YES
-
-
- (({AntMiner T17:AntMinerT17.Fan1.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan1.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan1.last(#3)}<{$FAN_LOW}) or ({AntMiner T17:AntMinerT17.Fan2.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan2.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan2.last(#3)}<{$FAN_LOW}) or ({AntMiner T17:AntMinerT17.Fan3.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan3.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan3.last(#3)}<{$FAN_LOW}) or ({AntMiner T17:AntMinerT17.Fan4.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan4.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan4.last(#3)}<{$FAN_LOW})) and {AntMiner T17:icmpping.last()}=1
- AntMiner T17 low fan speed {HOST.NAME}
- YES
-
-
- (({AntMiner T17:AntMinerT17.Hashrate.last()}<{$HASH_LOW} and {AntMiner T17:AntMinerT17.Hashrate.last()} > 0) and {AntMiner T17:AntMinerT17.Elapsed.last()}>600) and ({AntMiner T17:icmpping.last()}=1 and {AntMiner T17:net.tcp.service[tcp,,4028].last()}=1)
- RECOVERY_EXPRESSION
- {AntMiner T17:AntMinerT17.Hashrate.last()}>{$HASH_LOW} or {AntMiner T17:AntMinerT17.Hashrate.nodata(15m)}=1
- AntMiner T17 Low hashrate on {HOST.NAME}
- WARNING
- YES
-
-
- ({AntMiner T17:icmpping.max(#1)}=1 and {AntMiner T17:net.tcp.service[tcp,,4028].last()}=1) and ({AntMiner T17:AntMinerT17.LS_online_pool1.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool1.last()}>{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool2.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool2.last()}>{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool3.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool3.last()}>{$LS_TIME})
- RECOVERY_EXPRESSION
- ({AntMiner T17:AntMinerT17.LS_online_pool1.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool1.last()}<{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool2.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool2.last()}<{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool3.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool3.last()}<{$LS_TIME})
- AntMiner T17 превышено время шары {HOST.NAME}
- INFO
- YES
-
-
-
-
- Service state
-
-
- 0
- Down
-
-
- 1
- Up
-
-
-
-
-
diff --git a/template-antminer-s17.yaml b/template-antminer-s17.yaml
new file mode 100644
index 0000000..4502a53
--- /dev/null
+++ b/template-antminer-s17.yaml
@@ -0,0 +1,476 @@
+zabbix_export:
+ version: '5.2'
+ date: '2022-04-16T23:17:18Z'
+ groups:
+ -
+ name: 'Antminer S17+'
+ templates:
+ -
+ template: 'AntMiner S17 Plus'
+ name: 'AntMiner S17 Plus'
+ groups:
+ -
+ name: 'Antminer S17+'
+ items:
+ -
+ name: CompileTime
+ type: DEPENDENT
+ key: AntMinerS17.CompileTime
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''CompileTime'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Elapsed
+ type: DEPENDENT
+ key: AntMinerS17.Elapsed
+ delay: '0'
+ history: 60d
+ trends: 60d
+ units: s
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''Elapsed'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan1
+ type: DEPENDENT
+ key: AntMinerS17.Fan1
+ delay: '0'
+ history: 1d
+ trends: '0'
+ units: RPM
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan1'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan2
+ type: DEPENDENT
+ key: AntMinerS17.Fan2
+ delay: '0'
+ history: 1d
+ trends: '0'
+ units: RPM
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan2'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan3
+ type: DEPENDENT
+ key: AntMinerS17.Fan3
+ delay: '0'
+ history: 1d
+ trends: '0'
+ units: RPM
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan3'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan4
+ type: DEPENDENT
+ key: AntMinerS17.Fan4
+ delay: '0'
+ history: 1d
+ trends: '0'
+ units: RPM
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan4'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan_num
+ type: DEPENDENT
+ key: AntMinerS17.Fan_num
+ delay: '0'
+ history: 1d
+ trends: 1d
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan_num'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate
+ type: DEPENDENT
+ key: AntMinerS17.Hashrate
+ delay: '0'
+ history: 60d
+ trends: 60d
+ value_type: FLOAT
+ units: TH/s
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''GHS 5s'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate1
+ type: DEPENDENT
+ key: AntMinerS17.Hashrate1
+ delay: '0'
+ history: 30d
+ trends: 30d
+ value_type: FLOAT
+ units: TH/s
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''chain_rate1'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate2
+ type: DEPENDENT
+ key: AntMinerS17.Hashrate2
+ delay: '0'
+ history: 30d
+ trends: 30d
+ value_type: FLOAT
+ units: TH/s
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''chain_rate2'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate3
+ type: DEPENDENT
+ key: AntMinerS17.Hashrate3
+ delay: '0'
+ history: 30d
+ trends: 30d
+ value_type: FLOAT
+ units: TH/s
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''chain_rate3'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastOnline_pool1
+ type: DEPENDENT
+ key: AntMinerS17.LS_online_pool1
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''Stratum Active'']'
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastOnline_pool2
+ type: DEPENDENT
+ key: AntMinerS17.LS_online_pool2
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''Stratum Active'']'
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastOnline_pool3
+ type: DEPENDENT
+ key: AntMinerS17.LS_online_pool3
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[2][''Stratum Active'']'
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastTime_pool1
+ type: DEPENDENT
+ key: AntMinerS17.LS_pool1
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''Last Share Time'']'
+ -
+ type: JAVASCRIPT
+ parameters:
+ - |
+ var $123 = (value.replace(/:/g,''));
+ return $123;
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastTime_pool2
+ type: DEPENDENT
+ key: AntMinerS17.LS_pool2
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''Last Share Time'']'
+ -
+ type: JAVASCRIPT
+ parameters:
+ - |
+ var $123 = (value.replace(/:/g,''));
+ return $123;
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastTime_pool3
+ type: DEPENDENT
+ key: AntMinerS17.LS_pool3
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[2][''Last Share Time'']'
+ -
+ type: JAVASCRIPT
+ parameters:
+ - |
+ var $123 = (value.replace(/:/g,''));
+ return $123;
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Temp1
+ type: DEPENDENT
+ key: AntMinerS17.Temp1
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: C
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''temp1'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Temp2
+ type: DEPENDENT
+ key: AntMinerS17.Temp2
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: C
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''temp2'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Temp3
+ type: DEPENDENT
+ key: AntMinerS17.Temp3
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: C
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''temp3'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Type
+ type: DEPENDENT
+ key: AntMinerS17.Type
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ inventory_link: TYPE
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''Type'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: UP_DOwn
+ type: SIMPLE
+ key: icmpping
+ delay: 60s
+ history: 60d
+ trends: 60d
+ valuemap:
+ name: 'Service state'
+ -
+ name: AntMinerGetAllpool
+ type: EXTERNAL
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ delay: 300s
+ history: '0'
+ trends: '0'
+ value_type: TEXT
+ -
+ name: AntMinerGetAllstats
+ type: EXTERNAL
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ delay: 300s
+ history: '0'
+ trends: '0'
+ value_type: TEXT
+ -
+ name: Asic
+ type: SIMPLE
+ key: 'net.tcp.service[tcp,,4028]'
+ delay: 60s
+ history: 1d
+ trends: 1d
+ valuemap:
+ name: 'Service state'
+ macros:
+ -
+ macro: '{$FAN_LOW}'
+ value: '500'
+ -
+ macro: '{$HASH_LOW}'
+ value: '65'
+ -
+ macro: '{$HOST.PORT}'
+ value: '4028'
+ -
+ macro: '{$LS_TIME}'
+ value: '1000'
+ -
+ macro: '{$TEMP_LOW}'
+ value: '90'
+ -
+ macro: '{$UNAME}'
+ value: root
+ -
+ macro: '{$UPASS}'
+ type: SECRET_TEXT
+ triggers:
+ -
+ expression: '{AntMiner S17 Plus:AntMinerS17.Hashrate.nodata(15m)}=1 and {AntMiner S17 Plus:icmpping.last()}=1'
+ name: 'AntMiner S17 Hashrate information not available on {HOST.NAME}'
+ priority: HIGH
+ manual_close: 'YES'
+ -
+ expression: '({AntMiner S17 Plus:AntMinerS17.Temp1.min(15m)}>{$TEMP_LOW} or {AntMiner S17 Plus:AntMinerS17.Temp2.min(15m)}>{$TEMP_LOW} or {AntMiner S17 Plus:AntMinerS17.Temp3.min(15m)}>{$TEMP_LOW}) and {AntMiner S17 Plus:icmpping.last()}=1'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '({AntMiner S17 Plus:AntMinerS17.Temp1.last()}<{$TEMP_LOW} or {AntMiner S17 Plus:AntMinerS17.Temp2.last()}<{$TEMP_LOW} or {AntMiner S17 Plus:AntMinerS17.Temp3.last()}<{$TEMP_LOW}) and {AntMiner S17 Plus:icmpping.last()}=1'
+ name: 'AntMiner S17 High temp on {HOST.NAME}'
+ priority: AVERAGE
+ manual_close: 'YES'
+ -
+ expression: '{AntMiner S17 Plus:icmpping.last(5m)}=0 and {AntMiner S17 Plus:net.tcp.service[tcp,,4028].last(5m)}=0'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '{AntMiner S17 Plus:icmpping.last()}=1 or {AntMiner S17 Plus:net.tcp.service[tcp,,4028].last()}=1'
+ name: 'AntMiner S17 Host DOWN {HOST.NAME}'
+ priority: DISASTER
+ manual_close: 'YES'
+ -
+ expression: '({AntMiner S17 Plus:AntMinerS17.Fan1.last()}<{$FAN_LOW} or {AntMiner S17 Plus:AntMinerS17.Fan2.last()}<{$FAN_LOW} or {AntMiner S17 Plus:AntMinerS17.Fan3.last()}<{$FAN_LOW} or {AntMiner S17 Plus:AntMinerS17.Fan4.last()}<{$FAN_LOW}) and ({AntMiner S17 Plus:icmpping.last()}=1 and {AntMiner S17 Plus:AntMinerS17.Elapsed.last()}>300)'
+ name: 'AntMiner S17 low fan speed {HOST.NAME}'
+ manual_close: 'YES'
+ -
+ expression: '({AntMiner S17 Plus:AntMinerS17.Hashrate.last()}<{$HASH_LOW} and {AntMiner S17 Plus:AntMinerS17.Elapsed.last()}>600) and ({AntMiner S17 Plus:icmpping.last()}=1 and {AntMiner S17 Plus:net.tcp.service[tcp,,4028].last()}=1)'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '{AntMiner S17 Plus:AntMinerS17.Hashrate.last()}>{$HASH_LOW} or ( {AntMiner S17 Plus:icmpping.last(5m)}=0 and {AntMiner S17 Plus:net.tcp.service[tcp,,4028].last(5m)}=0 )'
+ name: 'AntMiner S17 Low hashrate on {HOST.NAME}'
+ priority: WARNING
+ manual_close: 'YES'
+ -
+ expression: '({AntMiner S17 Plus:icmpping.last(#1)}=1 and {AntMiner S17 Plus:net.tcp.service[tcp,,4028].last()}=1) and ({AntMiner S17 Plus:AntMinerS17.LS_online_pool1.str(true, #3)}=1 and {AntMiner S17 Plus:AntMinerS17.LS_pool1.last()}>{$LS_TIME}) or ({AntMiner S17 Plus:AntMinerS17.LS_online_pool2.str(true, #3)}=1 and {AntMiner S17 Plus:AntMinerS17.LS_pool2.last()}>{$LS_TIME}) or ({AntMiner S17 Plus:AntMinerS17.LS_online_pool3.str(true, #3)}=1 and {AntMiner S17 Plus:AntMinerS17.LS_pool3.last()}>{$LS_TIME})'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '({AntMiner S17 Plus:AntMinerS17.LS_online_pool1.str(true, #3)}=1 and {AntMiner S17 Plus:AntMinerS17.LS_pool1.last()}<{$LS_TIME}) or ({AntMiner S17 Plus:AntMinerS17.LS_online_pool2.str(true, #3)}=1 and {AntMiner S17 Plus:AntMinerS17.LS_pool2.last()}<{$LS_TIME}) or ({AntMiner S17 Plus:AntMinerS17.LS_online_pool3.str(true, #3)}=1 and {AntMiner S17 Plus:AntMinerS17.LS_pool3.last()}<{$LS_TIME})'
+ name: 'AntMiner S17 превышено время шары {HOST.NAME}'
+ priority: INFO
+ -
+ expression: '({AntMiner S17 Plus:AntMinerS17.Fan_num.last()}=0) and ({AntMiner S17 Plus:icmpping.last()}=1) and ({AntMiner S17 Plus:AntMinerS17.Elapsed.last()}={AntMiner S17 Plus:AntMinerS17.Elapsed.prev()}) and ({AntMiner S17 Plus:AntMinerS17.Elapsed.last()}>0)'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '{AntMiner S17 Plus:AntMinerS17.Fan_num.last()}=2'
+ name: 'Асик завис !!!'
+ manual_close: 'YES'
+ value_maps:
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
diff --git a/template-antminer-s9.xml b/template-antminer-s9.xml
deleted file mode 100644
index 9adf5bc..0000000
--- a/template-antminer-s9.xml
+++ /dev/null
@@ -1,716 +0,0 @@
-
-
- 5.2
- 2022-04-08T07:45:14Z
-
-
- AntMiner S9
-
-
-
-
- AntMiner S9
- AntMiner S9
-
-
- AntMiner S9
-
-
-
-
- AntMinerS9
-
-
- AntMinerS9All
-
-
- AntMinerS9Pool
-
-
-
- -
- CompileTime
- DEPENDENT
- AntMinerS9.CompileTime
- 0
- 1d
- 0
- DISABLED
- TEXT
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[0]['CompileTime']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Elapsed
- DEPENDENT
- AntMinerS9.Elapsed
- 0
- 1d
- 1d
- s
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['Elapsed']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan5
- DEPENDENT
- AntMinerS9.Fan5
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['fan5']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan6
- DEPENDENT
- AntMinerS9.Fan6
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['fan6']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan_num
- DEPENDENT
- AntMinerS9.Fan_num
- 0
- 1d
- 1d
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['fan_num']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate
- DEPENDENT
- AntMinerS9.Hashrate
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['GHS 5s']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate6
- DEPENDENT
- AntMinerS9.Hashrate6
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['chain_rate6']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate7
- DEPENDENT
- AntMinerS9.Hashrate7
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['chain_rate7']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate8
- DEPENDENT
- AntMinerS9.Hashrate8
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['chain_rate8']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastOnline_pool1
- DEPENDENT
- AntMinerS9.LS_online_pool1
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerS9Pool
-
-
-
-
- JSONPATH
-
- $[0]['Stratum Active']
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastOnline_pool2
- DEPENDENT
- AntMinerS9.LS_online_pool2
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerS9Pool
-
-
-
-
- JSONPATH
-
- $[1]['Stratum Active']
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastOnline_pool3
- DEPENDENT
- AntMinerS9.LS_online_pool3
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerS9Pool
-
-
-
-
- JSONPATH
-
- $[2]['Stratum Active']
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastTime_pool1
- DEPENDENT
- AntMinerS9.LS_pool1
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerS9Pool
-
-
-
-
- JSONPATH
-
- $[0]['Last Share Time']
-
-
-
- JAVASCRIPT
-
- var $123 = (value.replace(/:/g,''));
-return $123;
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastTime_pool2
- DEPENDENT
- AntMinerS9.LS_pool2
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerS9Pool
-
-
-
-
- JSONPATH
-
- $[1]['Last Share Time']
-
-
-
- JAVASCRIPT
-
- var $123 = (value.replace(/:/g,''));
-return $123;
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastTime_pool3
- DEPENDENT
- AntMinerS9.LS_pool3
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerS9Pool
-
-
-
-
- JSONPATH
-
- $[2]['Last Share Time']
-
-
-
- JAVASCRIPT
-
- var $123 = (value.replace(/:/g,''));
-return $123;
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Temp6
- DEPENDENT
- AntMinerS9.Temp6
- 0
- 1d
- 1d
- C
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['temp2_6']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Temp7
- DEPENDENT
- AntMinerS9.Temp7
- 0
- 1d
- 1d
- C
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['temp2_7']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Temp8
- DEPENDENT
- AntMinerS9.Temp8
- 0
- 1d
- 1d
- C
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[1]['temp2_8']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Type
- DEPENDENT
- AntMinerS9.Type
- 0
- 1d
- 0
- TEXT
- TYPE
-
-
- AntMinerS9
-
-
-
-
- JSONPATH
-
- $[0]['Type']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- UP_DOwn
- SIMPLE
- icmpping
- 60s
- 1d
- 1d
-
-
- AntMinerS9
-
-
-
- Service state
-
-
- -
- AntMinerGetAllpool
- EXTERNAL
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
- 300s
- 0
- 0
- TEXT
-
-
- AntMinerS9Pool
-
-
-
- -
- AntMinerGetAllstats
- EXTERNAL
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
- 300s
- 0
- 0
- TEXT
-
-
- AntMinerS9All
-
-
-
- -
- Asic
- SIMPLE
- net.tcp.service[tcp,,4028]
- 60s
- 1d
- 1d
-
-
- AntMinerS9
-
-
-
- Service state
-
-
-
-
-
- {$FAN_LOW}
- 800
-
-
- {$HASH_LOW}
- 11
-
-
- {$HOST.PORT}
- 4028
-
-
- {$LS_TIME}
- 1000
-
-
- {$TEMP_LOW}
- 90
-
-
- {$UNAME}
- root
-
-
- {$UPASS}
- Okey123
-
-
-
-
-
-
- ({AntMiner S9:AntMinerS9.Hashrate.nodata(15m)}=1 or {AntMiner S9:AntMinerS9.Hashrate.last(5m)}=0) and {AntMiner S9:icmpping.last()}=1
- AntMiner S9 Hashrate information not available on {HOST.NAME}
- HIGH
- YES
-
-
- ({AntMiner S9:AntMinerS9.Temp6.min(15m)}>{$TEMP_LOW} or {AntMiner S9:AntMinerS9.Temp7.min(15m)}>{$TEMP_LOW} or {AntMiner S9:AntMinerS9.Temp8.min(15m)}>{$TEMP_LOW}) and {AntMiner S9:icmpping.last()}=1
- RECOVERY_EXPRESSION
- ({AntMiner S9:AntMinerS9.Temp6.last()}<{$TEMP_LOW} or {AntMiner S9:AntMinerS9.Temp7.last()}<{$TEMP_LOW} or {AntMiner S9:AntMinerS9.Temp8.last()}<{$TEMP_LOW}) and {AntMiner S9:icmpping.last()}=1
- AntMiner S9 High temp on {HOST.NAME}
- AVERAGE
- YES
-
-
- {AntMiner S9:icmpping.max(#3)}=0 and {AntMiner S9:net.tcp.service[tcp,,4028].last(#3)}=0
- RECOVERY_EXPRESSION
- {AntMiner S9:icmpping.last()}=1 or {AntMiner S9:net.tcp.service[tcp,,4028].last()}=1
- AntMiner S9 Host DOWN {HOST.NAME}
- DISASTER
- YES
-
-
- (({AntMiner S9:AntMinerS9.Fan5.last()}<{$FAN_LOW} and {AntMiner S9:AntMinerS9.Fan5.last(#2)}<{$FAN_LOW} and {AntMiner S9:AntMinerS9.Fan5.last(#3)}<{$FAN_LOW}) or ({AntMiner S9:AntMinerS9.Fan6.last()}<{$FAN_LOW} and {AntMiner S9:AntMinerS9.Fan6.last(#2)}<{$FAN_LOW} and {AntMiner S9:AntMinerS9.Fan6.last(#3)}<{$FAN_LOW})) and {AntMiner S9:icmpping.last()}=1
- AntMiner S9 low fan speed {HOST.NAME}
- YES
-
-
- (({AntMiner S9:AntMinerS9.Hashrate.last()}<{$HASH_LOW} and {AntMiner S9:AntMinerS9.Hashrate.last()}>0) and {AntMiner S9:AntMinerS9.Elapsed.last()}>600) and ({AntMiner S9:icmpping.last()}=1 and {AntMiner S9:net.tcp.service[tcp,,4028].last()}=1)
- RECOVERY_EXPRESSION
- {AntMiner S9:AntMinerS9.Hashrate.last()}>{$HASH_LOW} or {AntMiner S9:AntMinerS9.Hashrate.nodata(15m)}=1 or {AntMiner S9:icmpping.last()}=0
- AntMiner S9 Low hashrate on {HOST.NAME}
- WARNING
- YES
-
-
- ({AntMiner S9:icmpping.max(#1)}=1 and {AntMiner S9:net.tcp.service[tcp,,4028].last()}=1) and ({AntMiner S9:AntMinerS9.LS_online_pool1.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool1.last()}>{$LS_TIME}) or ({AntMiner S9:AntMinerS9.LS_online_pool2.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool2.last()}>{$LS_TIME}) or ({AntMiner S9:AntMinerS9.LS_online_pool3.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool3.last()}>{$LS_TIME})
- RECOVERY_EXPRESSION
- ({AntMiner S9:AntMinerS9.LS_online_pool1.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool1.last()}<{$LS_TIME}) or ({AntMiner S9:AntMinerS9.LS_online_pool2.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool2.last()}<{$LS_TIME}) or ({AntMiner S9:AntMinerS9.LS_online_pool3.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool3.last()}<{$LS_TIME})
- AntMiner S9 превышено время шары {HOST.NAME}
- INFO
-
-
- ({AntMiner S9:AntMinerS9.Fan_num.last()}=0) and ({AntMiner S9:icmpping.last()}=1) and ({AntMiner S9:AntMinerS9.Elapsed.last()}={AntMiner S9:AntMinerS9.Elapsed.prev()}) and ({AntMiner S9:AntMinerS9.Elapsed.last()}>0)
- RECOVERY_EXPRESSION
- {AntMiner S9:AntMinerS9.Fan_num.last()}=2
- Асик завис !!!
- DISABLED
- YES
-
-
-
-
- Service state
-
-
- 0
- Down
-
-
- 1
- Up
-
-
-
-
-
diff --git a/template-antminer-s9.yaml b/template-antminer-s9.yaml
new file mode 100644
index 0000000..17e687f
--- /dev/null
+++ b/template-antminer-s9.yaml
@@ -0,0 +1,524 @@
+zabbix_export:
+ version: '5.2'
+ date: '2022-04-16T23:16:24Z'
+ groups:
+ -
+ name: 'AntMiner S9'
+ templates:
+ -
+ template: 'AntMiner S9'
+ name: 'AntMiner S9'
+ groups:
+ -
+ name: 'AntMiner S9'
+ applications:
+ -
+ name: AntMinerS9
+ -
+ name: AntMinerS9All
+ -
+ name: AntMinerS9Pool
+ items:
+ -
+ name: CompileTime
+ type: DEPENDENT
+ key: AntMinerS9.CompileTime
+ delay: '0'
+ history: 1d
+ trends: '0'
+ status: DISABLED
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''CompileTime'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Elapsed
+ type: DEPENDENT
+ key: AntMinerS9.Elapsed
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: s
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''Elapsed'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan5
+ type: DEPENDENT
+ key: AntMinerS9.Fan5
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: RPM
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan5'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan6
+ type: DEPENDENT
+ key: AntMinerS9.Fan6
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: RPM
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan6'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan_num
+ type: DEPENDENT
+ key: AntMinerS9.Fan_num
+ delay: '0'
+ history: 1d
+ trends: 1d
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan_num'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate
+ type: DEPENDENT
+ key: AntMinerS9.Hashrate
+ delay: '0'
+ history: 1d
+ trends: 1d
+ value_type: FLOAT
+ units: TH/s
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''GHS 5s'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate6
+ type: DEPENDENT
+ key: AntMinerS9.Hashrate6
+ delay: '0'
+ history: 1d
+ trends: 1d
+ value_type: FLOAT
+ units: TH/s
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''chain_rate6'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate7
+ type: DEPENDENT
+ key: AntMinerS9.Hashrate7
+ delay: '0'
+ history: 1d
+ trends: 1d
+ value_type: FLOAT
+ units: TH/s
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''chain_rate7'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate8
+ type: DEPENDENT
+ key: AntMinerS9.Hashrate8
+ delay: '0'
+ history: 1d
+ trends: 1d
+ value_type: FLOAT
+ units: TH/s
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''chain_rate8'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastOnline_pool1
+ type: DEPENDENT
+ key: AntMinerS9.LS_online_pool1
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerS9Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''Stratum Active'']'
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastOnline_pool2
+ type: DEPENDENT
+ key: AntMinerS9.LS_online_pool2
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerS9Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''Stratum Active'']'
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastOnline_pool3
+ type: DEPENDENT
+ key: AntMinerS9.LS_online_pool3
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerS9Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[2][''Stratum Active'']'
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastTime_pool1
+ type: DEPENDENT
+ key: AntMinerS9.LS_pool1
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerS9Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''Last Share Time'']'
+ -
+ type: JAVASCRIPT
+ parameters:
+ - |
+ var $123 = (value.replace(/:/g,''));
+ return $123;
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastTime_pool2
+ type: DEPENDENT
+ key: AntMinerS9.LS_pool2
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerS9Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''Last Share Time'']'
+ -
+ type: JAVASCRIPT
+ parameters:
+ - |
+ var $123 = (value.replace(/:/g,''));
+ return $123;
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastTime_pool3
+ type: DEPENDENT
+ key: AntMinerS9.LS_pool3
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerS9Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[2][''Last Share Time'']'
+ -
+ type: JAVASCRIPT
+ parameters:
+ - |
+ var $123 = (value.replace(/:/g,''));
+ return $123;
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Temp6
+ type: DEPENDENT
+ key: AntMinerS9.Temp6
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: C
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''temp2_6'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Temp7
+ type: DEPENDENT
+ key: AntMinerS9.Temp7
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: C
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''temp2_7'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Temp8
+ type: DEPENDENT
+ key: AntMinerS9.Temp8
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: C
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''temp2_8'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Type
+ type: DEPENDENT
+ key: AntMinerS9.Type
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ inventory_link: TYPE
+ applications:
+ -
+ name: AntMinerS9
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''Type'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: UP_DOwn
+ type: SIMPLE
+ key: icmpping
+ delay: 60s
+ history: 1d
+ trends: 1d
+ applications:
+ -
+ name: AntMinerS9
+ valuemap:
+ name: 'Service state'
+ -
+ name: AntMinerGetAllpool
+ type: EXTERNAL
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ delay: 300s
+ history: '0'
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerS9Pool
+ -
+ name: AntMinerGetAllstats
+ type: EXTERNAL
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ delay: 300s
+ history: '0'
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerS9All
+ -
+ name: Asic
+ type: SIMPLE
+ key: 'net.tcp.service[tcp,,4028]'
+ delay: 60s
+ history: 1d
+ trends: 1d
+ applications:
+ -
+ name: AntMinerS9
+ valuemap:
+ name: 'Service state'
+ macros:
+ -
+ macro: '{$FAN_LOW}'
+ value: '800'
+ -
+ macro: '{$HASH_LOW}'
+ value: '11'
+ -
+ macro: '{$HOST.PORT}'
+ value: '4028'
+ -
+ macro: '{$LS_TIME}'
+ value: '1000'
+ -
+ macro: '{$TEMP_LOW}'
+ value: '90'
+ -
+ macro: '{$UNAME}'
+ value: root
+ -
+ macro: '{$UPASS}'
+ value: Okey123
+ triggers:
+ -
+ expression: '({AntMiner S9:AntMinerS9.Hashrate.nodata(15m)}=1 or {AntMiner S9:AntMinerS9.Hashrate.last(5m)}=0) and {AntMiner S9:icmpping.last()}=1'
+ name: 'AntMiner S9 Hashrate information not available on {HOST.NAME}'
+ priority: HIGH
+ manual_close: 'YES'
+ -
+ expression: '({AntMiner S9:AntMinerS9.Temp6.min(15m)}>{$TEMP_LOW} or {AntMiner S9:AntMinerS9.Temp7.min(15m)}>{$TEMP_LOW} or {AntMiner S9:AntMinerS9.Temp8.min(15m)}>{$TEMP_LOW}) and {AntMiner S9:icmpping.last()}=1'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '({AntMiner S9:AntMinerS9.Temp6.last()}<{$TEMP_LOW} or {AntMiner S9:AntMinerS9.Temp7.last()}<{$TEMP_LOW} or {AntMiner S9:AntMinerS9.Temp8.last()}<{$TEMP_LOW}) and {AntMiner S9:icmpping.last()}=1'
+ name: 'AntMiner S9 High temp on {HOST.NAME}'
+ priority: AVERAGE
+ manual_close: 'YES'
+ -
+ expression: '{AntMiner S9:icmpping.max(#3)}=0 and {AntMiner S9:net.tcp.service[tcp,,4028].last(#3)}=0'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '{AntMiner S9:icmpping.last()}=1 or {AntMiner S9:net.tcp.service[tcp,,4028].last()}=1'
+ name: 'AntMiner S9 Host DOWN {HOST.NAME}'
+ priority: DISASTER
+ manual_close: 'YES'
+ -
+ expression: '(({AntMiner S9:AntMinerS9.Fan5.last()}<{$FAN_LOW} and {AntMiner S9:AntMinerS9.Fan5.last(#2)}<{$FAN_LOW} and {AntMiner S9:AntMinerS9.Fan5.last(#3)}<{$FAN_LOW}) or ({AntMiner S9:AntMinerS9.Fan6.last()}<{$FAN_LOW} and {AntMiner S9:AntMinerS9.Fan6.last(#2)}<{$FAN_LOW} and {AntMiner S9:AntMinerS9.Fan6.last(#3)}<{$FAN_LOW})) and {AntMiner S9:icmpping.last()}=1'
+ name: 'AntMiner S9 low fan speed {HOST.NAME}'
+ manual_close: 'YES'
+ -
+ expression: '(({AntMiner S9:AntMinerS9.Hashrate.last()}<{$HASH_LOW} and {AntMiner S9:AntMinerS9.Hashrate.last()}>0) and {AntMiner S9:AntMinerS9.Elapsed.last()}>600) and ({AntMiner S9:icmpping.last()}=1 and {AntMiner S9:net.tcp.service[tcp,,4028].last()}=1)'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '{AntMiner S9:AntMinerS9.Hashrate.last()}>{$HASH_LOW} or {AntMiner S9:AntMinerS9.Hashrate.nodata(15m)}=1 or {AntMiner S9:icmpping.last()}=0'
+ name: 'AntMiner S9 Low hashrate on {HOST.NAME}'
+ priority: WARNING
+ manual_close: 'YES'
+ -
+ expression: '({AntMiner S9:icmpping.max(#1)}=1 and {AntMiner S9:net.tcp.service[tcp,,4028].last()}=1) and ({AntMiner S9:AntMinerS9.LS_online_pool1.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool1.last()}>{$LS_TIME}) or ({AntMiner S9:AntMinerS9.LS_online_pool2.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool2.last()}>{$LS_TIME}) or ({AntMiner S9:AntMinerS9.LS_online_pool3.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool3.last()}>{$LS_TIME})'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '({AntMiner S9:AntMinerS9.LS_online_pool1.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool1.last()}<{$LS_TIME}) or ({AntMiner S9:AntMinerS9.LS_online_pool2.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool2.last()}<{$LS_TIME}) or ({AntMiner S9:AntMinerS9.LS_online_pool3.str(true, #3)}=1 and {AntMiner S9:AntMinerS9.LS_pool3.last()}<{$LS_TIME})'
+ name: 'AntMiner S9 превышено время шары {HOST.NAME}'
+ priority: INFO
+ -
+ expression: '({AntMiner S9:AntMinerS9.Fan_num.last()}=0) and ({AntMiner S9:icmpping.last()}=1) and ({AntMiner S9:AntMinerS9.Elapsed.last()}={AntMiner S9:AntMinerS9.Elapsed.prev()}) and ({AntMiner S9:AntMinerS9.Elapsed.last()}>0)'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '{AntMiner S9:AntMinerS9.Fan_num.last()}=2'
+ name: 'Асик завис !!!'
+ status: DISABLED
+ manual_close: 'YES'
+ value_maps:
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
diff --git a/template-antminer-t17.xml b/template-antminer-t17.xml
deleted file mode 100644
index d60cd52..0000000
--- a/template-antminer-t17.xml
+++ /dev/null
@@ -1,759 +0,0 @@
-
-
- 5.2
- 2022-04-03T11:07:21Z
-
-
- Antminer T17
-
-
-
-
- AntMiner T17
- AntMiner T17
-
-
- Antminer T17
-
-
-
-
- AntMinerT17
-
-
- AntMinerT17All
-
-
- AntMinerT17Pool
-
-
-
- -
- CompileTime
- DEPENDENT
- AntMinerT17.CompileTime
- 0
- 1d
- 0
- DISABLED
- TEXT
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[0]['CompileTime']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Elapsed
- DEPENDENT
- AntMinerT17.Elapsed
- 0
- 1d
- 1d
- s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['Elapsed']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan1
- DEPENDENT
- AntMinerT17.Fan1
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan1']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan2
- DEPENDENT
- AntMinerT17.Fan2
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan2']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan3
- DEPENDENT
- AntMinerT17.Fan3
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan3']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan4
- DEPENDENT
- AntMinerT17.Fan4
- 0
- 1d
- 1d
- RPM
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan4']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Fan_num
- DEPENDENT
- AntMinerT17.Fan_num
- 0
- 1d
- 1d
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['fan_num']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate
- DEPENDENT
- AntMinerT17.Hashrate
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['GHS 5s']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate5
- DEPENDENT
- AntMinerT17.Hashrate5
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['chain_rate1']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate6
- DEPENDENT
- AntMinerT17.Hashrate6
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['chain_rate2']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Hashrate7
- DEPENDENT
- AntMinerT17.Hashrate7
- 0
- 1d
- 1d
- FLOAT
- TH/s
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['chain_rate3']
-
-
-
- MULTIPLIER
-
- 0.001
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastOnline_pool1
- DEPENDENT
- AntMinerT17.LS_online_pool1
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[0]['Stratum Active']
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastOnline_pool2
- DEPENDENT
- AntMinerT17.LS_online_pool2
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[1]['Stratum Active']
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastOnline_pool3
- DEPENDENT
- AntMinerT17.LS_online_pool3
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[2]['Stratum Active']
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastTime_pool1
- DEPENDENT
- AntMinerT17.LS_pool1
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[0]['Last Share Time']
-
-
-
- JAVASCRIPT
-
- var $123 = (value.replace(/:/g,''));
-return $123;
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastTime_pool2
- DEPENDENT
- AntMinerT17.LS_pool2
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[1]['Last Share Time']
-
-
-
- JAVASCRIPT
-
- var $123 = (value.replace(/:/g,''));
-return $123;
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- LastTime_pool3
- DEPENDENT
- AntMinerT17.LS_pool3
- 0
- 1d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
-
- JSONPATH
-
- $[2]['Last Share Time']
-
-
-
- JAVASCRIPT
-
- var $123 = (value.replace(/:/g,''));
-return $123;
-
-
-
-
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Temp1
- DEPENDENT
- AntMinerT17.Temp1
- 0
- 1d
- 1d
- C
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['temp2_1']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Temp2
- DEPENDENT
- AntMinerT17.Temp2
- 0
- 1d
- 1d
- C
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['temp2_2']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Temp3
- DEPENDENT
- AntMinerT17.Temp3
- 0
- 1d
- 1d
- C
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[1]['temp2_3']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- Type
- DEPENDENT
- AntMinerT17.Type
- 0
- 1d
- 0
- TEXT
- TYPE
-
-
- AntMinerT17
-
-
-
-
- JSONPATH
-
- $[0]['Type']
-
-
-
-
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
-
-
- -
- UP_DOwn
- SIMPLE
- icmpping
- 60s
- 1d
- 1d
-
-
- AntMinerT17
-
-
-
- Service state
-
-
- -
- AntMinerGetAllpool
- EXTERNAL
- Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]
- 300s
- 0d
- 0
- TEXT
-
-
- AntMinerT17Pool
-
-
-
- -
- AntMinerGetAllstats
- EXTERNAL
- Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]
- 300s
- 0d
- 0
- TEXT
-
-
- AntMinerT17All
-
-
-
- -
- Asic
- SIMPLE
- net.tcp.service[tcp,,4028]
- 60s
- 1d
- 1d
-
-
- AntMinerT17
-
-
-
- Service state
-
-
-
-
-
- {$FAN_LOW}
- 500
-
-
- {$HASH_LOW}
- 27
-
-
- {$HOST.PORT}
- 4028
-
-
- {$LS_TIME}
- 1000
-
-
- {$TEMP_LOW}
- 90
-
-
- {$UNAME}
- root
-
-
- {$UPASS}
- SECRET_TEXT
-
-
-
-
-
-
- ({AntMiner T17:AntMinerT17.Hashrate.nodata(15m)}=1 or {AntMiner T17:AntMinerT17.Hashrate.last(5m)}=0) and {AntMiner T17:icmpping.last()}=1
- AntMiner T17 Hashrate information not available on {HOST.NAME}
- HIGH
- YES
-
-
- ({AntMiner T17:AntMinerT17.Temp1.min(15m)}>{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp2.min(15m)}>{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp3.min(15m)}>{$TEMP_LOW}) and {AntMiner T17:icmpping.last()}=1
- RECOVERY_EXPRESSION
- ({AntMiner T17:AntMinerT17.Temp1.last()}<{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp2.last()}<{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp3.last()}<{$TEMP_LOW}) and {AntMiner T17:icmpping.last()}=1
- AntMiner T17 High temp on {HOST.NAME}
- AVERAGE
- YES
-
-
- {AntMiner T17:icmpping.max(#3)}=0 and {AntMiner T17:net.tcp.service[tcp,,4028].last(#3)}=0
- RECOVERY_EXPRESSION
- {AntMiner T17:icmpping.last()}=1 or {AntMiner T17:net.tcp.service[tcp,,4028].last()}=1
- AntMiner T17 Host DOWN {HOST.NAME}
- DISASTER
- YES
-
-
- (({AntMiner T17:AntMinerT17.Fan1.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan1.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan1.last(#3)}<{$FAN_LOW}) or ({AntMiner T17:AntMinerT17.Fan2.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan2.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan2.last(#3)}<{$FAN_LOW}) or ({AntMiner T17:AntMinerT17.Fan3.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan3.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan3.last(#3)}<{$FAN_LOW}) or ({AntMiner T17:AntMinerT17.Fan4.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan4.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan4.last(#3)}<{$FAN_LOW})) and {AntMiner T17:icmpping.last()}=1
- AntMiner T17 low fan speed {HOST.NAME}
- YES
-
-
- (({AntMiner T17:AntMinerT17.Hashrate.last()}<{$HASH_LOW} and {AntMiner T17:AntMinerT17.Hashrate.last()} > 0) and {AntMiner T17:AntMinerT17.Elapsed.last()}>600) and ({AntMiner T17:icmpping.last()}=1 and {AntMiner T17:net.tcp.service[tcp,,4028].last()}=1)
- RECOVERY_EXPRESSION
- {AntMiner T17:AntMinerT17.Hashrate.last()}>{$HASH_LOW} or {AntMiner T17:AntMinerT17.Hashrate.nodata(15m)}=1
- AntMiner T17 Low hashrate on {HOST.NAME}
- WARNING
- YES
-
-
- ({AntMiner T17:icmpping.max(#1)}=1 and {AntMiner T17:net.tcp.service[tcp,,4028].last()}=1) and ({AntMiner T17:AntMinerT17.LS_online_pool1.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool1.last()}>{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool2.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool2.last()}>{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool3.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool3.last()}>{$LS_TIME})
- RECOVERY_EXPRESSION
- ({AntMiner T17:AntMinerT17.LS_online_pool1.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool1.last()}<{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool2.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool2.last()}<{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool3.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool3.last()}<{$LS_TIME})
- AntMiner T17 превышено время шары {HOST.NAME}
- INFO
- YES
-
-
-
-
- Service state
-
-
- 0
- Down
-
-
- 1
- Up
-
-
-
-
-
diff --git a/template-antminer-t17.yaml b/template-antminer-t17.yaml
new file mode 100644
index 0000000..52a5414
--- /dev/null
+++ b/template-antminer-t17.yaml
@@ -0,0 +1,554 @@
+zabbix_export:
+ version: '5.2'
+ date: '2022-04-16T23:18:06Z'
+ groups:
+ -
+ name: 'Antminer T17'
+ templates:
+ -
+ template: 'AntMiner T17'
+ name: 'AntMiner T17'
+ groups:
+ -
+ name: 'Antminer T17'
+ applications:
+ -
+ name: AntMinerT17
+ -
+ name: AntMinerT17All
+ -
+ name: AntMinerT17Pool
+ items:
+ -
+ name: CompileTime
+ type: DEPENDENT
+ key: AntMinerT17.CompileTime
+ delay: '0'
+ history: 1d
+ trends: '0'
+ status: DISABLED
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''CompileTime'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Elapsed
+ type: DEPENDENT
+ key: AntMinerT17.Elapsed
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: s
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''Elapsed'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan1
+ type: DEPENDENT
+ key: AntMinerT17.Fan1
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: RPM
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan1'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan2
+ type: DEPENDENT
+ key: AntMinerT17.Fan2
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: RPM
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan2'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan3
+ type: DEPENDENT
+ key: AntMinerT17.Fan3
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: RPM
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan3'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan4
+ type: DEPENDENT
+ key: AntMinerT17.Fan4
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: RPM
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan4'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Fan_num
+ type: DEPENDENT
+ key: AntMinerT17.Fan_num
+ delay: '0'
+ history: 1d
+ trends: 1d
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''fan_num'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate
+ type: DEPENDENT
+ key: AntMinerT17.Hashrate
+ delay: '0'
+ history: 1d
+ trends: 1d
+ value_type: FLOAT
+ units: TH/s
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''GHS 5s'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate5
+ type: DEPENDENT
+ key: AntMinerT17.Hashrate5
+ delay: '0'
+ history: 1d
+ trends: 1d
+ value_type: FLOAT
+ units: TH/s
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''chain_rate1'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate6
+ type: DEPENDENT
+ key: AntMinerT17.Hashrate6
+ delay: '0'
+ history: 1d
+ trends: 1d
+ value_type: FLOAT
+ units: TH/s
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''chain_rate2'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Hashrate7
+ type: DEPENDENT
+ key: AntMinerT17.Hashrate7
+ delay: '0'
+ history: 1d
+ trends: 1d
+ value_type: FLOAT
+ units: TH/s
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''chain_rate3'']'
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.001'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastOnline_pool1
+ type: DEPENDENT
+ key: AntMinerT17.LS_online_pool1
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerT17Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''Stratum Active'']'
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastOnline_pool2
+ type: DEPENDENT
+ key: AntMinerT17.LS_online_pool2
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerT17Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''Stratum Active'']'
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastOnline_pool3
+ type: DEPENDENT
+ key: AntMinerT17.LS_online_pool3
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerT17Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[2][''Stratum Active'']'
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastTime_pool1
+ type: DEPENDENT
+ key: AntMinerT17.LS_pool1
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerT17Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''Last Share Time'']'
+ -
+ type: JAVASCRIPT
+ parameters:
+ - |
+ var $123 = (value.replace(/:/g,''));
+ return $123;
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastTime_pool2
+ type: DEPENDENT
+ key: AntMinerT17.LS_pool2
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerT17Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''Last Share Time'']'
+ -
+ type: JAVASCRIPT
+ parameters:
+ - |
+ var $123 = (value.replace(/:/g,''));
+ return $123;
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: LastTime_pool3
+ type: DEPENDENT
+ key: AntMinerT17.LS_pool3
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerT17Pool
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[2][''Last Share Time'']'
+ -
+ type: JAVASCRIPT
+ parameters:
+ - |
+ var $123 = (value.replace(/:/g,''));
+ return $123;
+ master_item:
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Temp1
+ type: DEPENDENT
+ key: AntMinerT17.Temp1
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: C
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''temp2_1'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Temp2
+ type: DEPENDENT
+ key: AntMinerT17.Temp2
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: C
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''temp2_2'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Temp3
+ type: DEPENDENT
+ key: AntMinerT17.Temp3
+ delay: '0'
+ history: 1d
+ trends: 1d
+ units: C
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[1][''temp2_3'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: Type
+ type: DEPENDENT
+ key: AntMinerT17.Type
+ delay: '0'
+ history: 1d
+ trends: '0'
+ value_type: TEXT
+ inventory_link: TYPE
+ applications:
+ -
+ name: AntMinerT17
+ preprocessing:
+ -
+ type: JSONPATH
+ parameters:
+ - '$[0][''Type'']'
+ master_item:
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ -
+ name: UP_DOwn
+ type: SIMPLE
+ key: icmpping
+ delay: 60s
+ history: 1d
+ trends: 1d
+ applications:
+ -
+ name: AntMinerT17
+ valuemap:
+ name: 'Service state'
+ -
+ name: AntMinerGetAllpool
+ type: EXTERNAL
+ key: 'Miner["pools", "{HOST.CONN}", "{$HOST.PORT}"]'
+ delay: 300s
+ history: 0d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerT17Pool
+ -
+ name: AntMinerGetAllstats
+ type: EXTERNAL
+ key: 'Miner["stats", "{HOST.CONN}", "{$HOST.PORT}"]'
+ delay: 300s
+ history: 0d
+ trends: '0'
+ value_type: TEXT
+ applications:
+ -
+ name: AntMinerT17All
+ -
+ name: Asic
+ type: SIMPLE
+ key: 'net.tcp.service[tcp,,4028]'
+ delay: 60s
+ history: 1d
+ trends: 1d
+ applications:
+ -
+ name: AntMinerT17
+ valuemap:
+ name: 'Service state'
+ macros:
+ -
+ macro: '{$FAN_LOW}'
+ value: '500'
+ -
+ macro: '{$HASH_LOW}'
+ value: '27'
+ -
+ macro: '{$HOST.PORT}'
+ value: '4028'
+ -
+ macro: '{$LS_TIME}'
+ value: '1000'
+ -
+ macro: '{$TEMP_LOW}'
+ value: '90'
+ -
+ macro: '{$UNAME}'
+ value: root
+ -
+ macro: '{$UPASS}'
+ type: SECRET_TEXT
+ triggers:
+ -
+ expression: '({AntMiner T17:AntMinerT17.Hashrate.nodata(15m)}=1 or {AntMiner T17:AntMinerT17.Hashrate.last(5m)}=0) and {AntMiner T17:icmpping.last()}=1'
+ name: 'AntMiner T17 Hashrate information not available on {HOST.NAME}'
+ priority: HIGH
+ manual_close: 'YES'
+ -
+ expression: '({AntMiner T17:AntMinerT17.Temp1.min(15m)}>{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp2.min(15m)}>{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp3.min(15m)}>{$TEMP_LOW}) and {AntMiner T17:icmpping.last()}=1'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '({AntMiner T17:AntMinerT17.Temp1.last()}<{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp2.last()}<{$TEMP_LOW} or {AntMiner T17:AntMinerT17.Temp3.last()}<{$TEMP_LOW}) and {AntMiner T17:icmpping.last()}=1'
+ name: 'AntMiner T17 High temp on {HOST.NAME}'
+ priority: AVERAGE
+ manual_close: 'YES'
+ -
+ expression: '{AntMiner T17:icmpping.max(#3)}=0 and {AntMiner T17:net.tcp.service[tcp,,4028].last(#3)}=0'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '{AntMiner T17:icmpping.last()}=1 or {AntMiner T17:net.tcp.service[tcp,,4028].last()}=1'
+ name: 'AntMiner T17 Host DOWN {HOST.NAME}'
+ priority: DISASTER
+ manual_close: 'YES'
+ -
+ expression: '(({AntMiner T17:AntMinerT17.Fan1.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan1.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan1.last(#3)}<{$FAN_LOW}) or ({AntMiner T17:AntMinerT17.Fan2.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan2.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan2.last(#3)}<{$FAN_LOW}) or ({AntMiner T17:AntMinerT17.Fan3.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan3.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan3.last(#3)}<{$FAN_LOW}) or ({AntMiner T17:AntMinerT17.Fan4.last()}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan4.last(#2)}<{$FAN_LOW} and {AntMiner T17:AntMinerT17.Fan4.last(#3)}<{$FAN_LOW})) and {AntMiner T17:icmpping.last()}=1'
+ name: 'AntMiner T17 low fan speed {HOST.NAME}'
+ manual_close: 'YES'
+ -
+ expression: '(({AntMiner T17:AntMinerT17.Hashrate.last()}<{$HASH_LOW} and {AntMiner T17:AntMinerT17.Hashrate.last()} > 0) and {AntMiner T17:AntMinerT17.Elapsed.last()}>600) and ({AntMiner T17:icmpping.last()}=1 and {AntMiner T17:net.tcp.service[tcp,,4028].last()}=1)'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '{AntMiner T17:AntMinerT17.Hashrate.last()}>{$HASH_LOW} or {AntMiner T17:AntMinerT17.Hashrate.nodata(15m)}=1'
+ name: 'AntMiner T17 Low hashrate on {HOST.NAME}'
+ priority: WARNING
+ manual_close: 'YES'
+ -
+ expression: '({AntMiner T17:icmpping.max(#1)}=1 and {AntMiner T17:net.tcp.service[tcp,,4028].last()}=1) and ({AntMiner T17:AntMinerT17.LS_online_pool1.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool1.last()}>{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool2.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool2.last()}>{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool3.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool3.last()}>{$LS_TIME})'
+ recovery_mode: RECOVERY_EXPRESSION
+ recovery_expression: '({AntMiner T17:AntMinerT17.LS_online_pool1.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool1.last()}<{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool2.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool2.last()}<{$LS_TIME}) or ({AntMiner T17:AntMinerT17.LS_online_pool3.str(true, #3)}=1 and {AntMiner T17:AntMinerT17.LS_pool3.last()}<{$LS_TIME})'
+ name: 'AntMiner T17 превышено время шары {HOST.NAME}'
+ priority: INFO
+ manual_close: 'YES'
+ value_maps:
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up