blob: 00789258590bb30038c47fd8ee37d51d621ac68c (
plain)
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#!/bin/bash
#The health directory to put the alarms
HEALTHDIR="@configdir_POST@/health.d/"
#the current time
OUTDIR="alarms"
QUERY="/api/v1/alarms?all"
MURL="http://localhost:19999$QUERY"
#error messages
RED='\033[0;31m'
GREEN='\033[0;32m'
NOCOLOR='\033[0m'
ALARMTEST="dev_dim_template"
change_alarm_file() {
if [ -f "$1" ]; then
rm "$1"
fi
#copy keeping the permissions
cp -a "$2" "$3"
}
netdata_test_download() {
grep "HTTP/1.1 200 OK" "$1" 2>/dev/null 1>/dev/null
TEST="$?"
if [ "$TEST" -ne "0" ]; then
echo -e "${RED} Error to get the alarm log. ${NOCOLOR}"
exit 1
fi
TOTALARM=$(grep "$ALARMTEST" "$2" | grep name | cut -d: -f2 | grep -c "$ALARMTEST")
if [ "$TOTALARM" -ne "$3" ]; then
echo -e "${RED} The number of actives alarms with the name $SYSTEMALARM is wrong ${NOCOLOR}"
exit 1
fi
}
get_the_logs() {
curl -v -k --create-dirs -o "$OUTDIR/$1.out" "$MURL" 2> "$OUTDIR/$1.err"
netdata_test_download "$OUTDIR/$1.err" "$OUTDIR/$1.out" "$2"
}
process_data() {
netdata -D &
NETDATAPID=$!
echo -e "${NOCOLOR}Sleeping during 15 seconds to create alarms"
sleep 15
kill $NETDATAPID
get_the_logs "$1" "$2"
}
mkdir "$OUTDIR"
CREATEDIR="$?"
if [ "$CREATEDIR" -ne "0" ]; then
echo -e "${RED}Cannot create the output directory, it already exists. The test will overwrite previous results. ${NOCOLOR}"
fi
if [ -n "$1" ]; then
MURL="$1$QUERY"
fi
change_alarm_file "./0" "system_cpu.conf.unique_alarm" "$HEALTHDIR/dim_double_without_template.conf"
process_data "double_without_template" 3 "$HEALTHDIR/dim_double_without_template.conf"
change_alarm_file "$HEALTHDIR/dim_double_without_template.conf" "system_cpu.conf.alarm_foreach" "$HEALTHDIR/dim_foreach_without_template.conf"
process_data "foreach_without_template" 3 "$HEALTHDIR/dim_foreach_without_template.conf"
change_alarm_file "$HEALTHDIR/dim_foreach_without_template.conf" "system_cpu.conf.alarm_foreach_sp" "$HEALTHDIR/dim_foreach_without_template_sp.conf"
process_data "foreach_without_template" 10 "$HEALTHDIR/dim_foreach_without_template_sp.conf"
change_alarm_file "$HEALTHDIR/dim_foreach_without_template_sp.conf" "system_cpu.conf.template_alarm" "$HEALTHDIR/dim_double_with_template.conf"
process_data "double_with_template" 3 "$HEALTHDIR/dim_double_with_template.conf"
change_alarm_file "$HEALTHDIR/dim_double_with_template.conf" "system_cpu.conf.template_foreach" "$HEALTHDIR/dim_foreach_with_template.conf"
process_data "foreach_with_template" 3 "$HEALTHDIR/dim_foreach_with_template.conf"
change_alarm_file "$HEALTHDIR/dim_foreach_with_template.conf" "system_cpu.conf.template_foreach_sp" "$HEALTHDIR/dim_foreach_with_template_sp.conf"
process_data "foreach_with_template" 10 "$HEALTHDIR/dim_foreach_with_template_sp.conf"
rm "$HEALTHDIR/dim_foreach_with_template_sp.conf"
rm -rf "$OUTDIR"
echo -e "${GREEN} all the tests were successful ${NOCOLOR}"
|