前言 本文僅是對以前寫的小示例進行一次梳理,由於本人菜鳥一枚,後端代碼寫的很渣,前端頁面也不好看,還請大家多多海涵。 一、程式簡介 程式分為cmdb_server,cmdb_client兩部分,以運維為核心開發的簡易框架,cmdb_client主要負責資產信息採集,採集到數據後將數據進行清洗,彙總. ...
前言
本文僅是對以前寫的小示例進行一次梳理,由於本人菜鳥一枚,後端代碼寫的很渣,前端頁面也不好看,還請大家多多海涵。
一、程式簡介
程式分為cmdb_server,cmdb_client兩部分,以運維為核心開發的簡易框架,cmdb_client主要負責資產信息採集,採集到數據後將數據進行清洗,彙總.使用POST的方式將數據發給cmdb_server,cmdb_server將接收到的數據寫入資料庫。通過前端展現給用戶。
cmdb_server實現的主要功能如下(目前部分功能僅支持centos 7):
1、用戶登錄認證。’
2、將採集到的資產信息以前端頁面展示給用戶,並可以將資產信息以Excel的形式導出。
3、機房信息維護。
4、業務線信息維護。
5、記錄主機資產信息的變更記錄。
6、執行用戶任務(批量執行命令,執行腳本,文件下發。提取客戶端文件到本地)
7、實時監控主機硬體資源。
8、webssh。
9、docker伺服器管理。
cmdb_client主要實現了通過agent或者SSH的方式對windows7以上版本,centos7版本的資產信息採集。
程式目前主要針對centos 7進行的開發
二、程式目錄簡介
[root@localhost CMDB]# tree -L 1 cmdb_server/ cmdb_server/ ├── asset_API # 負責接送cmdb_client發來的資產信息,並將資產信息寫入資料庫 ├── assetRepository # 資料庫 ├── cmdb_server # 程式主目錄 ├── data_dir # 存放日誌,下載文件的目錄 ├── db.sqlite3 ├── manage.py ├── plugin # 插件庫:處理SSH連接,發送報警郵件,日誌,主機存活掃描,分頁處理,Excel處理 ├── __pycache__ ├── requirements.txt ├── show_page # 實現用戶功能的目錄 ├── templates ├── test.py [root@localhost cmdb_server]# tree -L 1 show_page/ show_page/ ├── client_manage # 用於展示資產信息 ├── docker_manage # docker伺服器管理 ├── host_monitor # 主機監控 ├── __init__.py ├── login_register # 用戶登錄認證 ├── __pycache__ ├── user_task # 執行用戶任務 ├── web # 功能APP └── web_ssh # webssh
三、程式開發平臺
操作系統:centos 7
軟體版本:python 3.6 django 1.11.20 mariadb 5.5.64
主要用到的技術:python,django,SSH,websocket,ajax,需要用到的運維命令。
四、功能演示
1、登錄認證
2、獲取資產信息
2.1資產信息的其它操作
3、機房信息和業務線
4、主機變更記錄
5、執行用戶任務
5.1 執行批量安裝命令
5.2 執行shell腳本
5.3 文件下發
5.4 文件提取
6、主機監控
7、webssh
8、docker管理
8.1 安裝docker
8.2 統一鏡像源
8.3 鏡像搜索和批量下載
8.4 批量創建容器
8.5 docker服務,容器,鏡像相關操作
8.6 使用dockerfile創建鏡像
---------------------------------------------------------- 待續 -----------------------------------------------------------------