文章目录
自定义监控模板
前面案例中也写也很多自定义监控项或模板,这里大概说说怎么自定义监控模板
- 监控脚本:你要监控哪些值,如何取出这些值
- 配置文件中
userparameter
项 > 重启agent - 测试:zabbix_get
- 创建模板,添加监控项,键值为
<userparameter的键>[参数1,参数2]
- 添加触发器,添加图形
演示:自定义监控模板
我的agent是apt安装的,配置文件路径为/etc/zabbix
- 监控脚本:监控端口和进程
cd /etc/zabbix/zabbix_agentd.d
touch custom.sh
chmod +x custom.sh
vim custom.sh
#!/bin/bash
check_process(){
NUM=`ps -ef | grep -v grep | grep -v bash | grep ${NAME} | wc -l`
if [ $NUM -eq 0 ];then
echo 100
else
echo 50
fi
}
check_port(){
ss -tnl | grep ${PORT} &> /dev/null
if [ $? -eq 0 ];then
echo 1
else
echo 0
fi
}
main(){
case $1 in
process)
NAME=$2
check_process;
;;
port)
PORT=$2
check_port;
;;
esac
}
main $1 $2
脚本定义了2个传入参数,$1和$2
第一个参数表示你想监控process进程还是port端口
第二个参数表示你想传入的进程名或端口号
- 配置文件中
userparameter
项,然后重启agent
cd /etc/zabbix/zabbix_agentd.d
vim userparameter_custom.conf
UserParameter=mycustom[*],/etc/zabbix/zabbix_agentd.d/custom.sh "$1" "$2"
systemctl restart zabbix-agent.service
mycustom[*]:表示键名,*表示接收所有的参数
custom.sh是脚本名加接收的参数
- 所以我们就可以在server端测试
./zabbix_get -s 192.168.99.24 -p 10050 -k "mycustom[port,80]"
zabbix_get是用来测试获取键值的,
-s 是目标agent主机ip
-p 是agent的端口
-k 后面追加参数“键名[参数1,参数2]”
- server前端中创建模板
- 找到这个模板,添加监控项
这个键值就是前面-k跟的参数
-
添加触发器
添加条件
添加
-
添加图形
-
添加到已有的主机
-
查看数据