Zabbix使用脚本批量增加自定义监控项

1.1 准备脚本

vi /root/my_shell/get_os_info.sh

#!/bin/bash

#if [ $# -ne 1 ];then
#	echo "Usage: get_os_info.sh conn_cnt|total_mem|cpu_cnt"
#else
#	exit 1
#fi

case $1 in
	conn_cnt)
		w|awk 'NR==1{print $4}'
		;;
	total_mem)
		free -m | awk 'NR==2{print $2}'
		;;
	cpu_cnt)
		grep "processor" /proc/cpuinfo | wc -l
		;;
	*)
		echo "Usage: get_os_info.sh conn_cnt|total_mem|cpu_cnt"
		;;
esac
chmod +x /root/my_shell/get_os_info.sh

1.2 被监控端配置参数文件

[root@lissen-19c zabbix_agent2.d]# cat /etc/zabbix/zabbix_agent2.d/os_info.conf 
UserParameter=os_info[*],/root/my_shell/get_os_info.sh $1

systemctl restart zabbix-agent2.service

1.3 Zabbix服务端测试是否能获取数据

-- 目录也需要有执行权限否则会报错
chmod -R +x /root/my_shell/get_os_info.sh

[root@ct79-docker ~]# zabbix_get -s 192.168.59.19 -k "os_info[cpu_cnt]"
sh: /root/my_shell/get_os_info.sh: Permission denied

-- 测试服务端是否能获取被监控端数据
[root@ct79-docker ~]# zabbix_get -s 192.168.59.19 -k "os_info[total_mem]"
7812
[root@ct79-docker ~]# zabbix_get -s 192.168.59.19 -k "os_info[conn_cnt]" 
3
[root@ct79-docker ~]# zabbix_get -s 192.168.59.19 -k "os_info[cpu_cnt]" 
1

1.4 Zabbix服务端添加自定义监控项
Zabbix使用脚本批量增加自定义监控项_第1张图片
Zabbix使用脚本批量增加自定义监控项_第2张图片
Zabbix使用脚本批量增加自定义监控项_第3张图片
1.5 监控结果展示
Zabbix使用脚本批量增加自定义监控项_第4张图片
Zabbix使用脚本批量增加自定义监控项_第5张图片

你可能感兴趣的:(Linux,bash,docker,linux,zabbix,自定义监控项)