本發明涉及網絡項目系統監管技術領域,尤其涉及一種項目系統監管方法及裝置。
背景技術:
智能化的項目監管控制裝置系統主要用于給企業為客戶建設項目系統中針對完成安全的項目系統數據采集,項目運行數據分析報表,通過拓撲的方式完成監控數據的展示,模板化的項目自動化運維處理方式,多渠道的個性告警方法,遠程系統控制的功能。
隨著互聯網生態業務的發展,在技術上需要企業保證為客戶建設的項目系統能夠保持7x24小時不間斷健康對外服務,除此之外近些年來云計算虛擬化技術的不斷發展,項目系統也越建越復雜,越建越高端,這樣給客戶的系統運維人員和企業的系統運維人員帶來了更多的挑戰,例如:在重大活動中需要系統資源調整,或者是在出現故障時需要第一時間得到處理和維護。這就需要運維人員具備相當的經驗和相關的技術了。
目前市面上遠程項目系統管理的技術方案,有以下兩類,第一類:網絡安全廠商生常具有聯動性質的網管系統設備,主要特點:安全穩定、接口標準,功能經典,但是面向定制業務無法提供精準技術服務,并且價格非常昂貴需要單獨購買,需要長期投入購買相關服務。第二類:一些云服務公司設計研發的云管系統,主要特點是只針對本公司的云業務系統管理和虛擬化管理,無法定制業務,也無法同時管理多地的項目系統。第三類:開源的監控管理工具,主要技術特點是具有龐大活躍的技術社區,支持很多監控管理功能,但是不具備虛擬化管理功能,并且相對漏洞也同時開源。
綜上,本領域亟需一種智能化的項目系統監管技術方案,滿足多方面的項目系統監管需求。
技術實現要素:
本發明實施例提供一種項目系統監管方法及裝置,以提供一種智能化的項目系統監管技術方案。
一方面,本發明實施例提供了一種項目系統監管方法,所述方法包括:
連接數據庫加載需監管的項目的注冊信息,從而加載所述項目的目標服務器的資源列表;
根據所述項目的目標服務器的資源列表,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據;
對接收的所述項目的目標服務器的運行數據和流量數據進行安全校驗;
若判定校驗成功,將接收的所述項目的目標服務器的運行數據和流量數據進行數據統計與分析并入庫;
根據入庫的所述項目的目標服務器的運行數據和流量數據,創建所述項目對應的拓撲結構,進行監管預警并在發生故障時,調用故障處理模板進行故障自動化處理。
另一方面,本發明實施例提供了一種項目系統監管裝置,所述裝置包括:
消息數據接收模塊,用于連接數據庫加載需監管的項目的注冊信息,從而加載所述項目的目標服務器的資源列表;根據所述項目的目標服務器的資源列表,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據;
項目安全控制模塊,用于對接收的所述項目的目標服務器的運行數據和流量數據進行安全校驗;
數據統計與分析報表模塊,用于若判定校驗成功,將接收的所述項目的目標服務器的運行數據和流量數據進行數據統計與分析并入庫;
拓撲監控模塊,用于根據入庫的所述項目的目標服務器的運行數據和流量數據,創建所述項目對應的拓撲結構;
預警與故障自動化處理模塊,用于根據入庫的所述項目的目標服務器的運行數據和流量數據創建的所述項目對應的拓撲結構,進行監管預警并在發生故障時,調用故障處理模板進行故障自動化處理。
上述技術方案具有如下有益效果:通過以上智能化的項目系統監管方案,能完成項目系統數據采集,項目運行數據分析報表,通過拓撲的方式完成監控數據的展示,多渠道的個性告警方法,遠程系統控制等功能。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例一種項目系統監管方法流程圖;
圖2為本發明實施例一種項目系統監管裝置結構示意圖;
圖3為本發明應用實例一種智能化的項目系統監管裝置結構示意圖;
圖4為本發明應用實例一種智能化的項目系統監管裝置與項目系統連接場景結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
如圖1所示,為本發明實施例一種項目系統監管方法流程圖,所述方法包括:
101、連接數據庫加載需監管的項目的注冊信息,從而加載所述項目的目標服務器的資源列表;
102、根據所述項目的目標服務器的資源列表,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據;
103、對接收的所述項目的目標服務器的運行數據和流量數據進行安全校驗;
104、若判定校驗成功,將接收的所述項目的目標服務器的運行數據和流量數據進行數據統計與分析并入庫;
105、根據入庫的所述項目的目標服務器的運行數據和流量數據,創建所述項目對應的拓撲結構,進行監管預警并在發生故障時,調用故障處理模板進行故障自動化處理。
優選地,所述根據所述項目的目標服務器的資源列表,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據,包括:根據所述項目的目標服務器的資源列表,利用加密超文本傳輸協議http請求,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據。
優選地,所述利用加密超文本傳輸協議http請求,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據,包括:利用加密http請求觸發Agentd檢查所述項目的目標服務器的運行狀態,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據。
優選地,所述根據入庫的所述項目的目標服務器的運行數據和流量數據,創建所述項目對應的拓撲結構,包括:根據入庫的所述項目的目標服務器的運行數據和流量數據,創建所述項目對應的拓撲結構,通過紅線、或黃線、或綠線、或紅圖標的方式,標注所述項目的設備的運行狀態。
優選地,所述根據入庫的所述項目的目標服務器的運行數據和流量數據,創建所述項目對應的拓撲結構,進行監管預警并在發生故障時,調用故障處理模板進行故障自動化處理,包括:通過郵件的方式,或通過對接的微信企業號的方式,或通過釘釘協作客戶端的方式,將監管預警的信息發送給所述項目的相應干系人。
對應于上述方法實施例,如圖2所示,為本發明實施例一種項目系統監管裝置結構示意圖,所述裝置包括:
消息數據接收模塊21,用于連接數據庫加載需監管的項目的注冊信息,從而加載所述項目的目標服務器的資源列表;根據所述項目的目標服務器的資源列表,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據;
項目安全控制模塊22,用于對接收的所述項目的目標服務器的運行數據和流量數據進行安全校驗;
數據統計與分析報表模塊23,用于若判定校驗成功,將接收的所述項目的目標服務器的運行數據和流量數據進行數據統計與分析并入庫;
拓撲監控模塊24,用于根據入庫的所述項目的目標服務器的運行數據和流量數據,創建所述項目對應的拓撲結構;
預警與故障自動化處理模塊25,用于根據入庫的所述項目的目標服務器的運行數據和流量數據創建的所述項目對應的拓撲結構,進行監管預警并在發生故障時,調用故障處理模板進行故障自動化處理。
優選地,所述消息數據接收模塊21,具體用于根據所述項目的目標服務器的資源列表,利用加密超文本傳輸協議http請求,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據。
優選地,所述消息數據接收模塊21,進一步具體用于利用加密http請求觸發Agentd檢查所述項目的目標服務器的運行狀態,通過所述項目對應的安全網關獲取所述項目的目標服務器的運行數據和流量數據。
優選地,所述拓撲監控模塊24,具體用于根據入庫的所述項目的目標服務器的運行數據和流量數據,創建所述項目對應的拓撲結構,通過紅線、或黃線、或綠線、或紅圖標的方式,標注所述項目的設備的運行狀態。
優選地,所述預警與故障自動化處理模塊25,具體用于通過郵件的方式,或通過對接的微信企業號的方式,或通過釘釘協作客戶端的方式,將監管預警的信息發送給所述項目的相應干系人。
本發明實施例的目的是提供一個遠程項目監管與控制系統,用于企業面向所有為客戶建設的項目系統,完成針對客戶系統安全的項目系統數據采集,項目運行數據分析報表,通過拓撲的方式完成監控數據的展示,模板化的項目自動化運維處理方式,多渠道的個性告警方法,遠程系統控制等功能的方法及裝置系統。
如圖3所示,為本發明應用實例一種智能化的項目系統監管裝置結構示意圖。實現上述技術方案是通過上述裝置及系統的消息數據接收模塊、項目安全控制模塊、自定義自動化運維模板、數據統計與分析報表模塊、拓撲監控模塊、預警與故障自動化處理模塊組幾個模塊聯動項目系統中的安全網關、Docker Swarm服務、Docker Server、Agentd等協同工作,來完成項目系統監控管理和自動化維護,預警通知、報表分析、資源調整管理等功能。
消息數據接收模塊:通過安全加密的http請求完成接收網關裝置的宿主機和應用容器的運行數據,形成數據記錄,為數據告警、維護處理任務提供依據。
項目安全控制模塊:用于對接收的所述項目的目標服務器的運行數據和流量數據進行安全校驗。運維人員可以通過后臺的web圖形化的管理方式觸發經過安全加密的http-API請求,完成一些項目系統控制任務,例如:銷毀重構鏡像、重啟某服務進程等。
自定義自動化運維模板:針對一些系統定向性的故障實現,獲取相應的節點ID、IP地址、進程服務、容器類型等,完成在收到告警時按預設模板流程完成人工維護過程操作。
數據統計與分析報表模塊:根據安全網關上報的各個系統運行數據,完成數據分析,根據預設模板的閥值劃分預警界限,根據曲線趨勢判斷告警時間,定期發出面向客戶的運行報表。
拓撲監控模塊:通過系統中注冊的硬件資源、運行狀態流量數據等,識別創建相應拓撲結構的通過紅線/黃線/綠線和紅圖標的方式,標注項目設備的運行狀態,系統流量情況并給出相應的告警。
預警與故障自動化處理模塊:預警與故障自動化處理模塊通過郵件的方式將趨勢分析報告,預警郵件發送到指定用戶郵箱。通過對接的微信企業號和釘釘協作客戶端為注冊管理用戶發送相關告警信息。獲取預警信息的同時,與故障數據庫中裝載的故障特征與閥值參數作比對,自動化調用故障處理模板,獲取相應的故障節點ID、IP地址、進程服務、容器類型等,按處理故障模板流程完成故障處理。例如:通過加密的http-API遠程銷毀特定應用容器,再重新創建,添加網卡,開啟應用服務。
本方案實施例的安全網關裝置是一個能夠接收安全加密API任務進行執行或者添加計劃或者轉發執行的網關裝置。它包含以下幾個部分:接收器、轉譯器、執行器、Jobserver。安全網關裝置可以通過接收器接收來自的Agentd和中央控制器的加密API請求,通過轉譯器完成的任務的轉譯解析,判斷API請求類型,通過執行器完成相應的處理,例如:轉發上報Docker運行狀態、添加Jobserver任務、執行Docker容器管理任務等等。
Docker Server是一個開源的應用容器引擎,旨在提供一種應用程序的自動化部署解決方案,在Linux系統上迅速創建一個容器Container(輕量級虛擬機)并部署和運行應用程序,并通過配置文件可以輕松實現應用程序的自動化安裝、部署和升級,非常方便。
Docker Swarm是Docker原生態的集群技術。他可同Docker或者Docker-Machine的命令行行工具配合,提供在主機集群上管理容器引擎的基本功能。網關裝置通過它的網絡端口(2375)通過API的方式與Swarm交互。與Swarm的交互方式與Docker交互的方式類似完成容器的創建、銷毀、運行、依附(attach)操作,并且獲得運行宿主機運行在Docker Server的應用容器的日志以及其他相關內容。
Agentd:它主要完成接收Jobserver的定時觸發任務并完成相應的執行動作,例如采集宿主機運行數據并且返回數據。另外完成安全網關裝置直接的觸發任務指令,例如:添加虛擬網卡。
通過以上技術方法,這個智能化的項目系統監管與控制裝置能完成項目系統數據采集,項目運行數據分析報表,通過拓撲的方式完成監控數據的展示,模板化的項目自動化運維處理方式,多渠道的個性告警方法,遠程系統控制等功能。
本發明實施例智能化的項目系統監管與控制系統主要包含幾個模塊:消息數據接收模塊、項目安全控制模塊、自定義自動化運維模板、數據統計與分析報表模塊、拓撲監控模塊、預警與故障自動化處理模塊組成。通過以上描述的裝置及系統實現了一種基于Docker實現遠程項目系統監管的網關裝置。
如圖4所示,為本發明應用實例一種智能化的項目系統監管裝置與項目系統連接場景結構示意圖。通過上述這種裝置節省了企業購買網管系統采購成本,同時提高了企業對項目系統運行狀態的監管力度,另外還增強了項目系統自動化運維的管理手段,增加了安全性,故障預警的及時性,并且減少了運維人員的工作量。
采用本發明所表述的智能化的項目系統監管與控制系統,在項目系統管理的過程中,通過以上系統中的各個模塊完成面向項目目標服務器,通過Agentd采集,安全網關上報的運行數據統計功能。通過安全網關完成對項目中Docker容器的控制管理、銷毀重構。項目系統數據采集完成后通過數據統計與分析模板得出是否發出警告還是異常報錯,通過自定義的運維模板去觸發相應的系統維護動作和任務。通過微信公眾號和釘釘團隊協作工具、郵件等多種方式觸發預警信息。定期完成相應的系統運行數據分析報表根據變化曲線,預測告警時間,通知相應干系人。通過后臺對項目系統通過圖標化的操作完成項目系統的遠程控制管理。
以下是本發明實施例項目系統監管與控制方法及裝置的應用實例在實際場景的工作原理示意圖。
具體實施例步驟如下:
步驟1:啟動智能化的項目系統監管與控制系統,連接數據庫加載相關項目的注冊信息,加載各個項目目標服務器的資源列表。
步驟2:消息數據接收模塊通過加密http請求,尋問各個項目的安全網關服務,安全網關服務轉發請求任務,觸發Agentd檢查系統運行狀態。Agentd查詢返回數據通過安全網關服務進行上報,如果新注冊的Agentd自動學習這個客戶端的ID。
步驟3:消息數據接收模塊迅速進行安全校驗,如果校驗成功,進行相應的數據入庫。
步驟4:監控拓撲模塊根據上報的流量數據與系統運行數據,通過紅線、黃線、綠線和紅圈預警的方式展示拓撲結構。
步驟5:數據統計與分析報表模塊,經過數據統計和監控模板查詢出相關告警設備和服務,通過歷史數據和趨勢分析完成預警報告。
步驟6:預警與故障自動化處理模塊依據自動化運維模板控制流程,觸發項目系統的安全網關,控制Docker Swarm和Agentd完成系統維護和管理,并通過告警分別發出郵件預警,和微信企業號警告和釘釘協作工具的通知。
本發明實施例是提出的智能化的項目系統監管與控制系統,在項目系統管理的過程中,通過以上系統中的各個模塊完成面向項目目標服務器,通過Agentd采集,安全網關上報的運行數據統計功能。通過安全網關完成對項目中Docker容器的控制管理、銷毀重構。項目系統數據采集完成后通過數據統計與分析模板得出是否發出警告還是異常報錯,通過自定義的運維模板去觸發相應的系統維護動作和任務。通過微信公眾號和釘釘團隊協作工具、郵件等多種方式觸發預警信息。定期完成相應的系統運行數據分析報表根據變化曲線,預測告警時間,通知相應干系人。通過后臺對項目系統通過圖標化的操作完成項目系統的遠程控制管理。
通過以上技術方案基本滿足了客戶建設項目系統所需的針對安全的項目系統數據采集,項目運行數據分析報表,通過拓撲的方式完成監控數據的展示,模板化的項目自動化運維處理方式,多渠道的個性告警方法,遠程系統控制等功能。
在上述的詳細描述中,各種特征一起組合在單個的實施方案中,以簡化本公開。不應該將這種公開方法解釋為反映了這樣的意圖,即,所要求保護的主題的實施方案需要比清楚地在每個權利要求中所陳述的特征更多的特征。相反,如所附的權利要求書所反映的那樣,本發明處于比所公開的單個實施方案的全部特征少的狀態。因此,所附的權利要求書特此清楚地被并入詳細描述中,其中每項權利要求獨自作為本發明單獨的優選實施方案。
為使本領域內的任何技術人員能夠實現或者使用本發明,上面對所公開實施例進行了描述。對于本領域技術人員來說;這些實施例的各種修改方式都是顯而易見的,并且本文定義的一般原理也可以在不脫離本公開的精神和保護范圍的基礎上適用于其它實施例。因此,本公開并不限于本文給出的實施例,而是與本申請公開的原理和新穎性特征的最廣范圍相一致。
上文的描述包括一個或多個實施例的舉例。當然,為了描述上述實施例而描述部件或方法的所有可能的結合是不可能的,但是本領域普通技術人員應該認識到,各個實施例可以做進一步的組合和排列。因此,本文中描述的實施例旨在涵蓋落入所附權利要求書的保護范圍內的所有這樣的改變、修改和變型。此外,就說明書或權利要求書中使用的術語“包含”,該詞的涵蓋方式類似于術語“包括”,就如同“包括,”在權利要求中用作銜接詞所解釋的那樣。此外,使用在權利要求書的說明書中的任何一個術語“或者”是要表示“非排它性的或者”。
本領域技術人員還可以了解到本發明實施例列出的各種說明性邏輯塊(illustrative logical block),單元,和步驟可以通過電子硬件、電腦軟件,或兩者的結合進行實現。為清楚展示硬件和軟件的可替換性(interchangeability),上述的各種說明性部件(illustrative components),單元和步驟已經通用地描述了它們的功能。這樣的功能是通過硬件還是軟件來實現取決于特定的應用和整個系統的設計要求。本領域技術人員可以對于每種特定的應用,可以使用各種方法實現所述的功能,但這種實現不應被理解為超出本發明實施例保護的范圍。
本發明實施例中所描述的各種說明性的邏輯塊,或單元都可以通過通用處理器,數字信號處理器,專用集成電路(ASIC),現場可編程門陣列或其它可編程邏輯裝置,離散門或晶體管邏輯,離散硬件部件,或上述任何組合的設計來實現或操作所描述的功能。通用處理器可以為微處理器,可選地,該通用處理器也可以為任何傳統的處理器、控制器、微控制器或狀態機。處理器也可以通過計算裝置的組合來實現,例如數字信號處理器和微處理器,多個微處理器,一個或多個微處理器聯合一個數字信號處理器核,或任何其它類似的配置來實現。
本發明實施例中所描述的方法或算法的步驟可以直接嵌入硬件、處理器執行的軟件模塊、或者這兩者的結合。軟件模塊可以存儲于RAM存儲器、閃存、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動磁盤、CD-ROM或本領域中其它任意形式的存儲媒介中。示例性地,存儲媒介可以與處理器連接,以使得處理器可以從存儲媒介中讀取信息,并可以向存儲媒介存寫信息。可選地,存儲媒介還可以集成到處理器中。處理器和存儲媒介可以設置于ASIC中,ASIC可以設置于用戶終端中。可選地,處理器和存儲媒介也可以設置于用戶終端中的不同的部件中。
在一個或多個示例性的設計中,本發明實施例所描述的上述功能可以在硬件、軟件、固件或這三者的任意組合來實現。如果在軟件中實現,這些功能可以存儲與電腦可讀的媒介上,或以一個或多個指令或代碼形式傳輸于電腦可讀的媒介上。電腦可讀媒介包括電腦存儲媒介和便于使得讓電腦程序從一個地方轉移到其它地方的通信媒介。存儲媒介可以是任何通用或特殊電腦可以接入訪問的可用媒體。例如,這樣的電腦可讀媒體可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盤存儲、磁盤存儲或其它磁性存儲裝置,或其它任何可以用于承載或存儲以指令或數據結構和其它可被通用或特殊電腦、或通用或特殊處理器讀取形式的程序代碼的媒介。此外,任何連接都可以被適當地定義為電腦可讀媒介,例如,如果軟件是從一個網站站點、服務器或其它遠程資源通過一個同軸電纜、光纖電纜、雙絞線、數字用戶線(DSL)或以例如紅外、無線和微波等無線方式傳輸的也被包含在所定義的電腦可讀媒介中。所述的碟片(disk)和磁盤(disc)包括壓縮磁盤、鐳射盤、光盤、DVD、軟盤和藍光光盤,磁盤通常以磁性復制數據,而碟片通常以激光進行光學復制數據。上述的組合也可以包含在電腦可讀媒介中。
以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。