做公司网站需要制作内容济宁网站开发公司

news/2025/10/3 16:12:36/文章来源:
做公司网站需要制作内容,济宁网站开发公司,个人网站可以做百度竞价,上海工商管理局官网有时候被ZABBIX监控的主机可能需要关机重启等维护操作,为了在此期间不触发告警,需要创建主机的维护任务,以免出现误告警 ZABBIX本身有这个API可供调用(不同版本细节略有不同,本次用的ZABBIX6.*),实现批量化建立主机的维护任务 无论哪种方式(IP列表,主机描述,或IP子网)创建维护…有时候被ZABBIX监控的主机可能需要关机重启等维护操作,为了在此期间不触发告警,需要创建主机的维护任务,以免出现误告警 ZABBIX本身有这个API可供调用(不同版本细节略有不同,本次用的ZABBIX6.*),实现批量化建立主机的维护任务 无论哪种方式(IP列表,主机描述,或IP子网)创建维护,都是向maintenance.create这个方法传递参数的过程,除了起始和终止的时间,最主要的一个参数就是hostids这个参数,它是一个列表(也可以是单个hostid) def create_host_maintenance(self,names,ips,starttimes,stoptimes):startsself.retimes(starttimes)stopsself.retimes(stoptimes)data json.dumps({jsonrpc:2.0,method:maintenance.create,params: {name: names,active_since: starts,active_till: stops,#hostids: [ 12345,54321 ],hostids: ips,timeperiods: [{timeperiod_type: 0,start_date: starts,#start_time: 0,zabbix6不用这个参数,低版本的有用period: int(int(stops)-int(starts))}]},auth: self.authID,id: 1,})request urllib2.Request(self.url, data)for key in self.header:request.add_header(key, self.header[key])try:result urllib2.urlopen(request)except URLError as e:print Error as , eelse:response json.loads(result.read())result.close()print maintenance is created!1.简单说明hostids这个列表参数产生的过程 按IP列表产生hostids的LIST,并调用方法创建维护 def djmaintenanceiplist(self,ipliststrstrs,areanone,byipnone):lists []if areanone: #通过IP列表来创建维护,只向函数传递ipliststr这个参数,其它参数为空for line in ipliststr.splitlines():con line.split()ipaddr con[0].strip()hostids self.host_getbyip(ipaddr)if hostids ! error and hostids not in lists:lists.append(hostids)return listselse:if area !ip and ipliststr ! strs: #按主机描述匹配创建维护,ipliststr参数因定为strs,area参数为主机描述,byip参数为空(因为网络环境的原因,本例弃用这个条件)sqlsselect hostid from zabbixdb.hosts where name like %area% testspysql.conn_mysql()datastests.query_mysqlrelists(sqls)if datas ! error:for ids, in datas:if ids not in lists:lists.append(ids)else:if byip ! none: #按主机IP子网创建维护,byip参数不为空(因为网络环境的原因,本例弃用这个条件)sqls select hosts.hostid from zabbixdb.hosts,zabbixdb.interface where hosts.hostidinterface.hostid and (interface.ip like % byip % or hosts.name like % byip %)tests pysql.conn_mysql()datas tests.query_mysqlrelists(sqls)if datas ! error:for ids, in datas:if ids not in lists:lists.append(ids)return listsdef djiplist(self,starttime,stoptime,strlins): #strlins为IP列表的参数,可由WEB前端传递进来test ZabbixTools()test.user_login()lists test.djmaintenanceiplist(strlins)nowtime str(time.strftime(%Y-%m-%d-%H-%M-%S, time.localtime(time.time())))test.create_host_maintenance(nowtime, lists, starttime, stoptime)按主机描述和IP子网产生hostids的LIST,并调用方法创建维护 def djdescript(self,starttime,stoptime,descstr,ipnetsnone):lists []if descstr ! ip: #descstr参数不为ip的时候,表示根据主机的描述信息匹配创建维护,此时不传递innets参数for line in descstr.splitlines():con line.split()descstrnew con[0].strip()sqls select hostid from dbname.hosts where name like % descstrnew % tests pysql.conn_mysql()datas tests.query_mysqlrelists(sqls)if datas ! error:for ids, in datas:if ids not in lists:lists.append(ids)else:if ipnets ! none: #ipnets参数不为空,表示按照IP子网匹配创建维护,此时descstr参数一定为ipsqls select hosts.hostid from dbname.hosts,dbname.interface where hosts.hostidinterface.hostid and (interface.ip like % ipnets % or hosts.name like % ipnets %)tests pysql.conn_mysql()datas tests.query_mysqlrelists(sqls)if datas ! error:for ids, in datas:if ids not in lists:lists.append(ids)test ZabbixTools()test.user_login()nowtime str(time.strftime(%Y-%m-%d-%H-%M-%S, time.localtime(time.time())))test.create_host_maintenance(nowtime, lists, starttime, stoptime) 2.create_host_maintenance和djmaintenanceiplist,及djdescript函数调用方法的说明 时间转换函数self.retimes,将用户传递/的%Y-%m-%d %H:%M:%S日期时间转换为时间时间戳 def retimes(self,times):timeArray time.strptime(times, %Y-%m-%d %H:%M:%S)timestamp time.mktime(timeArray)return timestamp self.host_getbyip(ipaddr)通过主机IP获取zabbix的hostid,这个方法应用很广泛 函数中的self.authID通过zabbix的API 的user.login方法获取,参考ZABBIX官方文档 def host_getbyip(self,hostip):data json.dumps({jsonrpc:2.0,method:host.get,params:{output:[hostid,name,status,available],filter: {ip: hostip,custom_interfaces:0}},auth:self.authID,id:1,})request urllib2.Request(self.url, data)for key in self.header:request.add_header(key, self.header[key])try:result urllib2.urlopen(request)except URLError as e:if hasattr(e, reason):print We failed to reach a server.print Reason: , e.reasonelif hasattr(e, code):print The server could not fulfill the request.print Error code: , e.codeelse:response json.loads(result.read())result.close()lenslen(response[result])if lens 0:return response[result][0][hostid]else:print error hostipreturn error pysql.conn_mysql()的实现 #coding:utf-8 import pymysql class conn_mysql:def __init__(self):self.db_host zabbixdbipself.db_user dbusernameself.db_passwd dbuserpasswordself.database dbnamedef query_mysqlrelists(self, sql):conn pymysql.connect(hostself.db_host, userself.db_user, passwdself.db_passwd,databaseself.database)cur conn.cursor()cur.execute(sql)data cur.fetchall()cur.close()conn.close()#print data# 查询到有数据则进入行判断row有值且值有效则取指定行数据无值则默认第一行if data ! None and len(data) 0:return data#调用方式:for ids, in datas:else:return error#此方法返回的数据不含数据库字段的列表,如果要返回包含列名(KEY)的字典列表,则:conn pymysql.connect(hostself.db_host, userself.db_user, passwdself.db_passwd,databaseself.database,cursorclasspymysql.cursors.DictCursor) 解决:tuple indices must be integers, not str3.VIEWS.PY及前端和前端伟递参数的说明 views.py对应的方法 #login_required def zabbixmanage(request):if request.methodPOST:uptime request.POST.get(uptime)downtime request.POST.get(downtime)UTC_FORMAT %Y-%m-%dT%H:%MutcTime datetime.datetime.strptime(uptime, UTC_FORMAT)uptime str(utcTime datetime.timedelta(hours0))utcTime datetime.datetime.strptime(downtime, UTC_FORMAT)downtime str(utcTime datetime.timedelta(hours0))if request.POST.has_key(iplists):try:sqlstrrequest.POST.get(sqlstr)u1upproxy.ZabbixTools() #前面的python文件名为upproxy.py,类名为ZabbixToolsu1.djiplist(uptime,downtime,sqlstr)except Exception:return render(request,zbx1.html,{login_err:FAILSTEP1})if request.POST.has_key(descs):try:sqlstr request.POST.get(sqlstr)u1 upproxy.ZabbixTools() u1.djdescript(uptime,downtime,sqlstr)except Exception:return render(request,zbx1.html,{login_err:FAILSTEP2})if request.POST.has_key(ipnets):try:sqlstr request.POST.get(sqlstr)u1 upproxy.ZabbixTools()u1.djdescript(uptime,downtime,ip,sqlstr)except Exception:return render(request,zbx1.html,{login_err:FAILSTEP3})HTML的简单写法,不太会写,很潦草 !DOCTYPE html html langen headmeta charsetutf-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleZABBIXMANAGE/title /head bodydiv idcontainer classcls-containerdiv idbg-overlay /divdiv classcls-header cls-header-lgdiv classcls-brandh3ZABBIX主机维护模式/h3h4开始时间小于结束时间/h4/div/divdiv classcls-contentdiv classcls-content-sm paneldiv classpanel-bodyform idloginForm action{% url zabbixmanage %} methodPOST {% csrf_token %}div classform-groupdiv classinput-groupdiv classinput-group-addoni classfa fa-user/i/divtextarea typetext classform-control namesqlstr placeholderIP列表,关键字或者IP网段 stylewidth:300px;height:111px/textarea/br/div/div/br/br开始时间:input typedatetime-local nameuptime/br/br结束时间:input typedatetime-local namedowntime/br/brp classpad-btm按IP列表维护:按行输入IP列表加入维护,一行一个IP,多行输入/pp classpad-btm按关键字匹配:主机描述信息的关键字匹配的加入维护,一般用于虚拟机宿主机和关键字匹配/pp classpad-btm匹配子网关键字维护:IP网段匹配的加入维护,一次填写一个子网,多个子网多次设置,写法示例:172.16./pbutton classbtn btn-success btn-block typesubmit nameiplistsb按IP列表维护一般情况用这个就行/b/button/br/brbutton classbtn btn-success btn-block typesubmit namedescsb按关键字匹配/b/buttonbutton classbtn btn-success btn-block typesubmit nameipnetsb匹配子网关键字维护/b/buttonh4 stylecolor: redb{{ login_err }}/b/h4/form/div/div/div /div /body /html 跑起来大约是这个界面,用户填写主机IP列表,或匹配的描述,或子网的信息,选好时间,点个按钮就能实现批量的维护任务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何更换网站图片wordpress 设置图片大小

11.2.0.3数据库环境,使用rman进行归档日志备份,想实现: (1)每天备份归档日志,备份完并不删除归档日志 (2)归档日志备份成功一次之后,下次再备份的时候rman就自动不会再次备份这个归档日志 这个需求可以通过 backup …

北京专业网站翻译影音字幕翻译速记速记快而高效公司网站的seo优化怎么做

2019独角兽企业重金招聘Python工程师标准>>> 快捷菜单 当用户点击界面上某个元素超过2秒后,将启动注册到该界面的快捷菜单。 步骤: 1.代码动态生成菜单 final static int CONTEXT_MENU_1 Menu.FIRST;final static int CONTEXT_MENU_2 Menu…

vs做网站怎样添加图片普通网站报价多少

用过小米miui的用户都知道,miui的“文件管理”里边有一个非常好用的功能-远程管理,如果手机与电脑都在同一个wifi网络下,即同一个局域网内,不用数据线直接就可以连接。打开手机的文件管理—远程管理—启动服务,将生成一…

一个公司可以做两个网站推广吗分类信息网站织梦模板

缩小包围圈游戏其实是一个不可能完成的任务,但是它会给游戏者带来无尽欢笑,使小组充满活力,让队员们能够自然地进行身体接触和配合,消除害羞和忸怩感,创造融洽的气氛,为后续工作的开展奠定良好基础。可以作…

详细介绍:从零到一:Docker Compose 轻松部署微服务实战!

详细介绍:从零到一:Docker Compose 轻松部署微服务实战!2025-10-03 15:59 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importan…

软著申请全流程材料模板,2025年最新模板汇总! - 实践

软著申请全流程材料模板,2025年最新模板汇总! - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&q…

四川话ASR-微调-语音识别-Paraformer-Large - 教程

四川话ASR-微调-语音识别-Paraformer-Large - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

茂名专业网站建设公司亚马逊网站建设分析

推荐阅读 给软件行业带来了春天——揭秘Spring究竟是何方神圣(一) 给软件行业带来了春天——揭秘Spring究竟是何方神圣(二) 文章目录 推荐阅读关联查询子查询 关联查询 关联查询 从多张表中查询对应记录的信息,关联查…

手把手教你使用 Docker 部署 Nginx 教程

本文详细介绍了基于轩辕镜像的 Nginx 镜像拉取方法(含登录验证、免登录(推荐)、官方直连等方式),以及三种适合不同场景的 Docker 部署方案(快速部署用于测试、目录挂载用于实际项目、docker-compose 用于企业级场…

建站公司服务网页游戏开服表大全

TJpgDec—轻量级JPEG解码器 本文由乌合之众lym瞎编,欢迎转载blog.cnblogs.net/oloroso 下文中解码一词皆由decompression/decompress翻译而来。 TJpgDec是一个为小型嵌入式系统高度优化的创建JPEG图像的解码模块。它工作时占用的内存非常低,以便它可以集…

网站建设营销模板网站扁平化设计理念

目录 结论先说 实验 结论 实验机器的cpu配置 用EDGE拉九路​编辑 google拉五路就拉不出来了 资源使用情况 edge报错​编辑 结论先说 实验 用chrome先拉九路,再想用edge拉九路,发现拉五路后怎么也拉不出; 后面发现cpu爆满;切…

自己搭建一个网站需要多少钱?手机网站搭建教程

来源:AI前线作者:Ben Dickson译者:盖策划:凌敏本文来自 BDTechTalks 网站的“AI 研究论文评论”专栏。该专栏提供人工智能最新发现的系列解读文章。尽管人工智能研究人员正力图建立能在围棋、星际争霸到 Dota 等复杂游戏中击败人类…

CF2129 CF1951 VP 记录

非常好 hfu 开发的神秘打一场比赛改两场题,使我的国庆假期旋转. CF2129 Div1 B 逆序对考虑在较小的数处统计贡献,枚举序列里面每个数,一并枚举逆序对的另一个数. \(p_i\) 有贡献当且 \(i>j\),\(2n-p_i\) 有贡献…

PWN-BUUCTF-test_your_nc

BUUCTF-test_your_nc的WPpwn 题目题解 使用nc连接题目地址,输入ls查看目录。使用cat命令获取flag文件内容得到flag。总结 题目考察nc的使用方法本文来自博客园,作者:ffff5,转载请注明原文链接:https://www.cnblog…

做网站设计需要具备哪些重庆市工程建设服务中心

中国科学院自动化研究所智能交互团队在环境鲁棒性、轻量级建模、自适应能力以及端到端处理等几个方面进行持续攻关,在语音识别方面获新进展,相关成果将在全球语音学术会议INTERSPEECH2019发表。现有端到端语音识别系统难以有效利用外部文本语料中的语言学…

电商网站建设目标分析的方法淘宝客网站建设方案书

机器学习是一项经验技能,经验越多越好。在项目建立的过程中,实 践是掌握机器学习的最佳手段。在实践过程中,通过实际操作加深对分类和回归问题的每一个步骤的理解,达到学习机器学习的目的 预测模型项目模板 不能只通过阅读来掌握…

Kafka Windows 安装启动与 YAML 配置全解析 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

昆明专业建站装修设计公司服务

参考链接 FFmpeg源代码简单分析:avcodec_close()_雷霄骅的博客-CSDN博客_avcodec_close avcodec_close() 该函数用于关闭编码器avcodec_close()函数的声明位于libavcodec\avcodec.h,如下所示。 ​该函数只有一个参数,就是需要关闭的编码器的…

使用rem布局的网站网站开发5人小组分工

. 单论品牌(主要以登山鞋及徙步鞋为主): 高级品牌:SCARPA、ASOLO、MONTRAIL、ZAMBERLAN、vasque、Lowa、La Sportiva 价格都较高,单价都在千元以上,品质一流,做工精细。 中档品牌:Tr…

详细介绍:计算机视觉:OpenCV+Dlib 人脸检测

详细介绍:计算机视觉:OpenCV+Dlib 人脸检测pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…