IT資源管理系統Sm@rtCMDB
概述
1.1 背景
配置管理庫(CMDB)是存儲和管理信息技術服務及相關資源組件各類配置信息的數據庫,在企業信息技術服務運營管理體系中扮演了非常重要的角色。作為智能運維的基礎,CMDB保存著整個 IT 系統的配置信息、關聯關系,負責實際環境中的服務和資源組件數據的維護,為其他運維管理系統提供基礎數據。
SmartCMDB產品作為企業配置管理庫的技術載體,能夠為系統監控、服務管理、自動化操作、安全管理、運維大數據等軟件平臺提供配置數據服務,幫助企業深入了解和掌控復雜的信息技術服務及資源組件,對變更風險評估、問題診斷定位做出更加準確的決策。
1.2 產品定位
隨著云計算、容器、微服務等技術的發展,企業的數據中心 IT 規模正在快速擴張,單純依靠人工實現對IT資源的管理已經變得不再現實。SmartCMDB充分迎合云時代智能化運維管理的需求,通過各種自動化手段實現以應用為核心的全面資源管理以及運維消費場景共享,支撐數據驅動的智能化運維新模式。
SmartCMDB產品重點解決如下問題:
1)支持面向業務的CMDB動態建模
系統支持面向業務視角的CMDB分層模型,可以根據實際環境進行配置項分類,配置項屬性、配置項狀態、CI與CI之間關系的定義和動態調整,提供面向業務的整體IT架構畫像。
2)支持自動化的CMDB數據維護
系統內置業內的CMDB 自動發現組件,同時支持有代理和無代理兩種工作模式,通過自動發現機制發現并收集從公有云/私有云到傳統IT的各類 IT 資源配置信息、關聯關系,為 CMDB 提供第一手的數據,避免手工方式帶來的工作量大,數據更新不及時不準確等問題。
3)提供多場景消費的開放API,為第三方運維工具提供共享信息
系統提供場景、配置項、關系等各個層面的數據消費Restful API,實現與監控、ITSM、云管、自動化運維、Devops工具等各種第三方系統對接,實現高性能的查詢、更改、推送操作,完成組織內各種運維工具間的基礎信息共享和任務聯動,實現基于IT架構驅動的運維管理。
4)支持配置信息的可視化展現
結合各種典型的運維場景,提供多層次的可視化拓撲,從物理連接、部署關系、調用關系、業務關聯等多個維度清晰展現配置項關聯關系,為故障分析、風險評估、架構管理等復雜運維工作提供支撐。
產品架構介紹
SmartCMDB實現對企業中各類IT資源信息的集中收集和管理,并根據各種配置數據的應用場景,通過消費驅動配置數據的抽取、處理和展示。
系統的功能結構如下圖所示:
產品功能結構
SmartCMDB主要實現四個方面的功能:
(1)配置數據收集。提供企業級配置自動化發現模塊,實現對IT環境中各類環境設施、IT基礎架構、應用系統和業務服務信息的收集。
(2)數據存儲管理。完成對CMDB信息的管理,包括維護模型、配置項、關系映射的版本,對采集獲取的管理對象數據進行模型化和實例化,并將配置項實例映射到應用服務和業務服務。
(3)數據維護功能。提供CMDB訪問管理門戶,完成配置模型、配置項實例、配置版本等日常管理功能,同時還提供可視化拓撲展現、報表、訪問權限控制等功能。
(4)API服務接口。為外部運維場景消費CMDB中存儲的各類資源配置數據提供標準Restful API接口。
系統功能實現
3.1 配置信息自動收集
3.1.1 配置自動發現
SmartCMDB的 CMDB 自動發現組件通過自動發現機制,發現 IT環境中的網絡設備、服務器、存儲、數據庫、中間件、應用程序,發現它們的部署和運行配置參數,發現它們之間的關聯關系,并將這些數據提供給上層 CMDB系統。
SmartCMDB的 CMDB 自動發現組件的主要功能:
(1)自動發現網絡環境中的網絡設備、服務器、存儲、數據庫、中間件、應用組件;
(2)自動發現上述 IT 資源的部署和運行配置參數;
(3)自動發現上述 IT 資源的關聯關系;
(4)通過接口向CMDB系統提供上述IT資源的配置信息和關聯關系信息;
(5)從應用系統的視角,向用戶可視化展示 IT 資源的拓撲關系。
3.1.2 自動發現工作模式
SmartCMDB系統 CMDB 自動發現組件的工作模式如下圖所示。
CMDB 自動發現組件通過各種內置配置采集器,以遠程無代理方式發現并采集各種 IT 資源的配置信息,然后依據 CMDB 模型,將信息保存在配置庫中,向用戶展示 IT 資源關聯關系、詳細配置信息,通過 API 向 CMDB 提供自動發現的 IT 資源配置信息。
配置發現組件也提供基于代理的發現模式,實現資源信息的深度發現。
3.1.3 自動發現范圍
自動采集的信息依據 CMDB 模型保存到配置庫中。CMDB 模型分為三層:應用層、PaaS 層(支撐軟件)、IaaS 層(硬件環境)。
應用系統通常是作為一個單元進行部署和版本控制的組件集合,為某一個業務單位或者某一業務處理來服務。應用系統由一個或多個應用組件實例構成。
應用組件實例運行在單機或者集群環境中,包括容器集群、中間件集群。應用組件實例調用數據庫實例或者緩存實例提供的服務,或者是公有云環境的消息服務、數據庫服務。
應用組件、PaaS 層的各種支撐軟件運行在物理服務器或者虛擬機中,IaaS 層的物理服務器、物理存儲、網絡設備溝通 IaaS 資源池,虛機可以在 IaaS 資源池中的任意一臺物理服務器上運行。在多云環境中,應用組件、各種支撐軟件也可能運行在公有云的云主機中,使用公有云存儲服務。
3.1.4 數據調和
從采集層上來的配置項屬性數據經過數據調和后才能入到CMDB庫中。當采集上上報的配置項實例在CMDB庫已經存在時,其屬性要么合并到CMDB庫現有配置項實例中,要么更新現有配置項實例的對應屬性值。用戶為每個CI類型屬性定義數據調和規則,約定采集渠道的優先級。當采集上報的配置項屬性在CMDB庫對應配置項實例中不存在時,數據調和模塊自動將其合并到CMDB庫。當采集上報的配置項屬性在CMDB庫對應配置項實例中已存在時,數據調和模塊可以用來源優先級較高的值替換,也可以生成一個配置項審核的請求,將新采集的屬性信息以及CMDB庫中當前的屬性信息一起提交,由后者發起審核流程,由用戶確定是否需要將新采集的屬性值更新到CMDB庫。
3.2 配置信息管理
3.2.1 CMDB面向管理
配置管理數據庫CMDB的數據模型基于面向對象技術,可以靈活進行擴展,并提供可視化的模型管理工具,管理項可以根據管理的層次進行樹狀設計。
CMDB模型管理提供圖形化界面定義CMDB的數據結構,包括CI類型、每個CI類型包含的屬性、對應的CI狀態取值、允許的關系類型、CI實例唯一性判斷規則,定義每個CI屬性字段的數據類型、合法性校驗規則、數據調和規則。
3.2.2 配置類別管理
配置類別設計將要納入到配置管理中的配置類別,能夠實現自定義配置類別模板。
用戶可以自定義樹形的配置項分類,根據分類定義該分類對應的屬性。通常配置項的屬性會根據不同用途定義屬性分類,針對主機的分類,定義主機的常用屬性、特有屬性等,然后再相應的屬性分類定義配置項的屬性。
3.2.3 配置項模型
配置項屬性表示配置項CI的一項信息,如序列號、版本等。系統支持附件的方式記錄CI的相關額外信息:手冊、維護合同、配置文件、圖片等,可以使CI的信息更加全面。不同配置項之間的字段是不盡相同的,系統能夠靈活地增加新的字段,滿足對各種配置項信息的記錄。
支持配置項的層次化結構。配置項結構的細分程度取決于組織中配置項的使用情況。例如:將服務器整體看作一個配置項,則可將CPU看作服務器的一個配置屬性;進一步細分,可將CPU看作是一個配置項。
CMDB的父子配置項類型之間具有可繼承性,子分類的配置項類型應可繼承父分類的配置項類型的屬性和類型關系定義,并可在繼承基礎上進一步擴展定義。
3.2.4 配置關系管理
CMDB不僅記錄了配置項的詳細信息,還能夠記錄各元素之間的關系:父配置項、子配置項、關聯配置項等邏輯關系。
系統能夠支持以多級層次化(3層以上)的結構描述配置項的關聯邏輯,并且能夠以業務拓撲圖(樹狀結構視圖形式)展現這種關聯的邏輯。對監控平臺中產生的告警情況能夠反映在業務拓撲圖中。
3.3 配置維護功能
3.3.1 配置信息維護功能
系統支持CMDB中配置項和配置關系的查詢、新增、修改、刪除、批量導入導出等操作。
系統支持對配置項對象、配置項操作日志、配置項版本的查詢。
系統支持對配置項、關系的添加和有效性驗證。
系統可以對配置項字段和配置項關系進行修改和有效性驗證。
系統可以對單一配置項或者多個配置項進行刪除,用戶只能刪除被授權配置項類型對應的數據。配置項刪除支持邏輯刪除,刪除對象仍舊保存在CMDB中。
系統支持配置項和關系的導入功能,用戶可以從CMDB模型管理模塊中導出每種CI類型的配置項實例的Excel導入模板文件,手工填寫相關字段值后,批量導入到系統中。系統會對導入字段值進行校驗、數據調和。
系統支持配置項和關系的導出功能,可以選擇導出全部配置項和關系記錄或者選定的配置項類型及其子類的記錄,配置項記錄導出后應直接可以作為導入模板使用。
3.3.2 IT資源關系圖
系統可以圖形化顯示應用系統所依賴的服務器、網絡設備之間的物理連接關系,應用系統所依賴的應用組件與中間件、數據庫系統等支撐軟件之間,以及它們與服務器之間的部署關系,應用系統各個應用組件之間、應用組件與中間件、數據庫系統之間的數據訪問邏輯關系。
3.3.3 配置信息盤點
為了保證配置項信息準確性和完整性,配置管理提供針對特定對象和范圍的審核;包括規范的審核以及差異審核等。系統可以通過配置審核策略來生成配置審核(盤點)任務工單,并更改相關配置項的審核狀態。
對于盤點或者日常運維過程中發現的配置信息異常情況,系統提供配置管理流程,由配置經理和相關責任人對數據變更進行確認并完成修改。
3.3.4 配置信息訂閱
系統提供自動感知CMDB數據的變化功能,實時向訂閱用戶推送CMDB變化內容。
用戶或者其他運維系統可以設定所關注的CMDB數據,并且訂閱所關注的數據增刪改變化,由CMDB系統進行推送。
3.3.5 數據權限管理
具有用戶角色分類和權限控制功能,根據角色設定查詢、變更、管理配置管理數據庫內容。提供安全控制功能,保證經過正常變更程序和授權人員方可輸入和變更配置信息,其它人員只具察看數據庫權限。
3.3.6 數據查詢和搜索
系統支持對CI屬性(基礎屬性和擴展屬性)和關系的全文檢索的查詢和搜索,用戶可以自定義關鍵詞、查詢范圍形成查詢主題,進行快捷搜索,獲取CI信息以及關系視圖。
3.4 服務化API
CMDB自動化系統對外提供Restful接口,供各種DevOps工具、運維工具消費CMDB數據。主要接口有:
(1)認證接口
基于用戶名、口令的認證,返回一個會話ID。后續所有接口操作都需要帶此會話ID作為身份標識。當會話超時后,需要重新調用此接口進行認證,獲得新的會話ID。
(2)獲取CI實例簡要信息
輸入一個CI類型,返回該CI類型的所有CI實例的簡要信息列表,如CI實例ID、CI實例名稱、IP、OS、廠商、版本、標簽、創建時間、修改時間等。
(3)獲取CI實例詳細信息
輸入一個CI實例ID,返回其所有屬性值、連接關系信息。
(4)獲取CI實例關聯關系
輸入CI實例,返回該CI實例的所有關聯關系、關聯關系屬性值、以及對端的CI實例ID。
(5)獲取CI實例指定關系類型的對端CI實例
輸入CI實例、關系類型,返回與該CI實例關聯的指定關系類型的對端CI實例ID。
(6)判斷兩個CI實例之間是否存在某種關聯關系類型
輸入CI實例、關系類型,返回是否存在。
(7)設置CI實例狀態
輸入一個CI實例ID和狀態值,返回更新成功標識。
(8)更新CI實例屬性
輸入一個CI實例ID、屬性及屬性值,進行相關屬性的更新,返回更新成功標識。
(9)新增CI實例
輸入新的CI實例信息,將CI實例新加入系統,返回操作成功標識。
(10)更新CI實例的屬性值
輸入CI實例ID、屬性名、屬性值,更新相應CI實例的屬性值,返回操作成功標識。
(11)新增CI實例關聯關系
輸入上端CI實例、下端CI實例、關系類型、關系屬性值,在系統中增加新的關聯關系,返回操作成功標識。
(12)刪除CI實例關聯關系
輸入上端CI實例、下端CI實例、關系類型,在系統中將此關系刪除掉,返回操作成功標識。
配置自動發現屬性示例
網絡設備:
基本信息:IP 地址、MAC 地址、設備名、設備類型、廠商、OS 版本、接口信息。
設備之間的物理連接關系:上游設備、上游設備端口、下游設備、下游設備端口。
F5 BIG-IP
端口信息
地址池
負載均衡策略
Windows 服務器
Windows 服務器硬件信息以及 OS 信息;
基本信息:主機名、IP 地址、當前時間、最近啟動時間、系統區域(zh-cn;中文(中國))、時區、NTP 服務是否開啟
OS 信息:OS 大類(Windows)、OS 名稱(如 WindowsServer 2008 SP2)、OS 版本(6.1.7601 Service Pack 1 Build7601)
硬件信息:服務器廠商、設備型號、產品 ID、BIOS 信息;CPU 總核數、總主頻數、CPU 個數;物理內存大小、虛擬內存大小、虛擬內存文件位置;本地硬盤類型、大小、數量,文件系統大小(文件系統類型);網絡接口(包括以太網接口、HBA 接口)類型、IP、MAC。
安裝軟件信息。軟件名稱、版本、發布者。
補丁列表信息。KB 號、MS 號。
注冊表參數信息。TcpTimedWaitDelay,MaxUserPort
Linux 服務器
基本信息:主機名、IP 地址、當前時間、最近啟動時間、時區、默認語言、NTP 服務是否開啟
OS 信息。OS 大類(Linux、AIX、HP-UX)、OS 名稱(Redhat Enterprise 6.5 Santago)、OS 內核版本(Linux的內核版本)。
硬件信息:
(1)服務器廠商、設備型號、產品 ID、BIOS 信息;
(2)CPU 總核數、總主頻數、CPU 個數;
(3)物理內存大小、SWAP 內存大小、SWAP 內存文件位置;
(4)本地硬盤類型、大小、數量,文件系統大小(文件系統類型);
(5)網絡接口(包括以太網接口、HBA 接口)類型、IP、MAC。
安裝軟件信息。軟件名稱、版本、發布者。
OS 參數信息:
(1)ulimit 參數
(2)Selinux 是否啟用
AIX 服務器
基本信息:主機名、IP 地址、當前時間、最近啟動時間、時區、默認語言、NTP 服務是否開啟
OS 信息。OS 大類(AIX)、OS 名稱、OS 內核版本。
硬件信息
(1)服務器廠商、設備型號、產品 ID、BIOS 信息;
(2)CPU 總核數、總主頻數、CPU 個數;
(3)物理內存大小、SWAP 內存大小、SWAP 內存文件位置;
(4)本地硬盤類型、大小、數量,文件系統大小(文件系統類型);
(5)網絡接口(包括以太網接口、HBA 接口)類型、IP、MAC。
安裝軟件信息。軟件名稱、版本、發布者。
OS 參數信息
(1)用戶最大進程數(maxuproc)
(2)系統塊大小(ncargs)
(3)limits
Vmware 云環境
物理機信息。
(1)主機信息。IP 地址、設備名、所屬集群、虛擬 CPU(已用、總共)、虛擬內存(已用、總共)、存儲(已用、總共)。
(2)連接的存儲信息。數據存儲名稱、類型、存儲容量(已用、總共)。
(3)虛擬網絡信息。端口組、VLAN 號。
(4)擁有的虛機信息。虛機 ID、IP、名稱、CPU 核數(主頻)、內存、磁盤空間、OS 類型、OS、狀態。
存儲:數據存儲名稱、類型、存儲容量(已用、總共)。
虛擬網絡:端口組、VLAN 號。
虛機:虛機 ID、IP、名稱、CPU 核數(主頻)、內存、磁盤空間、OS 類型、OS、狀態。
Oracle 數據庫
Oracle 數據庫部署信息
(1)版本、安裝目錄、服務端口、RAC 架構、主從同步架構(對端信息)。
(2)數據文件信息
(3)日志文件信息
運行實例信息
(1)Oracle 服務、實例、用戶、主從角色。
(2)最大連接數、歸檔模式
(3)表空間配置信息(文件路徑、初始大小、拓展方式和每次增加空間大小、當前表空間大小)
(4)PGA、SGA、共享池、游標設置的最大值,日志緩沖大小
SQL Server 數據庫
SQL Server 數據庫部署信息:版本、安裝目錄、服務端口。
運行實例信息:數據庫、用戶;最大連接數;數據庫歸檔方式
Mysql 數據庫
Mysql 數據庫部署信息:版本、安裝目錄、數據目錄、服務端口、主從同步結構(對端信息)。
運行實例信息
(1)數據庫、用戶、主從角色、讀寫角色。
(2)最大連接數、表緩沖區大小、空閑連接超時時間、交互式連接超時時間、請求的 backlog 隊列長度、寫操作的超時時間、讀操作的超時時間、表高速緩存大小、結果緩存大小、線程緩存大小、是否開啟 binlog、主從操作寫入 binlog、binlog 文件的最大容量。
(3)InnoDB引擎獨立表空間開啟、redo 日志的大小、redo 日志的文件個數、innodb 引擎的數據與索引緩存大小、讀 io 的后臺線程數、寫 io 的后臺線程數、事務日志所使用的緩沖區大小、innodb 版本號、是否啟用表鎖
DB2 數據庫
DB2 數據庫部署信息,版本、安裝目錄、服務端口。
運行實例信息:數據庫、用戶、表空間、最大連接數。
Sybase 數據庫
Sybase 數據庫部署信息:版本、安裝目錄、服務端口。
運行實例信息:數據庫、用戶、最大連接數。
Informix 數據庫
Informix 數據庫部署信息:版本、安裝目錄、服務端口。
運行實例信息:數據庫、用戶、最大連接數。
PostgreSQL 數據庫
PostgreSQL 數據庫部署信息:版本、安裝目錄、服務端口、最大連接數。
運行實例信息:數據庫、用戶。
MongoDB
MongoDB 數據庫部署信息:版本、安裝目錄、服務端口。
Redis
Redis 數據庫部署信息:版本、安裝目錄、服務端口。
Weblogic
Weblogic 部署信息
(1)版本、安裝目錄、服務端口;
(2)管理域名、域目錄、域服務端口
(3)JVM 版本、JVM 目錄
管理域運行實例信息
(1)JVM 運 行參數
(2)連接池參數
(3)應用組件、應用組件連接的數據庫
Websphere
Websphere 部署信息:
(1)版本、安裝目錄;
(2)單元、節點,應用服務器名、端口(HTTP 端口、管理控制臺端口、SOAP 端口),管理服務器名、端口
(3)JVM 版本、JVM 目錄
節點運行信息:JVM 運行參數;連接池參數;應用組件、應用組件連接的數據庫
Tomcat
Tomcat 部署信息:版本、安裝目錄、端口;JVM 版本、JVM 目錄
運行信息:JVM 運行參數;應用組件、應用組件連接的數據庫
JBoss
部署信息:版本、安裝目錄、端口; JVM 版本、JVM 目錄
運行信息:JVM 運行參數;應用組件、應用組件連接的數據庫
Apache WebServer
部署信息:版本、部署目錄、端口
親愛的朋友,如您對我們的產品感興趣,您可以通過以下方式聯系我們