簡易的CMDB服務端

来源:https://www.cnblogs.com/caesar-id/archive/2020/04/06/12640409.html
-Advertisement-
Play Games

前言 本文僅是對以前寫的小示例進行一次梳理,由於本人菜鳥一枚,後端代碼寫的很渣,前端頁面也不好看,還請大家多多海涵。 一、程式簡介 程式分為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創建鏡像

 

 ----------------------------------------------------------    待續    -----------------------------------------------------------------

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文作者:位元組跳動數據平臺 早千 這是一張再熟悉不過的地圖,但右上角黑龍江與內蒙古之間的那片飛地是什麼呢? 查一下,摘自互聯網: 大興安嶺是黑龍江省下轄的一個非常特殊的地級行政單位,大興安嶺行政公署和大興安嶺林業集團公司實行政企合一的管理體制。行政公署為省政府派駐機構,所轄加格達奇和松嶺兩區,地權屬 ...
  • 課程目錄: 第一章/web基礎 課時1:常見瀏覽器 課時2:瀏覽器內核 課時3:web標準 第二章/html入門 課時4:html初識 課時5:html骨架 課時6:我的第一個頁面及其標簽簡介 課時7:豬八戒版骨架 課時8:什麼是標簽及其分類 課時9:標簽嵌套和併列關係 課時10:簡單小測試 課時1 ...
  • 1.非同步任務? 我的理解就是需要用戶觸發的事件,定、延時器,簡單理解就是未來才會發生的事件就是非同步事件, 原理:js是一個單線程的語言,中所有的代碼塊都可以按照任務分為兩種任務:一種是同步任務,一種是非同步任務。 js執行程式時遇到這兩種任務,會按照同步和非同步兩種類別進行識別對待。. 1.同步任務進入 ...
  • 文檔地址:https://terryz.gitee.io/selectpage/guide.html ...
  • 每天我們打開電腦,看到各種各樣的Web前端頁面。你知道他們是如何製作的嗎?為了讓頁面更具有規範性,讓使用者更加方便,在製作頁面過程中必須遵循一定的設計流程。在這裡就為大家詳細介紹一下製作一個Web前端頁面的設計流程及註意事項。 一:確定網站主題 每個網站都有自身以及對用戶的定位。針對網站定位確定網站 ...
  • 大學畢業一年收穫還是滿滿的!手動滑稽 今天呢,來記錄一個爬蟲項目,用的web-magic實現,不說Java和Python那個更強,只看那個代價更小,與現在我而言自然是Java嘍!同時呢magic也是參考了Scrapy框架的。 先把git地址掏出來:https://gitee.com/xxxx/mag ...
  • 導讀 模板模式在是Spring底層被廣泛的應用,比如事務管理器的實現,JDBC模板的實現。 文章首發於作者的微信公眾號【碼猿技術專欄】 今天就來談談「什麼是模板模式」、「模板模式的優缺點」、「模板模式的簡單演示」、「模板模式在Spring底層的實現」。 什麼是模板模式 模板模式首先要有一個抽象類,這 ...
  • 定義: 原型模式(Prototype):用原型實例指定創建對象的種類,並且通過 clone 這些原型創建新的對象。原型模式其實就是從一個對象再創建另外一個可定製的對象,而且不需要知道任何創建的細節。目的是使用 clone 對象來減少 new 對象的開銷。 原型 clone 有淺複製和深複製:淺複製: ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...