“Zabbix 调用API 批量添加主机”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
→‎api
第63行: 第63行:
  
 
</pre>
 
</pre>
=api=
+
=利用api批量添加主机 =
 +
zbx_server version 4.0
 +
 
 +
== get token ==
 +
<pre>
 +
cat aip.sh
 +
# -*- coding:utf-8 -*-
 +
import urllib2
 +
import json
 +
 
 +
url = 'http://zabbix.com/zabbix/api_jsonrpc.php'
 +
header = {'Content-Type': 'application/json'}
 +
 
 +
req = json.dumps(
 +
    {
 +
        "jsonrpc": "2.0",
 +
        "method": "user.login",
 +
        "params": {
 +
            "user": "Admin",
 +
            "password": "123456"
 +
        },
 +
        "id": 0,
 +
    }
 +
)
 +
 
 +
def auth():
 +
    r = urllib2.Request(url=url, headers=header, data=req)
 +
    response = urllib2.urlopen(r)
 +
    token = json.loads(response.read())
 +
    print(token)
 +
 
 +
if __name__ == '__main__':
 +
 
 +
    auth()
 +
 
 +
#token
 +
{u'jsonrpc': u'2.0', u'result': u'1794bcbe6d818069bff5aa499a07a960', u'id': 0}
 +
 
 +
</pre>
 +
[https://blog.51cto.com/freshair/2132748 Python调用Zabbix api之从入门到放弃——登录并获取身份验证令牌]
 +
 
 +
[https://www.jianshu.com/p/7a014f316e35 zabbix api token获取]
 +
== ==

2019年12月26日 (四) 08:21的版本

pre

已有 salt

可以见 批量添加 salt Salt-ssh批量自动安装被控端minion

批量添加zabbix agent

直接用cmd.run

  salt 'prod-mq03' cmd.run 'yum install  -y zabbix-agent'

zabbix state.sls

有空要试一下 



salt 使用state文件来配置zabbix客户端文件

salt 使用state文件来配置zabbix客户端文件

SaltStack批量安装zabbix-agent(yum安装)

SaltStack安装zabbix-agent-第九篇

SaltStack 使用pillar安装配置管理zabbix

saltstack自动化运维系列⑦SaltStack实践配置管理安装zabbix

salt 使用state文件来源码安装和配置zabbix客户端文件

批量修改zabbix agent配置

Server=148.66.11.55
ServerActive=148.66.11.55
Hostname=prod-sns-mq01



sed -i '/^Hostname/ s/.*/Hostname=zabbix_hk/' /etc/zabbix/zabbix_agentd.conf

#zbx hostname
 salt 'prod-mq03' cmd.run 'hostname'
prod-mq03:
    prod-mq03


#这里可以取出 hostname 作变量 和作循环 
Server=148.66.01.05
ServerActive=148.66.01.05

myhost=`salt 'prod-mq03' cmd.run 'hostname' |sed -n '2p' |awk '{print $1}'`
salt 'prod-sns-mq02' cmd.run "sed -i '/^Hostname/ s/.*/Hostname=$myhost/'  /etc/zabbix/zabbix_agentd.conf"

#这个替换太多了 不太好写匹配  要如下添加 =  or  直接 inser 就是了 
salt 'prod-mq03' cmd.run "sed -i '/^Server=/ s/.*/Server=$Server/'  /etc/zabbix/zabbix_agentd.conf"
salt 'prod-mq03' cmd.run "sed -i '/^ServerActive=/ s/.*/ServerActive=$ServerActive/'  /etc/zabbix/zabbix_agentd.conf"


注意  ""  结果不太对的 
 salt 'prod-sns-mq02' cmd.run "hostname |sed -n '2p' |awk '{print $1}'"
prod-sns-mq02:

利用api批量添加主机

zbx_server version 4.0

get token

 cat aip.sh 
# -*- coding:utf-8 -*-
import urllib2
import json

url = 'http://zabbix.com/zabbix/api_jsonrpc.php'
header = {'Content-Type': 'application/json'}

req = json.dumps(
    {
        "jsonrpc": "2.0",
        "method": "user.login",
        "params": {
            "user": "Admin",
            "password": "123456"
        },
        "id": 0,
    }
)

def auth():
    r = urllib2.Request(url=url, headers=header, data=req)
    response = urllib2.urlopen(r)
    token = json.loads(response.read())
    print(token)

if __name__ == '__main__':

    auth()

#token
{u'jsonrpc': u'2.0', u'result': u'1794bcbe6d818069bff5aa499a07a960', u'id': 0}

Python调用Zabbix api之从入门到放弃——登录并获取身份验证令牌

zabbix api token获取