blob: 21cadb1d82c4f5eb6ecfba0fda614ee34ee90cce (
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
|
#!/bin/bash
WARN=10
CRIT=20
LOG='/opt/bigcouch/var/log/bigcouch.log'
# for debugging: zgrep through old logs
#LOG=/opt/bigcouch/var/log/bigcouch.log.1.gz
#errors=`zcat $LOG | grep 'error' | sed 's/\[.*\] //' | sort`
errors=`grep 'error' $LOG | sed 's/\[.*\] //' | sort `
errors_uniq=`echo -e "$errors" | uniq`
total=`echo -e "$errors" | grep -v '^$' | wc -l`
if [ $total -lt $WARN ]
then
echo -n "OK"
exitcode=0
else
if [ $total -le $CRIT ]
then
echo -n "Warning"
exitcode=1
else
echo -n "Critical"
exitcode=2
fi
fi
echo -n ": $total errors in total in $LOG."
if [ ! $total -eq 0 ]
then
echo -e "$errors_uniq" | while read -r line
do
count=`echo -e "$errors" | grep "$line" | wc -l`
echo -n " $count occurrences of \"$line\"."
done
fi
echo
exit $exitcode
|