CMDB

CMDB  http://www.cnblogs.com/wupeiqi/articles/6192986.htmlhtml

CMDB須要實現的功能python

1 資產自動收集數據庫

2 APIapi

3 可視化管理服務器

 

資產收集restful

一收集方式app

1 paramiko方式運維

經過API獲取主機名,利用paramiko獲取數據解析成字典返回給API併入庫測試

2 saltstack方式url

3 puppet方式

4 Agent方式

 

二 收集要點

1 採集方式配置

2 插件定製(信息收集以及存放)

3 測試模式 (功能測試)

4 錯誤日誌(詳細行)

5 回報數據(API認證)

6 資產惟一標識(使用主機名等不重複的信息做爲惟一標識,並將惟一標識信息寫入指定文件,之後從文件中獲取惟一標識)

 

logging模塊

http://www.cnblogs.com/wupeiqi/articles/5501365.html

單文件日誌

import logging

  
  
logging.basicConfig(filename = 'log.log' ,
                     format = '%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s' ,
                     datefmt = '%Y-%m-%d %H:%M:%S %p' ,
                     level = 10 )  配置日誌格式
  
logging.debug( 'debug' )
logging.info( 'info' )
logging.warning( 'warning' )
logging.error( 'error' )
logging.critical( 'critical' )
logging.log( 10 , 'log' )
 
日誌級別
CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0

多日誌文件
定義文件
file_2_1 = logging.FileHandler('l2_1.log', 'a')
fmt = logging.Formatter()
file_2_1.setFormatter(fmt)
定義日誌
logger2 = logging.Logger('s2', level=logging.INFO)
logger2.addHandler(file_2_1)
寫日誌
logger1.critical('1111')API認證客戶端appid='....'current_time ='...'m=hashlib.md5(appid+current_time)new_appid='%s|%s'%(m,current_time)requests.get(url='',headers='new_appid')服務器1 分割new_appid,獲取客戶端的current_time並獲取服務器端的current_time,比較超過10秒就返回驗證失敗。2 不然循環appid列表,若是已存在就返回驗證失敗,不存在就下一步驗證,同時將保存時間超過10秒的刪除。3 根據本身的appid和客戶端的current_time生成md5值,而後和客戶端的md5值比較,相同則返回結果並將appid添加到列表,不然返回驗證失敗restfulapi同一個資源使用一個api連接,根據請求方式不一樣做出不一樣響應數據庫表設計1 運維及業務聯繫人信息表2 權限信息表3 用戶組表,根據業務分組4 業務信息表5 idc機房6 資產類型7 標籤8 服務器9 具體硬件資源(硬盤,網卡,內存)10 資產變動11 錯誤獲取未更新主機根據最後更新時間與當前時間對比
相關文章
相關標籤/搜索