Advertisement
Guest User

zabbix_script_api

a guest
Jun 30th, 2016
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.04 KB | None | 0 0
  1. # cat z.sw.forum
  2. zbxUser=''
  3. zbxPass=''
  4. zbxAPI='http://localhost/zabbix/api_jsonrpc.php'
  5.  
  6. DATA=`date +%y%m%d%H%M%S`
  7. # Get auth token from zabbix
  8. curlOutput=`curl -sS -i -X POST -H 'Content-Type: application/json-rpc' -d "{\"params\": {\"password\": \"$zbxPass\", \"user\": \"$zbxUser\"}, \"jsonrpc\":\"2.0\", \"method\": \"user.login\", \"id\": 0}" $zbxAPI`
  9. authToken=`echo $curlOutput | sed -n 's/.*result":"\(.*\)",.*/\1/p'`
  10.  
  11. # Get all monitored and problem state triggers
  12. curlData="{\"jsonrpc\": \"2.0\", \"method\": \"template.get\", \"params\": {\"search\":{\"name\":\"D-Link DES3200\"}},\"output\":[\"template.id\"], \"auth\":\"$authToken\", \"id\": 1}"
  13. curlOutput=`curl -sS -i -X POST -H 'Content-Type: application/json-rpc' -d "$curlData" $zbxAPI`
  14. echo "$curlOutput" > $DATA.log
  15. TEMPLATE=`cat $DATA.log| sed "s/,/,\n/g;s/}/\n/g" | grep "templateid" | sed s/[^0-9]//g`
  16. echo "Template ID : $TEMPLATE"
  17. rm $DATA.log
  18.  
  19. #Get Item ID
  20. curlData2="{\"jsonrpc\": \"2.0\", \"method\": \"item.get\", \"params\": {\"templateids\":\"$TEMPLATE\",\"search\":{\"name\":\"CPU 5 min\"},\"searchWildcardsEnabled\":1,\"selectHosts\":[\"host\"]},\"output\":[\"lastvalue\"], \"auth\":\"$authToken\", \"id\": 2}"
  21. curlOutput2=`curl -sS -i -X POST -H 'Content-Type: application/json-rpc' -d "$curlData2" $zbxAPI`
  22. echo "$curlOutput2" > $DATA_2.log
  23. #echo $curlOutput2
  24. ITEMID=`cat $DATA_2.log| sed "s/,/,\n/g;s/}/\n/g" | grep itemid | sed s/[^0-9]//g`
  25.  
  26. echo "Item ID : $ITEMID"
  27. rm $DATA_2.log
  28.  
  29. #Get host id
  30. #curlData3="{\"jsonrpc\": \"2.0\", \"method\": \"host.get\", \"params\": {\"itemids\":\"$ITEMID\"},\"output\":[\"hostid\"], \"auth\":\"$authToken\", \"id\": }"
  31. curlData3="{\"jsonrpc\": \"2.0\", \"method\": \"host.get\",\"params\": {\"monitored_hosts\":1}, \"output\":[\"hostid\"],\"filter\":{\"itemids\":\"$ITEMID\"}, \"auth\":\"$authToken\", \"id\": 3}"
  32. curlOutput3=`curl -sS -i -X POST -H 'Content-Type: application/json-rpc' -d "$curlData3" $zbxAPI`
  33. echo "$curlOutput3" > $DATA_3.log
  34. echo $curlOutput3 | sed "s/,/,\n/g;s/}/\n/g" | grep hostid | grep -v "proxy_hostid"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement