java mysql Python 开源 Ubuntu 编程 google centos Windows 云计算 微软 Firefox nginx linux php apache 程序员 shell Android wordpress

資產管理系統Cmdb助力自動化運維實施

 

 

在新公司負責全網的自動化運維平臺及給各個業務線提供接口數據。這工作和以前做的很類似,也算是比較順手的工作,這段時候遇見一些問題,導致開發的前進速度的放慢了,具體有哪些的不完善,我這裏就先不列出了,但是會把我遇到的問題的根源,放大炮似的描述下。新公司的資產系統還算可以的,比不少公司的資產管理也都要強大,只是我人比較“刺”,我見過比這更強大的,而且在那開發部門裏待過,也參與過這項目相關的資產的開發。 經常搞這些個東西,所以整個開發實現和流程步驟也都算明白。

扯遠點,既然大家都在學習python,完全可以用python django這類的模式,開發資產信息管理系統。

什麽是資產系統?

資產系統,時尚的英文名字叫做cmdb,同義為配置管理數據系統。資產系統和cmdb並不是一回事,可以說cmdb包含了資產系統。

下面看看有些產品網站給與資產系統和cmdb的定義:

他們看似不一樣,但其實有很大的關聯。我們也不要太主觀的區分他們,下面分享一下我的資產管理cmdb相關經驗和需要註意的地方。

為什麽要重視cmdb?

最簡單的可以知道買的服務器上沒有上線?誰在用?哪個業務在用?用的是哪個ip?放到了哪裏?有沒有保修過?使用情況如何? ip的現狀,占用情況等。

說的全面點,他包括以下方面:

 

IP:所有IP、IPMI,所有MAC

配置:采购配置、实际配置、OS

应用分类信息:多级分类组合、应用组合

资产号、序列号、型号、负责人、合同、上架日期

IDC、机柜、网络

其他分类:虚/实、线上/线下/库备/报废、自有/外部

需要跨系统数据组合的运维报表

全国将过保、将报废、备机的IDC分布、项目分布

虚拟化资源利用率、节约率、故障率、成本分摊

强大的报表生成能力

 

高級點,可以用在庫裏面,直接展現圖表,知道哪個業務線的部署節點的情況,通過這些節點直接去zabbix接口趣監控的load數據。得到類似該業務線的全網的load圖。

再高級點,存放了系統的密碼以及管理網的密碼,以及機房展現圖。

這些為什麽要重視他的原因,也正是我期待的資產系統的一部分功能。

cmdb相關問題匯總

接下來談談我和同事在工作中遇見的問題,這樣方便大家更好的理解 。

我們對面的組是系統組,經常讓被他們的電話聲音吵了思路,有不少的原因是和ibm、dell的工作人員核實服務器的位置,大家的記錄雖然也是數據庫裏面查詢查來的,總是覺得不夠直觀。 如果實現了機房的拓撲圖那就爽了。 可以很直觀的看到查詢機房的各個情況。

在平臺上輸入lvs後端的節點,但是你是用張三登錄的,這個時候,添加後端ip域名之前我需要做些相關的認證。 首先檢測這個ip是不是公司的已有ip地址,這個ip地址是不是你當前用戶名資產下的。 沒有的return false; 別讓他繼續了。

他想拿出幾臺服務器做集群,在自助平臺上操作,根絕資產那邊的硬件情況做個分類,做集群算法的時候,後端會自己跑到資產接口拿數據,根據情況給出不同的 weight權衡值。

新上線的服務器,做為後端的web節點,部署puppet或者saltstack環境的時候,我們需要他的密碼。 這個時候,需要從資產系統裏面拿信息,然後初始化環境,比如用saltstack的jinja2 模板數據,配置的外網ip地址,ip route,主機名,kerberos權限表。 都是需要在一個接口拿,只能是資產系統。

在平臺上針對lvs有重大配置更改的時候,需要給領導發一個郵件或者是手機,用來確定,確定之後才能繼續下去。 你領導的聯系方式怎麽獲得,肯定也是資產系統裏面的,不然在你的mysql再次錄入,顯得不太專業。

上線說的是我作為運維開發所需要的接口數據,這些是從cmdb裏面搞到的,說起來容易,cmdb的數據作準真的好難搞,前公司也是花費了大量的心力和實習生們的努力才把數據作準,就算是現在也不敢說數據是100%準的。

數據是如何填滿的?

A. 很簡單,就是遍歷要查的數據,服務器的直接跑收集的工具,還有些東西可以用ipmi去跑收集。

同事用gearman和廠家工具寫的分布式框架,是專門抓取數據的,有時間讓他開源。我最開始寫過批量獲取服務器硬件數據的腳本,用zeromq做的任務分發隊列效率很高的,剛找了很久,貌似當時沒有推到github裏 ……

B. 一些機櫃機房的資產信息,可以給世紀互聯一個添加數據的頁面,等他們寫好,你過去核對下,合格後,直接點擊入庫。

做好資產管理系統,我覺得在開發上沒啥難度,在公司裏隨便拉個PHP開發,也都能搞定,推行的難度還是在於後期的數據維護。

1. 制定規範流程

2. 揮動所有能指派的力量去核對數據

3. 用流程去增刪改查數據

延伸阅读

    评论