Docker下实战zabbix三部曲之三:自定义监控项( 二 )


部署web应用打开终端 , 进入web工程zabbixcustomitemdemo的目录下 , 执行命令mvn clean package -U -Dmaven.test.skip=true tomcat7:redeploy , 即可将web工程部署到tomcat容器上 , 关于在线部署的细节请参照文章http://blog.csdn.net/boling_cavalry/article/details/70184605;
部署成功后 , 打开浏览器 , 访问http://localhost:8080/zabbixcustomitemdemo/count , web server会返回一个数字 , 如下图所示:

Docker下实战zabbix三部曲之三:自定义监控项

文章插图
 
接下来我们要在zabbix agent上做一个shell脚本 , 此脚本的功能时发起http请求http://localhost:8080/zabbixcustomitemdemo/count?model=a&type=0 , 就能得到web服务响应的数字 , 如果此脚本每分钟被调用一次 , 就能得到完整的监控曲线图了;
a. 首先 , 执行docker exec -it zabbix-agent-a /bin/bash登录zabbix agent的容器;
b. 登录后 , 执行apt-get update更新apt;
c. 先后执行apt-get install wget和apt-get install vim , 安装wget和vi工具;
d. 新建目录/usr/work/,在此目录下用vi创建一个shell文件biz_count.sh , 内容如下:
#"!/bin/bashwget -qO- http://tomcathost:8080/zabbixcustomitemdemo/count?model=$1&type=$2echo ""上面代码的功能是访问http服务获取一个数字 , 其中model和type用的是shell的入参;
注意两个细节:
【Docker下实战zabbix三部曲之三:自定义监控项】第一个:最后一行代码echo “” , 实践证明这一行是很有用的 , 有了这一行就会在输出http返回的数字后进行换行 , 有了换行数据才能成功上报到zabbix server;
第二个:wget命令后面的url参数中,”&”符号前面要加转义的斜杠””;
e. 执行chmod a+x biz_count.sh , 给shell赋予可执行权限;
agent上添加监控项继续在zabbix agent容器上 , 我们要添加一个自定义监控项 , 这样后面在zabbix server上就能使用该监控项了:
a. 在/etc/zabbix/zabbix_agentd.d目录下 , 新增一个biz.conf文件 , 内容如下:
UserParameter=get_total_num[*],/usr/work/biz_count.sh $1 $2以上代码配置了一个自定义监控项 , 名称是get


推荐阅读