




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文由簡(jiǎn)悅SimpRead轉(zhuǎn)碼,原文地址本課時(shí)我們主要講解如何基于Python、Django、Ansible本文由簡(jiǎn)悅SimpRead轉(zhuǎn)碼,原文地址本課時(shí)我們主要講解如何基于Python、Django、Ansible開發(fā)一套具備Devops理念的自動(dòng)化任務(wù)執(zhí)行和資產(chǎn)管理(CMDB)系統(tǒng)。這個(gè)可以實(shí)現(xiàn)自動(dòng)化任務(wù)執(zhí)行和資產(chǎn)管理的系統(tǒng)取名為Imoocc,它是基于Python、Django、實(shí)現(xiàn)的,共有兩個(gè)版本,一個(gè)是Python2.7版本(你可以在這個(gè)GitHub地址上直接下載),另外一個(gè)是Python3.6版本(你可以在本課時(shí)末尾的鏈接中通過(guò)附件下載)。Imoocc統(tǒng)、硬件信息和宿主機(jī)子機(jī)關(guān)聯(lián)信息收集起來(lái),并做平臺(tái)化展示。然后打通自動(dòng)化任務(wù)執(zhí)行,客戶端通過(guò)調(diào)用API接口的方式對(duì)搜集的資產(chǎn)信息對(duì)象執(zhí)行自動(dòng)化任務(wù),對(duì)共分為三種類型:物理資產(chǎn)、虛擬資產(chǎn)和信息資產(chǎn)。化的方式虛擬出KVM、mwae、Docer等相關(guān)的虛擬化個(gè)體。運(yùn)行的服務(wù),以及每個(gè)服務(wù)器配置的IP,還有它的登錄等相關(guān)信息,等等。運(yùn)維資產(chǎn)管理系統(tǒng)就是要把所有的這些資產(chǎn)做整體的管理和收集。我們講到CMDB也是Devops設(shè)計(jì)在企業(yè)里面,Dvops在企業(yè)里面,Dvops依賴于資產(chǎn)管理的功能。所以搜集資產(chǎn)是Dvops工程設(shè)計(jì)里面非常重要、非常基礎(chǔ)的一個(gè)環(huán)節(jié)。首先,用PyCharm工具打開工程代碼,左側(cè)是目錄結(jié)構(gòu),底部是一個(gè)terminal首先,用PyCharm工具打開工程代碼,左側(cè)是目錄結(jié)構(gòu),底部是一個(gè)terminal控制終端,上面是代碼內(nèi)容,如果你了解PyCharm就比較清楚了。我本地已經(jīng)準(zhǔn)備好一個(gè)演示環(huán)境,因?yàn)樾枰占Y產(chǎn)信息,本地環(huán)境的資產(chǎn)除了包括演示的這臺(tái)主機(jī)以外,還包括另外一臺(tái)單獨(dú)的裝了VMwae的虛擬機(jī),在虛擬機(jī)上還運(yùn)行了一個(gè)Docer的容器(是我本地收集的目標(biāo)資產(chǎn)對(duì)象)。登錄到這臺(tái)虛擬機(jī)后,可以發(fā)現(xiàn)啟動(dòng)的容器開放了ssh端口并進(jìn)行了端口的映射(22022>22),的掃描,并且會(huì)把它們的關(guān)系羅列出來(lái)。回到工程代碼,首先需要運(yùn)行一個(gè)腳本,把目標(biāo)資產(chǎn)信息掃描出來(lái)。這里通過(guò)Python直接執(zhí)行main.回到工程代碼,首先需要運(yùn)行一個(gè)腳本,把目標(biāo)資產(chǎn)信息掃描出來(lái)。這里通過(guò)Python直接執(zhí)行main.y到的信息??吹剿腎P信息和端口信息。這個(gè)ssh端口就是容器所映射出來(lái)的端口,還會(huì)看到把相關(guān)的主機(jī)容器上的主機(jī)信息也做了相關(guān)的打印,也就是信息收集。息,并且展示它們的關(guān)聯(lián)關(guān)系,所以這里我繼續(xù)演示前臺(tái)界面是什么效果。Pythonmanage.pyrunserver5555端口,并把這個(gè)服務(wù)運(yùn)行起來(lái)。然后打開瀏覽器,輸入:5555端口的url地址,這時(shí)就可以登錄后臺(tái)系統(tǒng)。在后臺(tái)系統(tǒng)中你可以看到是一臺(tái)承載Docer是一臺(tái)承載Docer類型的物理機(jī)。點(diǎn)擊子鏈接會(huì)進(jìn)入新的界面,新界面會(huì)展示這臺(tái)物理設(shè)備上的機(jī)器相關(guān)屬性,比如IP地址、服務(wù)器品牌、操作系統(tǒng)等(備注:你可以看到這里的服務(wù)器品牌是VMwae設(shè)備,這里稍微改動(dòng)了代碼,把VM當(dāng)成物理設(shè)備來(lái)處理,所以這里實(shí)際上是一臺(tái)虛擬機(jī))。新的頁(yè)面,新頁(yè)面會(huì)展示出登錄的用戶名、密碼等信息,登錄方式也做了相關(guān)信息資產(chǎn)的保存。主機(jī)上面有容器運(yùn)行,并且還會(huì)展示系統(tǒng)版本,以及連接用戶的相關(guān)信息,我們也可以點(diǎn)擊查看。這就是我的這一套CMDB主機(jī)上面有容器運(yùn)行,并且還會(huì)展示系統(tǒng)版本,以及連接用戶的相關(guān)信息,我們也可以點(diǎn)擊查看。這就是我的這一套CMDB以獲得一些自動(dòng)化運(yùn)維研發(fā)的思路和相關(guān)經(jīng)驗(yàn),并運(yùn)用在自己的項(xiàng)目中。了解了這些以后,我們來(lái)看一下學(xué)習(xí)本課時(shí)所需要掌握的基礎(chǔ)。首先就是需要了解Python一定的Python開發(fā)基礎(chǔ);同時(shí),你還要了解Django基礎(chǔ),包括它的模型、視圖、URL等;還要掌握一些前端的基礎(chǔ)知識(shí),如Bootstap、JS、HTML等,這里對(duì)于前端的知識(shí)要求并不高,只需要能看懂即可。通過(guò)ICMP協(xié)議去掃描內(nèi)部的存活設(shè)備,通過(guò)ssh協(xié)議的好處是開發(fā)、運(yùn)維實(shí)現(xiàn)會(huì)更加的簡(jiǎn)單、通用。傳統(tǒng)的CMDB系統(tǒng)需要手動(dòng)錄入方式,相比手動(dòng)錄入方式,該系統(tǒng)效率得到了提升。另外,對(duì)比被動(dòng)探測(cè)的實(shí)現(xiàn)方式,采用主動(dòng)探測(cè)方式會(huì)更加方便維護(hù)和管理,被動(dòng)探測(cè)往往需要在客戶端安裝而agent的管理維護(hù)其實(shí)相對(duì)比較復(fù)雜。這個(gè)工程的信息展示,你可以看到,在左側(cè)的菜單欄里面,我會(huì)把整個(gè)Devops里與工程相關(guān)的功能做關(guān)系進(jìn)行梳理和展示。關(guān)系進(jìn)行梳理和展示。在資產(chǎn)信息內(nèi)容中,會(huì)收集服務(wù)器IP、服務(wù)器品牌、主機(jī)名、系統(tǒng)版本、設(shè)備的sn號(hào)、MAC地址、宿主機(jī)的類型、相關(guān)的編號(hào),以及ssh登錄所需信息。有了登錄的連接信息就為自動(dòng)化任務(wù)執(zhí)行奠定了一接下來(lái)這個(gè)頁(yè)面展示的是與登錄的連接相關(guān)的信息內(nèi)容,包含:登錄的用戶名、ssh登錄密碼、ssh接下來(lái)這個(gè)頁(yè)面展示的是與登錄的連接相關(guān)的信息內(nèi)容,包含:登錄的用戶名、ssh登錄密碼、ssh的登錄端口和IP信息,同時(shí)也可以支持y的登錄信息記錄,因?yàn)榍懊嬷v過(guò),y錄的方式更加安全。最后一部分我們來(lái)介紹一下CMDB首先,這套工程用到了Python3.6、Django1.8、MySQL5.7,前臺(tái)用到Bootstrap3.0第一,在使用這套工程時(shí),你需要先把MySQL搭建完畢,同時(shí)修改對(duì)應(yīng)的字符集,并創(chuàng)建數(shù)據(jù)庫(kù)密碼第二,工程所需要的模塊,同樣是在requirements.txt里面安裝Pythonsettingsmanage.pymakemigrationsmanage.pymigrate同時(shí),在前臺(tái)管理系統(tǒng)里面,我們用到了admin建一個(gè)登錄的用戶密碼信息,我們可以通過(guò)manage.y進(jìn)入它的Shell交互環(huán)境,通過(guò)這樣的方式來(lái)創(chuàng)建登錄前臺(tái)的管理員的用戶密碼,最后,就是啟動(dòng)工程。圖中右側(cè)是所需要探測(cè)的客戶端,左側(cè)為服務(wù)端,服務(wù)端這里通過(guò)一些對(duì)應(yīng)的通用協(xié)議,比如ssh、ping圖中右側(cè)是所需要探測(cè)的客戶端,左側(cè)為服務(wù)端,服務(wù)端這里通過(guò)一些對(duì)應(yīng)的通用協(xié)議,比如ssh、ping、telnet機(jī),比如KVM、Docer、ESX等。我們會(huì)看到,通過(guò)main.y測(cè),第三個(gè)是做主機(jī)關(guān)系探測(cè)。存活探測(cè)會(huì)掃描在一個(gè)局域網(wǎng)內(nèi)部存活的IP地址列表。主機(jī)探測(cè)會(huì)獲取對(duì)應(yīng)存活的主機(jī)上面的系統(tǒng)信息,如sn號(hào)、版本、MC機(jī)的映射關(guān)系。這就是整體的探測(cè)邏輯和順序。如圖所示:首先,我會(huì)做主機(jī)存活的探測(cè),掃描出對(duì)應(yīng)的存活的主機(jī)IP列表,有了這份IP列表后,就可以做首先,我會(huì)做主機(jī)存活的探測(cè),掃描出對(duì)應(yīng)的存活的主機(jī)IP列表,有了這份IP列表后,就可以做ssh的端口探測(cè)。ssh端口探測(cè)先判斷局域網(wǎng)內(nèi)部的ssh端口是不是開放的,如果開放了ssh端口,就可以LinuxsshsshLinux主機(jī),然后會(huì)把它放到到另外一個(gè)列表中。接下來(lái)我會(huì)模擬ssh的用戶登錄,判斷它的登錄方式,分別是通過(guò)用戶的密碼登錄方式和key的登錄方式。登錄完成以后,就可以去獲取這臺(tái)主機(jī)上的主機(jī)信息,并接下來(lái)講一下啟動(dòng)探測(cè)器所需要具備的一些配置。首先,我們需要修改scanhosts.yaml的相關(guān)配置,這里會(huì)配置幾段信息。第一個(gè),是配置服務(wù)器的主機(jī)段,我本地的主機(jī)段是1921681,表示掃描的主機(jī)段。第二個(gè),就是ssh所需要探測(cè)端口,因?yàn)閟sh端口往往是固定的,默認(rèn)端口是22面。另外,就是配置ssh用y登錄的方式,這里會(huì)為私鑰配置一個(gè)列表。機(jī)版本、主機(jī)名、MC地址、sn號(hào)等,都是通過(guò)命令去獲取的。最后,這里單獨(dú)列出一個(gè)dockerinfo配置項(xiàng)目,它為最后,這里單獨(dú)列出一個(gè)dockerinfo配置項(xiàng)目,它為Docker的登錄方式單獨(dú)獨(dú)立出一個(gè)用戶密碼
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 借貸公司借款合同范本
- 3D打印橡膠集料混凝土的制備與性能研究
- 知識(shí)產(chǎn)權(quán)的國(guó)際法律框架與實(shí)施
- 磁性生物炭強(qiáng)化消減微塑料共存土壤中土霉素及其抗性基因的機(jī)制研究
- 貿(mào)易自由化對(duì)企業(yè)就業(yè)的影響研究
- 家用油炸鍋的產(chǎn)品整合創(chuàng)新設(shè)計(jì)研究
- 中藥調(diào)理女性生理周期企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 定量給藥藥盒設(shè)計(jì)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 醫(yī)務(wù)室AI輔助診斷系統(tǒng)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 山林下肥合同范本
- 2024土方工程承包合同包含進(jìn)度支付與違約責(zé)任條款范本3篇
- 暑假假期安全教育(課件)-小學(xué)生主題班會(huì)
- Python爬蟲技術(shù)基礎(chǔ)介紹
- 《傳媒法律法規(guī)》課件
- 數(shù)據(jù)中心供配電系統(tǒng)概述演示
- TSG11-2020鍋爐安全技術(shù)規(guī)程(現(xiàn)行)
- 義務(wù)教育(音樂(lè))課程標(biāo)準(zhǔn)(2022年版)解讀
- 第三章企業(yè)的生產(chǎn)和成本
- 統(tǒng)編版 高中語(yǔ)文 必修下冊(cè) 《祝?!贰读纸填^風(fēng)雪山神廟》
- 2024年職教高考《機(jī)械制圖》考試題庫(kù)
- 九型人格與親子教育課件
評(píng)論
0/150
提交評(píng)論