Django構建自動化運維資產管理系統

2021-09-03 10:27:18 字數 3211 閱讀 5182

隨著企業伺服器數量越來越多,當到達幾百台,上千臺伺服器之後,伺服器資產管理也逐漸繁雜,每天如果通過人工統計檢測會浪費大量的時間,而且有可能會有小小的疏忽而遺漏,那有沒有什麼開源的管理系統自動去管理呢,方法是必須滴有咯,我這裡採用最簡單的django admin框架來實現。實現方法非常簡單,這裡做記錄,希望跟大家一起交流。

這裡採用django mvc開發模型,簡單來說mvc

是一種軟體開發的方法,它把**的定義和資料訪問的方法(模型)與請求邏輯 (控制器)還有使用者介面(檢視)分開來。

在django裡面,我們講採用models.py 、views.py、urls.py以及html模板檔案來實現這個需求。

django

1、建立asset工程:

django-admin.py  startproject asset
2、

配置資料庫:

編輯settings.py檔案,修改儲存方式為mysql,同時設定資料庫名和密碼,儲存退出。如下圖配置:

資料庫資訊配置完畢後,建立名為asset的資料庫,並設定密碼。

3、新建models.py檔案:

採用models方式建立資料庫表和字段,語句如下:

from  django.db  import  models

class asset_system(models.model):

ip_info =models.charfield(max_length=50)

serv_info =models.charfield(max_length=50)

cpu_info =models.charfield(max_length=50)

disk_info =models.charfield(max_length=50)

mem_info =models.charfield(max_length=50)

load_info =models.charfield(max_length=50)

mark_info =models.charfield(default='beijing_idc',max_length=50,blank=true)

def __unicode__(self):

return self.ip_info models.py

檔案建立成功後,然後返回上一級目錄(manage.py目錄),執行:

python manage.py validate 返回為:0 errors found表示檢查資料編寫正確。
然後把資料寫入到資料庫中,執行命令:python manage.py  syncdb
會提示輸入使用者名稱和郵箱和密碼,這裡的使用者名稱和密碼為訪問django  admin後台需要輸入的使用者名稱和密碼。

4、修改settings.py和urls.py

分別修改如下:

把settings.py裡面: 'django.contrib.admin',前面#號注釋掉,同時注釋掉'django.contrib.admindocs',前的#號即可,如下圖:

把urls.py裡面,將如下三行#號去掉即可:

from django.contrib  import admin

admin.autodiscover()

url(r'^admin/',include(admin.site.urls)),

同時新增如下行,引用settings檔案配置:

from django.conf import settings
如下圖:

預設沒有我們建立的資料庫表,那如何在介面顯示呢?如下在工程應用目錄(與models.py同級),新建乙個admin.py檔案,寫入如下內容:

from django.contrib import admin

from asset.models import asset_system

class serversadm(admin.modeladmin):

list_display =('ip_info','serv_info','cpu_info','disk_info','mem_info','load_info','mark_info')

search_fields = ('ip_info','cpu_info')

admin.site.register(asset_system,serversadm)

配置完後,重啟python,然後重新整理一下頁面,缺省會出現403的提示「csrf verification failed.request aborted.」

,我們需要把settings.py裡面如下行臨時先注釋掉(跟跨越請求有關):

#'django.middleware.csrf.csrfviewmiddleware',
然後重新整理,會看到新新增的乙個asset_system表,如下圖:

然後在settings.py 裡面找到:'django.contrib.admin'

這一行,在這行之前加入如下語句:

就引用了bootstrap樣式,介面顯示效果就比較美觀,好的由於時間原因,博文就到此結束,後期會增加更多功能和介面。

附圖二,後期可以把所有的功能整合到乙個html頁面裡面,如下圖所示:

自動化運維Django入門

隨著it運維技術日益更新,近幾年運維自動化越來越火,而且學習python的人非常的火爆,尤其是python自動化運維開發,得到了很多前輩的推崇。這裡我也記錄一下以前學習django的一點點心得和方法,方便以後自己查閱,如果能幫助初學者是最好的了!好的,其他不多說了,博文滴走起。一 系統實戰環境 系統...

運維自動化

1,cobbler安裝環境準備 安裝epel epel release 6 8.noarch.rpm x86 64 epel release 6 8.noarch.rpm x86 安裝系列依賴環境 要是區域網用,建議關閉iptables 或是放行25151 80 69埠 和關閉selinux 檢視狀...

自動化運維

考慮的因素 源 打包為映象 發布到映象庫 利用k8s發布到物理機器執行,以服務的形式對外提供服務 目前的做法 0 建立乙個執行遠端命令的框架 1 每個應用建立乙個部署檔案指令碼 a 指定元 位址 c 同步源 到目標主機 d 接受指令碼引數 vername 2 版本號,映象tag fromport 3...