隨著企業伺服器數量越來越多,當到達幾百台,上千臺伺服器之後,伺服器資產管理也逐漸繁雜,每天如果通過人工統計檢測會浪費大量的時間,而且有可能會有小小的疏忽而遺漏,那有沒有什麼開源的管理系統自動去管理呢,方法是必須滴有咯,我這裡採用最簡單的django admin框架來實現。實現方法非常簡單,這裡做記錄,希望跟大家一起交流。
這裡採用django mvc開發模型,簡單來說mvc
是一種軟體開發的方法,它把**的定義和資料訪問的方法(模型)與請求邏輯 (控制器)還有使用者介面(檢視)分開來。
在django裡面,我們講採用models.py 、views.py、urls.py以及html模板檔案來實現這個需求。
django
1、建立asset工程:
django-admin.py startproject asset2、
配置資料庫:
編輯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...