“Zabbix 调用API 批量添加主机”的版本间的差异
跳到导航
跳到搜索
(→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
有空要试一下
SaltStack批量安装zabbix-agent(yum安装)
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之从入门到放弃——登录并获取身份验证令牌