zabbix批量清理模板,添加新模板
import requests
import json
import sys def get_token():
data = {
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": username,
"password": password
},
"id": 0
}
r = requests.get(zaurl, headers=header, data=json.dumps(data))
auth = json.loads(r.text)
return auth["result"] #指定模板,获取主机信息
def template_hostget(token):
data = {
"jsonrpc": "2.0",
"method": "template.get",
"params": {
"output": ['host', 'templateid'],
"templateids": [''],
"selectHosts": [ # 返回链接到模板的主机
"hostid",
"host",
],
},
"auth": token,
"id": 1
} request = requests.post(zaurl, data=json.dumps(data), headers=header)
dict = json.loads(request.content)
return (dict['result'][0]['hosts']) #获取连接的模板信息
def hostget(token, hostid):
data = {
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid","host"],
"selectParentTemplates": [
"templateid",
"name"
],
"hostids": hostid
},
"auth": token,
"id": 1
} request = requests.post(zaurl, data=json.dumps(data), headers=header)
dict = json.loads(request.content)
# print (dict)
print (dict['result'][0]['hostid'],dict['result'][0]['host'],dict['result'][0]['parentTemplates']) def massupdate_templates_clear_hosts(token, hostid):
data = {
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": hostid,
"templates_clear": ['']
},
"auth": token,
"id": 1
}
request = requests.post(zaurl, data=json.dumps(data), headers=header)
print(request.content) def add_template(token, templateid, hostid):
data = {
"jsonrpc": "2.0",
"method": "template.massadd",
"params": {
"templates": [
{
"templateid": templateid
},
],
"hosts": [
{
"hostid": hostid
}
]
},
"auth": token,
"id": 2
}
request = requests.post(zaurl, data=json.dumps(data), headers=header)
print(request.content) if __name__ == "__main__":
#修改输入参数
hostfile = "主机IP.txt"
zaurl = "http://x.x.x.x/zabbix/api_jsonrpc.php"
header = {"Content-Type": "application/json"}
username = "xx"
password = "xx"
token = get_token()
#获取主机和模板
# hostinfo = template_hostget(token)
# for i in hostinfo:
# hostget(token, i['hostid']) #因监控机器数量太多,一次性全部修改会对zabbix数据库造成比较大的压力,所以分批修改
hostids = [获取到主机在zabbix里面的hostid]
for id in hostids:
# hostget(token,'15097')
massupdate_templates_clear_hosts(token, id)
add_template(token, "", id)
zabbix批量清理模板,添加新模板的更多相关文章
- zabbix客户端的安装、zabbix主被动模式、添加主机模板等、处理页面的中文乱码
1.zabbix客户端的安装: 如下步骤: wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch. ...
- Submline Text 3插件sublimeTmpl添加新模板
1.安装 一般安装Package Control 2.插件 添加模板 1).进入Preferences->Browse Packages->SublimeTmpl->template ...
- Zabbix 4.0 API 实践,主机/主机群组 批量添加模板和删除模板
场景 我们日常在管理Zabbix 的时候,经常会需要批量添加模板和批量删除模板,Zabbix页面是提供的批量链接的功能,但是它链接的也只是当前页的主机,我们想扩展这个功能,在链接的时候,可以批量链接整 ...
- 个人博客制作如何选择前端模板 thinkcmf后台加载新模板 CSS js文件
我们的博客后台已经搭建好了,接下来我就要选择一个合适的模板做自己的博客,首先要定位你的博客是做什么用的,是属于什么行业,根据自己博客的定位选择适合的模板. 如果你是设计师,又会前端设计开发,那就可以自 ...
- zabbix批量添加SNMP监听H3C端口检测以及流量图
由于之前网络设备不是很多,监控网络设备接口就直接使用模版中的item来实现了,可是现在公司上线了一大批网络设备,如果要每个网络设备都做模板,添加item......那就该废了,于是迫于压力今天来测试使 ...
- [译][ABP vNext]ABP CLI,v0.18版本的新模板和其他功能
ABP CLI,v0.18版本的新模板和其他功能 ABP v0.18已发布, 包含解决的70+个issue,500+次提交 网站更改 abp.io网站完全更新以突出ABP框架的目标和重要功能.文档和博 ...
- vs .net WebForm 模板添加注释
首先说一点,好久不更新博客了.今天公司服务器不能用了,闲着没事儿,更新一篇博客. 今天要说的就是vs2010下,如何更改各种文件的模板,以省去每次新添加文件时,还得给文件添加文件标示注释等时间.很大程 ...
- zabbix WebUI自定义Nginx监控项模板
zabbix webUI自定义Nginx监控项模板 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建模板 1>.如下图所示,依次点击"配置" --- ...
- zabbix 自动发现主机并关联模板
一.自动发现添加主机 1.利用agent自动发现主机 Configuration - Discovery -Create discovery rule 2.将自动发现的主机关联模板 Configura ...
随机推荐
- [NACOS HTTP-GET] The maximum number of tolerable server reconnection errors has been reached
错误的意思是:已达到可容忍的服务器重连接错误的最大数目.有两个解决思路:一个将这个值设置的更大:然后是排查自己连接服务哪儿出了问题.先说在哪儿设置这个值:在拉取nacos服务的注解配置中,添加一个属性 ...
- 简单理解http协议的特性
http协议一种数据传输的规范,像我们的在发送数据的时候,我们无法保证发送与接收的类型是一致的,它就保证了我们传输的同一个类型数据. 特性: 1.灵活:我们不管传输什么数据,图片,文件,文字,都可以进 ...
- P1387 最大正方形 |动态规划
题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入格式 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m个数字,用空格隔 ...
- 关于Block内部要不要使用weakSelf的几种情况
本文转载自http://www.jianshu.com/p/c6ca540861d9 关于Block内部要不要使用weakSelf的几种情况 我们知道当对block使用不当时会造成循环引用导致内存泄露 ...
- openstack学习之neutron ml2初始化代码分析
这里没有 去详细考虑neutron server怎么初始化的,而是直接从加载插件的地方开始分析.首先我们看下下面这个文件. Neutron/api/v2/router.py class APIRout ...
- ELK filebeat的安装
安装参考官方文档: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html 注意事项: Fr ...
- 350. 两个数组的交集 II
给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5 ...
- 查看yum已安装的包
在linux下如何使用yum查看安装了哪些软件包 列出所有已安装的软件包 yum list installed yum针对软件包操作常用命令: 1.使用 yum 查找软件包 命令:yum search ...
- get请求被浏览器跨域的同源策略请求机制拦截,但是get请求是否请求到了服务器呢
浏览器会拦截跨域请求,但是只是拦截返回结果,请求还是会被发送到服务器. 请求因为跨域被拦截后,会改成 OPTIONS 请求送达服务器,这样服务器就可以知道有人在请求.
- 【IntelliJ Idea】使用学习
[IntelliJ Idea]使用学习 转载:https://www.cnblogs.com/yangchongxing/p/10658259.html 目录 ==================== ...