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

  • 相关阅读:
    做前端的一些小工具
    分析几种编程语言对JSON的支持程度
    注册中心eureka
    搭建分布式配置中心
    接口幂等性
    分布式限流
    服务容错解决方案
    微服务架构认知
    gateWay
    JWT鉴权
  • 原文地址:https://www.cnblogs.com/hrers/p/12409814.html
Copyright © 2011-2022 走看看