1) zabbix_discovery.sh
#!/bin/bash
# 低级自动发现脚本生成固定的zabbix规定的格式
ret=`ss -atunp | grep -i listen | awk -F '[\"\\\( \t\\\)]+' '{print $8}' | sort -nr | uniq`
process=($ret)
printf '{'
printf '"data":['
# echo ${#process[@]}
for index in ${!process[@]}
do
if [[ ${#process[@]} -gt 1 && $index -ne $((${#process[@]}-1)) ]];then
printf '{'
printf "\"{#PROCESS}\": \"${process[$index]}\"},"
else [[ $index -eq $((${#process[@]}-1)) ]]
printf '{'
printf "\"{#PROCESS}\": \"${process[$index]}\"}"
fi
done
printf ']'
printf "}\n"
2) zabbix自定义监控项
UserParameter=process_discovery,sudo /xxx/zabbix_discovery.sh
UserParameter=process_cpu_usage[*],sudo ps -eo %cpu,comm | grep $1 | awk '{x[$$2]=+$$1}END{for(i in x){print x[i]}}'
UserParameter=process_mem_usage[*],sudo ps -eo %mem,comm | grep $1 | awk '{x[$$2]=+$$1}END{for(i in x){print x[i]}}'
网友评论