zabbix按组添加主机脚本

Posted on 2020-03-04 15:28  hrers  阅读(356)  评论(0编辑  收藏  举报

zabbix按组添加主机脚本:

#!/bin/bash
export PATH=/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
admin=$1 #zabbix用户
pass=$2 #密码
ZBX=$3 #zabbix-server的地址

#获取zabbix api token
if [ ! -z $admin -a -n $pass ] && [ -n $ZBX ];
then
TOKEN=`curl -s -X POST -H "Content-Type":application/json-rpc --data '{
"jsonrpc": "2.0",
"method": "user.login",
"id": 1,
"auth": null,
"params": {
"user": "'${admin}'",
"password": "'${pass}'"}
}' http://${ZBX}/api_jsonrpc.php | awk -F "[\":]+" '{print $6}'`
else
echo "Please usage: $0 <user> <password> <server_ip>"
fi


#批量创建主机组,获取主机组id
while read line
do
groupid=`curl -s -X POST -H "Content-Type":application/json-rpc --data '{
"jsonrpc": "2.0",
"method": "hostgroup.create",
"params": {
"name": "'${line}'"
},
"auth": "'${TOKEN}'",
"id": 1
}' http://${ZBX}/api_jsonrpc.php | awk -F "[\"]+" '{print $10}'`
done </root/group.txt
echo "${groupid}"

#批量创建主机并添加到主机组
while read line
do
NAME=`echo "${line}" |awk '{print $1}'`
IP=`echo "${line}" |awk '{print $2}'`
curl -s -X POST -H "Content-Type":application/json-rpc --data '{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "'${NAME}'",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "'${IP}'",
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "'${groupid}'"
}
],
"templates": [
{
"templateid": "10001"
}
]
},
"auth": "'${TOKEN}'",
"id": 1
}' http://${ZBX}/api_jsonrpc.php
done </root/host.txt