日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CMDB小计1

發布時間:2023/12/20 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CMDB小计1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

1.web開發(Django,flask, tornado)。

2.自動化運維(CMDB項目)。

3.爬蟲 和 數據分析。

4.自動化測試。

4.人工智能,機械學習, 算法

?

```
CMDB 項目:

自動化運維:

運維:管理服務器的

ps: 分為基礎運維,應用運維

為什么需要自動化運維?

1.項目上線:

流程:產品經理調研(畫出原型圖)------定需求----------三方會談(產品經理,研發,老大)-----定日期-------測試項目--------最終上線--------應用運維

目前:是把代碼打包給運維,運維解壓上線

問題:隨著機器數量的線性增加,運維的工作量也是線性增加,重復而且是無意義的勞動

解決:

1,寫一個shell腳本,進行部署

2,搞一個自動化代碼上線系統

必要條件:

服務器的各種信息(主機名,CPU,硬盤大小等)

2.監控系統:

檢測服務器的各種信息(硬盤是否滿,CPU的使用率,內存的使用率,網站服務運行是否正常)

問題:之前寫簡單的腳本,檢測服務器的信息,比較麻煩

解決:想將服務器的各種信息,以圖標的形式展示在web界面上(可視化)

必要條件:
服務器的各種信息(主機名,CPU,硬盤大小等)

3.自動裝機系統:
問題:人工工作量大(ps要人一臺臺裝)

解決:搞一個裝機系統(一鍵裝機),cobbler軟件
必要條件:服務器的各種信息(主機名,CPU等)

4.Excel表格審計管理資產
cmdb系統:
配置管理系統:

運維自動化無法實現

cmdb實現的核心:

目標:收集服務器的信息(CPU,內存,網卡,硬盤等)

實現方式:

1.linux命令獲取CPU,內存

2.python執行linux的命令:

subprocess模塊, getoutput函數

```

```
df -h內存信息
cat /proc/cpuinfo IP信息

?

4種實現方案: agent方案: 其本質上就是在各個服務器上執行subprocess.getoutput()命令,然后將每臺機器上執行的結 果,通過request模塊返回給主機API,然后主機API收到這些數據之后,放入到數據庫中,然后 通過web界面將數據展現給用戶 缺點:需要在每一臺服務器上進行部署 優點:速度快 使用場景:服務器比較多的時候

?

?

ssh類方案: 中控機通過parmiko(py模塊)登錄到各個服務器上,然后執行命令的方式去獲取各個服務器上的信息 API從數據庫中獲取到未采集的機器列表后發送到中控機服務器中,中控機服務器通過parmiko模塊登錄到服務器上,進行信息的采集,服務器采集完后再將結果返回給中控機,仍后將從服務器中得到 的信息通過 request模塊發送給API,API通過主機名和SN作為唯一標識,將信息錄入到數據中,然后通過web界面將數據展現給用戶 paramiko模塊 缺點: 1:網絡有延遲,有一個中控機,網絡有延遲,速度較第一種要慢一些(有其是數據比較大的時候更加明顯) 優點:不用每臺都部署 使用場景: 服務器比較少的時候

?

?

?

salt-stack方式: 中控機從API中獲取未采集的資產信息后通過隊列發送命令給服務器執行。服務器執行完后將結果放到入另一個隊列中,中控機將獲取到的服務信息結果發送到API進而錄入數據庫。然后通過web界面將數據展現給用戶

使用場景:公司已經使用salt-stack軟件 優點:速度快,開發成本低 缺點:過于依賴salt-stack軟件 安裝salt-master: yum install salt -master 配置配置文件: interface: 本機IP service salt-master start#(ps啟動) 安裝 salt-minion yum install salt-minion 配置文件配置: master:10.0.0.51 salt -ket -L:列出所有的minion主機 salt "主機名“ cmd.run "命令"

?

?

?

puppet方式:(不用特別學習)

rubby寫的 ?

?

分為三大部分: 1.服務器數據采集 目標: 實現上述三種方案,然后通過配置,可以任意的切換方案。 規劃采集項目: bin:啟動文件 conf:配置 lib:庫文件或公共文件 src:源代碼 test:測試目錄 配置文件的管理: django的全局配置文件: 管理一些不常用的默認的配置 比如:語言, email配置等。 核心點: setattr, getattr, dir 的用法 代碼: class Settings(): def init(self)


核心點:
setattr, getattr, dir 的用法
代碼:
class Settings():
def __init__(self):

## 整合全局配置文件
for k in dir(global_settings):
if k.isupper():
v = getattr(global_settings, k)
setattr(self, k, v)

## 整合自定義配置文件
for k in dir(config):
if k.isupper():
v = getattr(config, k)
setattr(self, k, v)
settings = Settings()

?

?

2.API獲取數據并清洗入DB

3.web界面的展示 ?```

轉載于:https://www.cnblogs.com/sudaguo/p/10867377.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的CMDB小计1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。