1. 创建存放脚本的目录
[root@localhost ~]# cd /etc/zabbix/
[root@localhost zabbix]# mkdir scripts
[root@localhost scripts]# pwd
/etc/zabbix/scripts
2. 编写监控内存和CPU的脚本并增加执行权限
2.1 脚本内容
[root@localhost scripts]# cat system.sh
#!/bin/bash
mem_use=$( free -m|grep Mem|awk '{printf "%.2f\n",$3/$2*100}')
cpu_free=$( top -bn1 |sed -n 3p|awk '{printf "%d\n", $8}')
cpu_use=$( top -bn1 |sed -n 3p|awk '{printf "%d\n", 100-$8}')
case $1 in
mem_use)
echo $mem_use ;;
cpu_free)
echo $cpu_free ;;
cpu_use)
echo $cpu_use ;;
*)
echo "输入有误!!!"
esac
注意!!!使用 top 命令时不加 -b 参数会报以下错误
'unknown': unknown terminal type.
2.2 增加执行权限
chmod +x system.sh
3. 修改zabbix-agent的配置文件并重启agent服务
vim /etc/zabbix/zabbix_agentd.conf
3.1 修改以下内容如下
开启用户自定义脚本
287 UnsafeUserParameters=1
定义用户自定义脚本,并指明脚本的存放路径
296 UserParameter=check_mem[*],/etc/zabbix/scripts/system.sh
3.2 重启agent服务
systemctl restart zabbix-agent
4. 在server端进行测试
返回数据成功
[root@localhost ~]# zabbix_get -s 192.168.153.185 -k check.system[cpu_use]
2
[root@localhost ~]# zabbix_get -s 192.168.153.185 -k check.system[cpu_free]
98
[root@localhost ~]# zabbix_get -s 192.168.153.185 -k check.system[mem_use]
13.30
[root@localhost ~]#