-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdd-gen-erdocfg-v1.sh
42 lines (36 loc) · 1.48 KB
/
dd-gen-erdocfg-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
#!/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}' 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