zoukankan      html  css  js  c++  java
  • zabbix按组添加主机脚本

    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

  • 相关阅读:
    数据结构实用C语言基础
    第二个星期的C语言
    hello world!
    代码规范
    调用有道词典翻译api
    PO,POJO,BO,DTO,VO的区别
    切换Eclipse语言包
    URI和URL区别
    get和post
    Eclipse快捷键
  • 原文地址:https://www.cnblogs.com/hrers/p/12409814.html
Copyright © 2011-2022 走看看