[發明專利]一種虛擬化環境下的進程監控方法及系統有效
| 申請號: | 201310337411.5 | 申請日: | 2013-08-05 |
| 公開(公告)號: | CN103365758A | 公開(公告)日: | 2013-10-23 |
| 發明(設計)人: | 袁林思 | 申請(專利權)人: | 北京搜狐新媒體信息技術有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F9/455 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100084 北京市海淀區中關*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬 環境 進程 監控 方法 系統 | ||
技術領域
本發明涉及計算機應用技術領域,特別是涉及一種虛擬化環境下的進程監控方法及系統。
背景技術
隨著虛擬化技術的發展與成熟,越來越多的企業選擇在服務器上引入虛擬化技術從而達到最大化利用服務器硬件資源,減少硬件采購成本,降低能耗的目的。容器虛擬化作為一種輕量級的虛擬化技術,具有部署簡潔,虛擬化開銷低的特點,因而被越來越多的應用于服務器虛擬化。通過在服務器上引入容器虛擬化技術,我們可以實現在一臺物理機上部署多個容器來跑一個應用的多個實例,亦可在不同的容器內進行多種不同的應用而保證他們彼此互不影響。因此,對服務器的運維也提出了更高的要求,當某一容器內的進程異常退出時,采用傳統的檢測方法,需要對被監控進程做適應性修改,使得被監控進程周期性地向監控系統主動上報心跳信息,或者是監控系統通過周期性地查詢待監控進程的信息查詢/proc文件系統下是否存在對應的進程ID的目錄,這兩種監控方法都需要將待監控進程和監控系統綁定在一起,需要對待監控進程做改動,同時,這兩種方式都無法及時準確的監控到進程異常退出,因此也就無法及時準確地發出相應的告警信息;也就無法采取相應的措施來進行相應的異常恢復處理,無法保證產品和系統的高可靠性和自恢復性。
另外,目前常用的檢測方法,只是適用于沒有引入命名空間的Linux操作系統,對于在Linux操作系統中引入命名空間后,監控進程與被監控進程可能運行于不同的命名空間下,監控進程所需處理的場景更加復雜,傳統的進程監控方法并未涉及這種情景下的處理,無法完成跨命名空間的進程監控。
基于存在的技術問題,現在迫切需要提供一種新的監控采集系統以支持進程運行于不同命名空間場景下的進程監控。
發明內容
為了解決上述技術問題,本發明實施例提供了一種虛擬化環境下的進程監控方法及系統,以支持進程運行于不同命名空間場景下的進程監控,提高監控結果反饋速率和和系統穩定性。
本申請實施例公開了如下技術方案:
一種虛擬化環境下的進程監控方法,包括:
獲取待監控進程的進程描述符;
在操作系統處理待監控進程的信號隊列之前,檢測所述進程描述符中待監控進程的信號隊列中是否包含將導致進程異常退出的信號;
如果有,收集被監控進程當前的運行信息,生成相應的告警信息并反饋至終端。
優選的,所述獲取待監控進程的進程描述符,包括:
提取用戶指定的待監控進程所在的容器名稱以及待監控進程的PID;
通過所述容器名稱查詢該容器啟動進程的子進程在宿主機端PID命名空間下的PID;
通過所述宿主機端命名空間下的PID查詢與其對應的容器PID命名空間;
在所述容器PID命名空間下查找用戶指定的待監控進程的PID,并獲得與待監控進程對應的進程描述符。
優選的,包括:
預先在操作系統的信號處理函數執行路徑上添加相應的HOOK函數;
在操作系統處理待監控進程的信號隊列之前,所述HOOK函數檢查待監控進程的信號隊列中是否包含將導致進程異常退出的信號。
優選的,所述獲取待監控進程的進程描述符,包括:
提取用戶指定的待監控進程所在的容器名稱以及待監控進程的PID;
根據所述容器名稱獲取虛擬機啟動進程lxc-start的直接子進程/sbin/init在宿主機端PID命名空間下的PID;
通過所述宿主機端PID命名空間下的PID查詢與其對應的容器PID命名空間;
在所述容器PID命名空間下查找用戶指定的待監控進程的PID,獲得與待監控進程對應的進程描述符。
本發明還提供了一種虛擬化環境下的進程監控系統,包括:
獲取單元,用于獲取待監控進程的進程描述符;
檢測單元,用于在操作系統處理待監控進程的信號隊列之前,檢測所述進程描述符中待監控進程的信號隊列中是否包含將導致進程異常退出的信號;
反饋單元,用于當所述檢測模塊的檢測結果為是時,收集被監控進程當前的運行信息,生成相應的告警信息并反饋至終端。
優選的,所述獲取單元,包括:
第一提取模塊,用于提取用戶指定的待監控進程所在的容器名稱以及待監控進程的PID;
第一查詢模塊,用于通過所述容器名稱查詢該容器啟動進程的子進程在宿主機端PID命名空間下的PID;
第二查詢模塊,用于通過所述宿主機端命名空間下的PID查詢與其對應的容器PID命名空間;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京搜狐新媒體信息技術有限公司,未經北京搜狐新媒體信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310337411.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:消防船
- 下一篇:一種撐桿可拆卸式嬰兒床





