-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdd-gen-erdvcfg-v1.sh
75 lines (67 loc) · 2.92 KB
/
dd-gen-erdvcfg-v1.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
OUT_FILE="elrond.conf"
echo " # Alarms for Elrond node issues
# /etc/netdata/health.d/elrond.conf:
" > $OUT_FILE
for iteration in $(seq 0 $(($1-1)))
do
nodename="$(grep -oP '(?<=NodeDisplayName = )[^ ]*' ~/elrond-nodes/node-${iteration}/config/prefs.toml)"
nodename=${nodename:1: -1}
echo ' # Elrond node '${iteration}' is not maintaining sync' >> $OUT_FILE
echo ' alarm: elrond_sync-node'${iteration}'' >> $OUT_FILE
echo ' on: elrond.sync-node'${iteration}'' >> $OUT_FILE
echo ' calc: $current - $synced
every: 1m
repeat: on warning 600 critical 60
warn: $this > (($status >= $WARNING ) ? ( 2 ) : ( 20 ))
crit: $this > (($status == $CRITICAL) ? ( 20 ) : ( 200 ))' >> $OUT_FILE
echo ' info: Elrond node '$nodename' is out of syncronization' >> $OUT_FILE
echo ' to: sysadmin
' >> $OUT_FILE
done
for iteration in $(seq 0 $(($1-1)))
do
nodename="$(grep -oP '(?<=NodeDisplayName = )[^ ]*' ~/elrond-nodes/node-${iteration}/config/prefs.toml)"
nodename=${nodename:1: -1}
echo ' # Elrond node '${iteration}' rate dropping' >> $OUT_FILE
echo ' alarm: elrond_rating-node'${iteration}'' >> $OUT_FILE
echo ' on: elrond.rating-node'${iteration}'' >> $OUT_FILE
echo ' calc: $rating
every: 5m
repeat: on warning 600 critical 60
warn: $this < (($status >= $WARNING ) ? ( 99 ) : ( 98 ))
crit: $this < (($status == $CRITICAL ) ? ( 98 ) : ( 85 ))' >> $OUT_FILE
echo ' info: Elrond node '$nodename' rating is dropping' >> $OUT_FILE
echo ' to: sysadmin
' >> $OUT_FILE
done
for iteration in $(seq 0 $(($1-1)))
do
nodename="$(grep -oP '(?<=NodeDisplayName = )[^ ]*' ~/elrond-nodes/node-${iteration}/config/prefs.toml)"
nodename=${nodename:1: -1}
echo ' # Elrond node '${iteration}' leader blocks proposed/accepted hitrate dropping' >> $OUT_FILE
echo ' alarm: elrond_leaderblocks-node'${iteration}'' >> $OUT_FILE
echo ' on: elrond.leaderblocks-node'${iteration}'' >> $OUT_FILE
echo ' calc: $leaderproposed - $leaderaccepted
every: 1m
warn: $this > (($status >= $WARNING ) ? ( 01 ) : ( 02 ))
crit: $this > (($status == $CRITICAL ) ? ( 02 ) : ( 05 ))' >> $OUT_FILE
echo ' info: Elrond node '$nodename' leader blocks proposed/accepted hitrate is dropping' >> $OUT_FILE
echo ' to: sysadmin
' >> $OUT_FILE
done
for iteration in $(seq 0 $(($1-1)))
do
nodename="$(grep -oP '(?<=NodeDisplayName = )[^ ]*' ~/elrond-nodes/node-${iteration}/config/prefs.toml)"
nodename=${nodename:1: -1}
echo ' # Elrond node '${iteration}' peers dropping' >> $OUT_FILE
echo ' alarm: elrond_peers-node'${iteration}'' >> $OUT_FILE
echo ' on: elrond.peers-node'${iteration}'' >> $OUT_FILE
echo ' calc: $peers
every: 1m
warn: $this < (($status >= $WARNING ) ? ( 45 ) : ( 40 ))
crit: $this < (($status == $CRITICAL ) ? ( 40 ) : ( 30 ))' >> $OUT_FILE
echo ' info: Elrond node '$nodename' peers are dropping' >> $OUT_FILE
echo ' to: sysadmin
' >> $OUT_FILE
done