上一页 1 ··· 15 16 17 18 19
摘要: 用法 1、在基类中定义所有的方法,在各个派生类中继承基类,派生类可以直接调用基类中的方法,基类中的方法就是默认配置方法,若项自定义方法可以在派生类中自定义方法。 2、cmdb 资产采集插件disk.py memory.py 每个插件类中都定义了相同的方法,所以为了简约代码相同的方法可以定义在基类中供 阅读全文
posted @ 2019-01-13 12:13 fanggege 阅读(773) 评论(0) 推荐(0) 编辑
摘要: 前言 写django 经常看见两个模块的使用,在此记录一下 区别 sys.path 是一个列表,是python 环境变量的搜索列表 os.path 是一个对象,有很多的关于路径的方法 sys.path 的使用 import sys sys.path.append(’引用模块的地址') #或者 imp 阅读全文
posted @ 2019-01-13 11:02 fanggege 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 前言 所谓开放封闭原则即:开放配置、封闭源码。例如django 中间件的插拔特性配置 CMDB 中不同模式下(agent/ssh/salt)采用不同的数据采集方法,每个方法定义成一个单独的插件脚本。通过读取settings.py 配置觉得执行那种插件,通过配置settings.py 扩展模式类型。 阅读全文
posted @ 2019-01-13 00:03 fanggege 阅读(444) 评论(0) 推荐(1) 编辑
摘要: 使用场景 CMDB 资产采集采用中控机for 循环主机列表挨个针对主机进行远程资产采集并且提交数据到API,此方式为一个一个的数据采集并提交,在主机数量庞大的请况下此方式严重耗时。 再次引入线程池方式,例如建立10个线程,每次10个线程同时采集10个主机信息并且入库,先执行完任务的线程继续采集后面的 阅读全文
posted @ 2019-01-12 21:17 fanggege 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 前言 任何代码执行前都需要考虑代码bug,当出现错误信息时需要展示其错误信息 通过try 方式 代码一 def f1(): result = 123 int('asdf') #故意设置一个错误的代码源 return result def run(): try: ret = f1() print(re 阅读全文
posted @ 2019-01-12 18:44 fanggege 阅读(1391) 评论(0) 推荐(0) 编辑
摘要: 项目描述 CMDB 资产入库时,需要在客户端采集数据通过requests模块发送请求到服务端,服务端通过django 定义视图函数接收数据并返回状态 方式一:服务端通过request.body 接收请求 client 代码 import requests import json def asset( 阅读全文
posted @ 2019-01-12 17:17 fanggege 阅读(1654) 评论(0) 推荐(0) 编辑
摘要: 需求分析与功能实现 1、界面展示数据定制化的,通过在服务端views.py中配置 table_config 来自定义要展示的数据 2、采用jQuery ajax 异步数据请求、处理、展示 3、请求数据的定制化展示,增加删除、编辑等操作项 4、jQuery ajax 封装成通用的 js 框架,展示不同 阅读全文
posted @ 2018-12-29 15:35 fanggege 阅读(668) 评论(0) 推荐(0) 编辑
摘要: AGENT 模式唯一标识主机名 客户端以自身主机名为唯一标识将数据上报到API,每个客户端数据根据主机名去存储,若主机名被改变则数据会被认为是新主机得数据造成信息上报失误。 解决方式 解决方式 客户端建立配置文件,第一次数据采集后把主机名配置写入配置文件,第二次后以配置文件中主机名为准进行数据上报 阅读全文
posted @ 2018-12-09 21:09 fanggege 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 2018-04-07 一、Python 介绍 python 2.X 在2020以后不再更新代码。 Python 2.x 与 Python 3.x 的区别 python2.x 语法:重复,不规范 编码:默认ASCII,无法显示中文。解决方式: # -*- encoding:UTF-8 -*- 数据类型 阅读全文
posted @ 2018-04-07 09:57 fanggege 阅读(165) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19