关闭zabbix监控项脚本

#!/bin/bash

url="http://xxxxxx"        #zabbix地址
USER="xxxxx"              #zabbix账户
PASS="xxxx"                #zabbix密码

#获取token
login_token=`curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '{"jsonrpc":"2.0","method":"user.login","params":{"user":"'${USER}'","password":"'${PASS}'"},"id":1,"auth":null}' $url | python -m json.tool | grep result | awk -F '"' '{ print $4 }'`

ifs_old=$IFS
IFS=$','
for ip in ${target_ip};
do
hostid=`curl -s -H 'Content-Type: application/json-rpc' -d '{"jsonrpc":"2.0","method":"host.get","params":{"output":[ "host" ],"filter":{"ip":"'${ip}'"}},"auth":"'${login_token}'","id":1}' $url | python -m json.tool| grep hostid |awk -F '"' '{ print $4 }'`
for model in $(echo "${1}");
do
for itemid in `curl -s -H 'Content-Type: application/json-rpc' -d '{"jsonrpc":"2.0","method":"item.get","params":{"output":"extend","hostids":"'${hostid}'","search":{"name":"'${model}'模块"},"sortfield":"name"},"auth":"'${login_token}'","id":1}' $url | python -m json.tool| jq -r '.result[0].itemid'`;
do
if [ "$itemid" == null ];then
echo "${ip}服务器不存在${model}模块监控项"
else
if [ "${2}" == "0" ];then
curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "item.update",
"params": {
"itemid": "'${itemid}'",
"status": "'$2'"
},
"auth": "'${login_token}'",
"id": 1
}' $url | python -m json.tool > /dev/null
echo "${ip}服务器${model}模块监控项已开启"
else
curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "item.update",
"params": {
"itemid": "'${itemid}'",
"status": "'$2'"
},
"auth": "'${login_token}'",
"id": 1
}' $url | python -m json.tool /dev/null
echo "${ip}服务器${model}模块监控项已关闭"
fi
fi
done
done
done

posted @ 2021-01-15 14:10  Buster_Hsueh  阅读(200)  评论(0编辑  收藏  举报