公司一台app服务器需要监控状态。开发人员要求使用post方式(json格式参数),查看服务器返回状态。才能确定服务器是否正常。使用get方式是不行的。

我采用python写个脚本监控。过程如下:

创建key:

[root@mob3 zabbix_agentd.conf.d]# cat httppost.conf 

UserParameter=http.post,/usr/bin/python /etc/zabbix/scripts/httppost.py

测试key:

[root@mob3 zabbix_agentd.conf.d]# zabbix_get -s 127.0.0.1 -k http.post

200

脚本内容

[root@mob3 scripts]# cat httppost.py 

#!/usr/bin/python

import requests,json

url="http://app.xxxxx.com/P2MLinkCenter/setting/upgrade"

header={'Content-Type': 'application/json'}

data=json.dumps({"type":"apk","versionCode":"1.0.0"})

req=requests.post(url=url,data=data,headers=header)

print req.status_code


选择一台服务器,创建item:

wKioL1c5Fs-BdF0BAADCzmdtRpo169.jpg

创建graph:

wKioL1c5FuOhZQDOAACI5gMrl7A036.jpg


查看graph:

wKiom1c5FlXxFGa3AABH_iltCbE865.png

可以看到,服务器返回的状态码是200,表明ok的。