CMDB項目實戰

  • 01-CMDB項目介紹
  • 02-CMDB開發背景
  • 03-CMDB開發目的
  • 04-CMDB資產採集方式之agent
  • 05-CMDB資產採集方式之ssh
  • 06-CMDB資產採集方式之saltstack
  • 07-CMDB資產採集方式之puppet
  • 08-CMDB資產採集方式比較
  • 09-CMDB採集內容梳理
  • 10-CMDB資產採集功能之agent
  • 11-CMDB資產採集之實現之ssh
  • 12-CMDB資產採集功能實現之saltstack(一)
  • 13-CMDB資產採集功能實現之saltstack(二)
  • 14-CMDB資產採集插件開發(一)
  • 15-面向對象繼承
  • 16-CMDB資產採集插件開發(二)
  • 17-CMDB資產採集插件開發(三)
  • 18-基於配置文件加載插件
  • 19-做業講解
  • 20-CMDB項目採集資產數據(一)
  • 21-CMDB項目採集資產數據之惟一標識規定
  • 22-CMDB項目採集資產數據(二)
  • 23-CMDB項目採集資產數據
  • 24-知識拾遺之線程進程池
  • 25-CMDB項目採集資產之日誌記錄
  • 26-自定義JSON序列化類型
  • 27-本小結做業
  • 28-基於requests模塊彙報資產數據
  • 29-基於requests模塊彙報API驗證(一)
  • 30-基於requests模塊彙報API驗證(二)
  • 31-CMDB項目示例之API驗證流程
  • 32-CMDB項目之數據表結構(一)
  • 33-CMDB項目之數據表結構(二)
  • 34-CMDB資產之彙報並持久化(一)
  • 35-CMDB資產彙報並持久化(二)
  • 36-CMDB之持久化資產流程
  • 37-做業
  • 38-CMDB項目CRUD組件之配置文件構造
  • 39-CMDB項目CURD組件之神奇的單@符號
  • 40-CMDB項目CURD組件之神奇的雙@符號(一)
  • 41-CMDB項目CURD組件之神奇的雙@符號(二)
  • 42-CMDB項目CURD組件之自定義td屬性
  • 43-內容預習
  • 44-CMDB項目CURD組件之進入編輯模式
  • 45-CMDB項目CURD組件之全選取消反選和編輯模式
  • 46-CMDB項目CURD組件以內容截圖
  • 47-CMDB項目CURD組件進入編輯模式詳細
  • 48-CMDB項目CURD組件屬性中應用神奇的單@符號
  • 49-CMDB項目CURD組件之退出編輯模式
  • 50-CMDB項目CURD組件更新數據
  • 51-CMDB項目CURD組件之基於jQuery擴展封裝組件
  • 52-CMDB項目CURD組件之基本操做
  • 53-CMDB項目CURD組件之分頁功能
  • 54-CMDB項目CURD組件之搜索功能介紹
  • 55-CMDB項目介紹

01- CMDB項目介紹

1.1 業務場景開發最難;

1.2 CMDB(配置管理數據庫);

1.3 程序員與產品經理互掐;

1.4 運維開發&自動化開發;

1.5 PHP轉Python的崗位場景;

02-CMDB開發背景

2.1 針對運維自動化的項目;

2.2 開發工具給公司某一崗位的使用;

2.3 業務開發;

  • 電商;
  • 交給運維人員進行發佈部署;

2.4 工具開發;

  • 公司內部人員使用;
  • 減小人工干預,下降成本;
  • 統計公司的重資產-路由器、交換機、服務器;
  • 運維操做會失誤;
  • 資產統計會失誤;
  • 運維開發給普通運維人員開發工具——減小人工干預,下降運維成本;
  • 自動化方向-資產管理&操做管理&日誌管理&監控管理;

03-CMDB開發目的

3.1 爲何開發CMDB系統?

  • 批量採購的服務器須要安裝OS;
  • 批量安裝操做系統——PXE;Kickstart;
  • Python、Java、Go、大數據等環境;
  • 灰度發佈;
  • 自動化工具-ssh、saltstack、puppet、Ansible、迅雷種子發佈;
  • CMDB是運維自動化的基礎,有了它,才能構建上層項目;

04-CMDB資產採集方式之agent

4.1 私有云和公有云(AWS、阿里雲、騰訊雲、華爲雲)

4.2 CMDB的模塊;

  • 資產;
  • 配置管理;
  • 私有云;
  • 監控;
  • 堡壘機;
  • 任務;
  • DNS;
  • 資源池;
  • 流程;

4.3 信息的蒐集方式;

  • 客戶端agent;不安全
  • 手動錄入基本信息;
  • 優勢:採集數據快;
  • 缺點:軟件安裝多;

05-CMDB資產採集方式之ssh

5.1 API方式獲取;

5.2 優勢與缺點:SSH鏈接很是慢,本質是基於paramiko模塊;

06-CMDB資產採集方式之saltstack

6.1 依賴於第三方工具如saltstack進行開發(agent自己存在);

6.2 saltstack利用了rpc的方式進行數據蒐集;基於隊列的方式,速度快;

  • salt-master;
  • salt-slave;
  • 優勢:快,開發成本低;
  • 缺點:依賴於saltstack-slave;

07-CMDB資產採集方式之puppet

7.1 老牌工具-puppet進行遠程操做;

7.2 puppet-master和puppet-slave;

7.3 puppet內置的報表功能每30分鐘鏈接一次slave;

  • 缺點:得用Ruby語言寫;

08-CMDB資產採集方式比較

8.1 使用哪一種方式?

  • agent;
  • ssh;
  • saltstack;

8.2 修改配置文件進行場景選擇;

8.3 資產監控數據沒有必要每分鐘採集一次;

09-CMDB採集內容梳理

9.1 數據採集的四種方式;

  • agent主動彙報;天天執行腳本+定時任務;
  • ssh;數據庫壓力大;
  • saltstack;
  • puppet;

9.2 爲何要使用API的方式?

  • 給別人提供數據;
  • 下降數據庫鏈接池數量;

10-CMDB資產採集功能之agent

10.1 pip3 install requests;html

  • 採集資產信息;
  • 正則處理想要獲取的數據;
  • 整理資產信息;
  • 發送數據;

11-CMDB資產採集之實現之ssh

 

import paramiko
   
# 建立SSH對象
ssh = paramiko.SSHClient()
# 容許鏈接不在know_hosts文件中的主機
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 鏈接服務器
ssh.connect(hostname='c1.salt.com', port=22, username='cuixiaozhao', password='123456')
   
# 執行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 獲取命令結果
result = stdout.read()
   
# 關閉鏈接
ssh.close()

 

12-CMDB資產採集功能實現之saltstack(一)

  • 安裝saltstack
  • http://docs.saltstack.cn/topics/installation/rhel.html
  • yum install salt-master salt-minion
  • 修改配置文件 vim /etc/salt/master,修改interface位置本機IP地址;
  • 重啓salt-master;
  • 修改minion的配置文件,指定master的ip地址並重啓;

13-CMDB資產採集功能實現之saltstack(二)

14-CMDB資產採集插件開發(一)

14.1 作好程序目錄結構規劃;程序員

15-面向對象繼承

16-CMDB資產採集插件開發(二)

17-CMDB資產採集插件開發(三)

17.1 使用可拔插式的方法編寫;數據庫

18-基於配置文件加載插件

19-做業講解

19.1 爲何開發CMDB系統?vim

  • 運維自動化的基礎;
  • 進行公司資產管理,再也不基於Excel表格;
  • 資產進行自動彙報,以及資產的自動彙報;

20-CMDB項目採集資產數據(一)

20.1 agent形式;安全

  • 採集資產
  • 將資產數據發送到API(POST)

20.2 SSH形式;服務器

  • 獲取今日未採集主機列表
  • 採集資產
  • 將資產數據發送到API(post方法)

20.3 Salt形式;運維

  • 獲取今日未採集主機列表
  • 採集資產
  • 將資產數據發送到API(post)

可執行文件中,代碼越少越好;

21-CMDB項目採集資產數據之惟一標識規定

21.1 惟一標識號碼-SN號;ssh

21.2 作運維自動化以前,先制定規則,要否則沒法向下執行;好比主機名沒法重複;工具

21.3 公司既有物理機又有虛擬機,SN號很差使;post

22-CMDB項目採集資產數據(二)

22.1 開發CMDB前,先制定規則;

23-CMDB項目採集資產數據

 

24-知識拾遺之線程進程池

25-CMDB項目採集資產之日誌記錄

26-自定義JSON序列化類型

27-本小結做業

28-基於requests模塊彙報資產數據

29-基於requests模塊彙報API驗證(一)

30-基於requests模塊彙報API驗證(二)

31-CMDB項目示例之API驗證流程

32-CMDB項目之數據表結構(一)

33-CMDB項目之數據表結構(二)

34-CMDB資產之彙報並持久化(一)

35-CMDB資產彙報並持久化(二)

36-CMDB之持久化資產流程

37-做業

38-CMDB項目CRUD組件之配置文件構造

39-CMDB項目CURD組件之神奇的單@符號

40-CMDB項目CURD組件之神奇的雙@符號(一)

41-CMDB項目CURD組件之神奇的雙@符號(二)

42-CMDB項目CURD組件之自定義td屬性

43-內容預習

44-CMDB項目CURD組件之進入編輯模式

45-CMDB項目CURD組件之全選取消反選和編輯模式

46-CMDB項目CURD組件以內容截圖

47-CMDB項目CURD組件進入編輯模式詳細

48-CMDB項目CURD組件屬性中應用神奇的單@符號

49-CMDB項目CURD組件之退出編輯模式

50-CMDB項目CURD組件更新數據

51-CMDB項目CURD組件之基於jQuery擴展封裝組件

52-CMDB項目CURD組件之基本操做

53-CMDB項目CURD組件之分頁功能

54-CMDB項目CURD組件之搜索功能介紹

55-CMDB項目介紹

相關文章
相關標籤/搜索