所谓自动发现,就是我们设置一些规则,然后让zabbix 定期去捕捉/发现我们需要的东西。如:自动去发现java程序
本文下方内容仅为展示如何配置自动发现,示例存在很大的可实现缺陷,不可使用。
自动发现,不能用于发现变化性过于强的东西,如发现消耗cpu的top10。如果某个东西自是偶尔变化一下,或者周期性的变化,可以使用自动发现。
下面我们就以:自动发现耗cpu最高的进程为例
第一步:在被监控的服务器方编写一个可执行的shell脚本,将输出结果以json的方式展示开。
#list2.sh
# !/bin/bash^M
#system process discovery script^Mstring=`ps -eo pcpu,pid,comm --no-header | sort -rnk1 |head -n 5`
#echo -e "$string"str2=`echo -e "$string" |awk '{print $2}'`
str3=`echo -e "$string" |awk '{print $3}'`
#echo 'str2'$str2
#echo "str3"$str3
printf'{"data":[{'
for ((i=1;i<=5;i++))doproc_array=`echo $str2 |cut -d ' ' -f$i`'*'`echo $str3 |cut -d ' ' -f$i`
#echo "pro