Skip to content

Commit 4daa281

Browse files
committed
docs: add examples of scripts,conf file and template for zabbix-agent
1 parent d83141b commit 4daa281

10 files changed

+472
-0
lines changed

packaging/conf/scripts/disk_sizes.sh

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#!/bin/bash
2+
PATH=/usr/local/bin:${PATH}
3+
IFS_DEFAULT="${IFS}"
4+
5+
contains() {
6+
[[ $1 =~ (^|${2})"${3}"($|${2}) ]] && echo "1" || echo "0"
7+
}
8+
9+
#################################################################################
10+
11+
while getopts "s::a:sj:uphvt:" OPTION; do
12+
case ${OPTION} in
13+
14+
j)
15+
JSON=1
16+
JSON_ATTR=(${OPTARG})
17+
IFS="${IFS_DEFAULT}"
18+
;;
19+
20+
esac
21+
done
22+
23+
#################################################################################
24+
25+
rval=$(cat /proc/self/mountinfo)
26+
exclude_list=("none" "unknown" "rootfs" "iso9660"
27+
"squashfs" "udf" "romfs" "ramfs"
28+
"debugfs" "cgroup" "cgroup_root"
29+
"pstore" "devtmpfs" "autofs"
30+
"cgroup" "configfs" "devpts"
31+
"efivarfs" "fusectl" "fuse.gvfsd-fuse"
32+
"hugetlbfs" "mqueue"
33+
"nfsd" "proc" "pstore"
34+
"rpc_pipefs" "securityfs" "sysfs"
35+
"nsfs" "tmpfs" "tracefs")
36+
list_str=$(IFS=","; echo "${exclude_list[*]}")
37+
output=" "
38+
39+
if [[ ${JSON} -eq 1 ]]; then
40+
echo '{'
41+
echo ' "data":['
42+
count=1
43+
while read line; do
44+
values=(${line})
45+
if [ $(contains "${list_str}" "," "${values[8]}") -eq 0 ]; then
46+
if [[ ${output} != " " ]]; then
47+
echo " ${output}"
48+
fi
49+
output='{ '
50+
output+='"'{#${JSON_ATTR[0]}}'"'
51+
output+=':'
52+
output+='"'${values[4]}'"'
53+
output+=' }'
54+
tmp="${output}"
55+
output="${output},"
56+
fi
57+
let "count=count+1"
58+
done <<< "${rval}"
59+
echo " ${tmp}"
60+
echo ' ]'
61+
echo '}'
62+
else
63+
echo "${rval:-0}"
64+
fi
65+
66+
exit ${rcode}
67+
68+

packaging/conf/scripts/disk_stats.sh

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#!/bin/bash
2+
IFS_DEFAULT="${IFS}"
3+
#
4+
#################################################################################
5+
6+
7+
while getopts "s::a:sj:uphvt:" OPTION; do
8+
case ${OPTION} in
9+
10+
j)
11+
JSON=1
12+
JSON_ATTR=(${OPTARG})
13+
IFS="${IFS_DEFAULT}"
14+
;;
15+
16+
esac
17+
done
18+
19+
#################################################################################
20+
21+
output=" "
22+
rval=`cat /proc/diskstats`
23+
if [[ ${JSON} -eq 1 ]]; then
24+
echo '{'
25+
echo ' "data":['
26+
count=1
27+
value=0
28+
while read line; do
29+
if [[ ${line} != '' ]]; then
30+
IFS="|" values=(${line})
31+
32+
if [[ $count == 1 ]]; then # for loop0 case
33+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
34+
new_value3=`echo "$new_value2" | cut -d " " -f 3`
35+
read_op=`echo "$new_value2" | cut -d " " -f 4`
36+
read_sc=`echo "$new_value2" | cut -d " " -f 6`
37+
write_op=`echo "$new_value2" | cut -d " " -f 8`
38+
write_sc=`echo "$new_value2" | cut -d " " -f 10`
39+
ticks=`echo "$new_value2" | cut -d " " -f 13`
40+
else
41+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
42+
new_value3=`echo "$new_value2" | cut -d " " -f 4`
43+
read_op=`echo "$new_value2" | cut -d " " -f 5`
44+
read_sc=`echo "$new_value2" | cut -d " " -f 7`
45+
write_op=`echo "$new_value2" | cut -d " " -f 9`
46+
write_sc=`echo "$new_value2" | cut -d " " -f 11`
47+
ticks=`echo "$new_value2" | cut -d " " -f 14`
48+
fi
49+
if [[ $new_value3 != *"loop"* ]] && [[ $new_value3 != *"ram"* ]] && [[ $new_value3 != *[0-9]* ]]; then
50+
if [[ ${output} != " " ]]; then
51+
echo " ${output}"
52+
fi
53+
value=$(($read_op+$value))
54+
output='{ '
55+
output+='"'{#${JSON_ATTR[0]}}'"'
56+
output+=':'
57+
output+='"'$new_value3'"'
58+
output+=' }'
59+
tmp="${output}"
60+
output="${output},"
61+
fi
62+
fi
63+
let "count=count+1"
64+
done <<< ${rval}
65+
echo " ${tmp}"
66+
echo ' ]'
67+
echo '}'
68+
else
69+
echo "${rval:-0}"
70+
fi
71+
72+
exit ${rcode}
73+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/bash
2+
rval=`cat /proc/diskstats`
3+
4+
count=1
5+
value=0
6+
while read line; do
7+
if [[ ${line} != '' ]]; then
8+
IFS="|" values=(${line})
9+
10+
if [[ $count == 1 ]]; then # for loop0 case
11+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
12+
# echo $new_value2
13+
new_value3=`echo "$new_value2" | cut -d " " -f 3`
14+
read_sc=`echo "$new_value2" | cut -d " " -f 6`
15+
else
16+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
17+
new_value3=`echo "$new_value2" | cut -d " " -f 4`
18+
read_sc=`echo "$new_value2" | cut -d " " -f 7`
19+
fi
20+
re='^[0-9]+$'
21+
has_digits='no'
22+
if [[ "${new_value3: -1}" =~ $re ]]; then
23+
has_digits='yes'
24+
fi
25+
if [[ $new_value3 != *"loop"* ]] && [[ $new_value3 != *"ram"* ]] && [[ $has_digits == 'no' ]]; then
26+
value=$(($read_sc+$value))
27+
fi
28+
fi
29+
let "count=count+1"
30+
done <<< ${rval}
31+
echo $(($value*512))
32+
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
rval=`cat /proc/diskstats`
3+
4+
count=1
5+
value=0
6+
while read line; do
7+
if [[ ${line} != '' ]]; then
8+
IFS="|" values=(${line})
9+
10+
if [[ $count == 1 ]]; then # for loop0 case
11+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
12+
# echo $new_value2
13+
new_value3=`echo "$new_value2" | cut -d " " -f 3`
14+
read_op=`echo "$new_value2" | cut -d " " -f 4`
15+
16+
else
17+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
18+
new_value3=`echo "$new_value2" | cut -d " " -f 4`
19+
read_op=`echo "$new_value2" | cut -d " " -f 5`
20+
21+
fi
22+
re='^[0-9]+$'
23+
has_digits='no'
24+
if [[ "${new_value3: -1}" =~ $re ]]; then
25+
has_digits='yes'
26+
fi
27+
if [[ $new_value3 != *"loop"* ]] && [[ $new_value3 != *"ram"* ]] && [[ $has_digits == 'no' ]]; then
28+
value=$(($read_op+$value))
29+
30+
31+
fi
32+
fi
33+
let "count=count+1"
34+
done <<< ${rval}
35+
echo $(($value))
36+
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/bin/bash
2+
rval=`cat /proc/diskstats`
3+
4+
count=1
5+
value=0
6+
while read line; do
7+
if [[ ${line} != '' ]]; then
8+
IFS="|" values=(${line})
9+
10+
if [[ $count == 1 ]]; then # for loop0 case
11+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
12+
# echo $new_value2
13+
new_value3=`echo "$new_value2" | cut -d " " -f 3`
14+
ticks=`echo "$new_value2" | cut -d " " -f 13`
15+
else
16+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
17+
new_value3=`echo "$new_value2" | cut -d " " -f 4`
18+
ticks=`echo "$new_value2" | cut -d " " -f 14`
19+
fi
20+
if [[ $new_value3 != *"loop"* ]] && [[ $new_value3 != *"ram"* ]]; then
21+
#echo $ticks
22+
value=$(($ticks+$value))
23+
fi
24+
fi
25+
let "count=count+1"
26+
done <<< ${rval}
27+
echo $(($value))
28+
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash
2+
rval=`cat /proc/diskstats`
3+
4+
count=1
5+
value=0
6+
while read line; do
7+
if [[ ${line} != '' ]]; then
8+
IFS="|" values=(${line})
9+
10+
if [[ $count == 1 ]]; then # for loop0 case
11+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
12+
new_value3=`echo "$new_value2" | cut -d " " -f 3`
13+
write_sc=`echo "$new_value2" | cut -d " " -f 10`
14+
else
15+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
16+
new_value3=`echo "$new_value2" | cut -d " " -f 4`
17+
write_sc=`echo "$new_value2" | cut -d " " -f 11`
18+
fi
19+
re='^[0-9]+$'
20+
has_digits='no'
21+
if [[ "${new_value3: -1}" =~ $re ]]; then
22+
has_digits='yes'
23+
fi
24+
#echo $values
25+
if [[ $new_value3 != *"loop"* ]] && [[ $new_value3 != *"ram"* ]] && [[ $has_digits == 'no' ]]; then
26+
#echo $write_sc
27+
#echo $new_value3
28+
value=$(($write_sc+$value))
29+
fi
30+
fi
31+
let "count=count+1"
32+
done <<< ${rval}
33+
echo $(($value*512))
34+
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
rval=`cat /proc/diskstats`
3+
4+
count=1
5+
value=0
6+
while read line; do
7+
if [[ ${line} != '' ]]; then
8+
IFS="|" values=(${line})
9+
10+
if [[ $count == 1 ]]; then # for loop0 case
11+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
12+
new_value3=`echo "$new_value2" | cut -d " " -f 3`
13+
write_op=`echo "$new_value2" | cut -d " " -f 8`
14+
15+
else
16+
new_value2=`echo ${values[0]} | sed -n '/[0-9]/s/ \+/ /gp'`
17+
new_value3=`echo "$new_value2" | cut -d " " -f 4`
18+
19+
write_op=`echo "$new_value2" | cut -d " " -f 9`
20+
21+
fi
22+
re='^[0-9]+$'
23+
has_digits='no'
24+
if [[ "${new_value3: -1}" =~ $re ]]; then
25+
has_digits='yes'
26+
fi
27+
if [[ $new_value3 != *"loop"* ]] && [[ $new_value3 != *"ram"* ]] && [[ $has_digits == 'no' ]];then
28+
#echo $write_op
29+
30+
value=$(($write_op+$value))
31+
32+
33+
fi
34+
fi
35+
let "count=count+1"
36+
done <<< ${rval}
37+
echo $(($value))

packaging/conf/scripts/net.sh

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/bin/bash
2+
3+
4+
#################################################################################
5+
while getopts "s::a:sj:uphvt:" OPTION; do
6+
case ${OPTION} in
7+
8+
j)
9+
JSON=1
10+
JSON_ATTR=(${OPTARG})
11+
12+
;;
13+
esac
14+
done
15+
#################################################################################
16+
rval=$(cat /proc/net/dev)
17+
output=" "
18+
19+
if [[ ${JSON} -eq 1 ]]; then
20+
echo '{'
21+
echo ' "data":['
22+
count=1
23+
while read line; do
24+
values=(${line})
25+
if [[ "${values[0]}" != *"lo:"* ]] && [[ "${#values[@]}">1 ]]; then
26+
if [[ ${output} != " " ]] && [[ $count > 4 ]]; then
27+
echo " ${output}"
28+
fi
29+
output='{ '
30+
output+='"'{#${JSON_ATTR[0]}}'"'
31+
output+=':'
32+
t="${values[0]}"
33+
output+='"'${t%?}'"'
34+
output+=' }'
35+
tmp="${output}"
36+
output="${output},"
37+
fi
38+
let "count=count+1"
39+
done <<< "${rval}"
40+
echo " ${tmp}"
41+
echo ' ]'
42+
echo '}'
43+
else
44+
echo "${rval:-0}"
45+
fi
46+
47+
exit ${rcode}
48+

packaging/conf/template_agent.xml.example

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)