python开发第二十六天CMDB

概要:

1、采集资产

2、API

一、资产采集

1、采集方式的配置

2、插件的定制

3、测试模式

4、错误日志(必须是行级的详细错误信息)

5、汇报数据--》遵循资产的唯一性

(1)只针对物理机(不包括虚拟机),SN号作为唯一标识

(2)建立规则:以不重复的主机名为唯一标识,且把主机名存储在文件中,从文件中获取主机名为标识(类似于pid文件)

 

<一>、采集方式

1、agent和salt的区别

(1)agent是采集自己的数据,salt是采集别人的数据,拿到结果后以某种方式发送给api

(2)对于agent没有性能瓶颈,而对于salt而言就有性能瓶颈--适合用多线程开启线程池。

2、认证信息(headers)get和post都需要带headers

3、插件的入口(继承Baseplugin(里面linux,windows的方法))

 

<二>错误日志

1、日志的运行级别

2、运行日志和错误日志分开

3、日志的格式 format格式化处理

4、多文件日志的写法

logging日志模块参考:http://www.cnblogs.com/wupeiqi/articles/5501365.html

 

<三>汇报数据

API的认证:

(1)加入发送时的时间戳,且与接收到数据是的当前时间戳进行比较,自定义有效时间。

(2)双向都用正向加密比较认证

(3)只允许一次访问,访问完写入列表或者redis等来判断是否已经存在。

注意:CBV实现解除CSRF验证,需要如下操作:

class AssetView(View):
#让CBV不遵循csrf验证
@method_decorator(csrf_exempt)
def dispatch(self, request, *args, **kwargs):
return super(AssetView, self).dispatch(request, *args, **kwargs)

二、API

<一>resful

(1)一个url代指一个资源

(2)状态转化,method动作不同(get,post,put,delete)

(3)表现层:html,jpg,png,json,xml,stream

<二>表结构

 <三>get采集

(1)今日未更新数据

(2)资产状态(在线)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

 

posted @ 2017-03-02 20:23  willpower-chen  阅读(1011)  评论(0编辑  收藏  举报