国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      對宿主機中容器進行本地實時監(jiān)控的方法、裝置及系統(tǒng)的制作方法

      文檔序號:8922494閱讀:527來源:國知局
      對宿主機中容器進行本地實時監(jiān)控的方法、裝置及系統(tǒng)的制作方法
      【技術領域】
      [0001] 本發(fā)明涉及互聯網技術領域,具體涉及一種對宿主機中容器進行本地實時監(jiān)控的 方法、裝置及系統(tǒng)。
      【背景技術】
      [0002] LXC(LinuxContainer)容器是一種內核虛擬化技術,可以提供輕量級的虛擬化, 以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他復雜性。相當于 C++中的命名空間(NameSpace)。容器有效地將由單個操作系統(tǒng)管理的資源劃分到孤立的 組中,以更好地在孤立的組之間平衡有沖突的資源使用需求。
      [0003] Docker是PaaS提供商dotCloud開源的一個基于LXC的高級容器引擎,源代碼托 管在Github上,基于go語言并遵從Apache2. 0協議開源。簡單得來說,Docker是一個由 GO語言寫的程序運行的"容器"(Linuxc〇ntainers,LXCs);目前云服務的基石是操作系統(tǒng) 級別的隔離,在同一臺宿主機上虛擬出多個主機。Docker則實現了一種應用程序級別的隔 離,它改變我們基本的開發(fā)、操作單元,由直接操作虛擬主機(VM)轉換到操作程序運行的 "容器"上來。
      [0004] 隨著Docker的發(fā)展,在一臺Docker宿主機中啟動的容器越來越多。在此Docker 宿主機中,運維人員需要查看各個容器的運行狀態(tài)時,需要手動在Docker系統(tǒng)內輸入監(jiān)控 命令或查看運行文件。以查看某個容器的cpu占用信息為例,需要手動打開cgroup目錄下 的運行文件,拷貝每一秒的cpu運行數據,然后找到對應容器的cpu數據進行查看。這種手 動的方式非常繁瑣,尤其對于同時運行很多容器的Docker宿主機來說,每個容器的數據都 需要手動輸入各自的命令去查看,執(zhí)行效率低下,不能實時反映各個容器的監(jiān)控信息。

      【發(fā)明內容】

      [0005] 鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上 述問題的對宿主機中容器進行本地實時監(jiān)控的方法、裝置及系統(tǒng)。
      [0006] 根據本發(fā)明的一個方面,提供了一種對宿主機中容器進行本地實時監(jiān)控的方法, 包括:
      [0007] 掃描宿主機內處于存活狀態(tài)的容器,更新容器列表;
      [0008] 為所述容器列表中每個處于存活狀態(tài)的容器配置對應的進程;
      [0009] 各個進程同步抽取各自容器的原始狀態(tài)信息;以及
      [0010] 對各容器的原始狀態(tài)信息進行處理得到監(jiān)控信息,以進行顯示。
      [0011] 根據本發(fā)明的另一個方面,提供了一種對宿主機中容器進行本地實時監(jiān)控的方 法,包括:
      [0012] 根據終端發(fā)送的監(jiān)控命令,掃描宿主機內處于存活狀態(tài)的容器,更新容器列表;
      [0013] 為所述容器列表中每個處于存活狀態(tài)的容器配置對應的進程;
      [0014] 各個進程同步抽取各自容器的原始狀態(tài)信息;以及
      [0015] 對各容器的原始狀態(tài)信息進行處理得到監(jiān)控信息;
      [0016] 將所有容器的監(jiān)控信息發(fā)送給所述終端,所述終端顯示所有容器的監(jiān)控信息。
      [0017] 根據本發(fā)明的另一方面,提供了一種對宿主機中容器進行本地實時監(jiān)控的裝置, 包括:
      [0018] 配置模塊,適于為所述容器列表中每個處于存活狀態(tài)的容器配置對應的進程;
      [0019] 抽取模塊,適于各個進程同步抽取各自容器的原始狀態(tài)信息;
      [0020] 處理模塊,適于對各容器的原始狀態(tài)信息進行處理得到監(jiān)控信息,以進行顯示。
      [0021] 根據本發(fā)明的另一方面,提供了一種對宿主機中容器進行本地實時監(jiān)控的系統(tǒng), 該系統(tǒng)包括上述對宿主機中容器進行本地實時監(jiān)控的裝置和終端,所述終端適于:向所述 裝置發(fā)送監(jiān)控命令,以及接收所述裝置返回的所有容器的監(jiān)控信息并顯示。
      [0022] 通過本發(fā)明提供的監(jiān)控方法、裝置及系統(tǒng),為每個處于存活狀態(tài)的容器創(chuàng)建各自 的進程,采用多進程并行運行的方式,抽取各個容器的監(jiān)控信息進行展示。利用本方案,運 維人員只需啟動本地監(jiān)控程序,該本地監(jiān)控程序利用創(chuàng)建的多進程抽取各個容器的監(jiān)控信 息,與現有技術繁瑣的手動方式相比,大大提高了執(zhí)行效率。而且,由于多個進程同步抽取 監(jiān)控信息,這樣刷新展示的時候顯示的是多個容器在同一時刻的監(jiān)控數據,運維人員可依 據這些監(jiān)控數據對多個容器的狀態(tài)進行比較分析,更有利于反映出宿主機內各個容器的運 行狀態(tài),提升了監(jiān)控效率。
      [0023] 上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段, 而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠 更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
      【附圖說明】
      [0024] 通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通 技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
      [0025] 圖1示出了根據本發(fā)明一個實施例的對宿主機中容器進行本地實時監(jiān)控的方法 的流程圖;
      [0026] 圖2示出了根據本發(fā)明另一個實施例的對宿主機中容器進行本地實時監(jiān)控的方 法的流程圖;
      [0027] 圖3示出了根據本發(fā)明一個實施例的對宿主機中容器進行本地實時監(jiān)控的方法 裝置的功能結構框圖;以及
      [0028] 圖4示出了根據本發(fā)明一個實施例的對宿主機中容器進行本地實時監(jiān)控的方法 系統(tǒng)的功能結構框圖。
      【具體實施方式】
      [0029] 下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開 的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例 所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍 完整的傳達給本領域的技術人員。
      [0030] 圖1示出了根據本發(fā)明一個實施例的對宿主機中容器進行本地實時監(jiān)控的方法 的流程圖。如圖1所示,本方法包括以下步驟:
      [0031] 步驟S101,掃描宿主機內處于存活狀態(tài)的容器,更新容器列表。
      [0032] 本發(fā)明在宿主機內部啟動本地監(jiān)控程序(也稱:localmonitor),本地監(jiān)控程序定 時掃描宿主機內處于存活狀態(tài)的容器,更新容器列表,容器列表中記錄有處于存活狀態(tài)的 容器名稱。
      [0033] 步驟S102,為容器列表中每個處于存活狀態(tài)的容器配置對應的進程。
      [0034] 本發(fā)明的本地監(jiān)控程序在第一次啟動時為容器列表中每個處于存活狀態(tài)的容器 創(chuàng)建對應的進程。在后續(xù)定時執(zhí)行本方法的過程中,在更新容器列表后,先查找上一次方法 執(zhí)行時是否已存在各個容器對應的進程,若未查找到某個容器的進程,則為該容器創(chuàng)建進 程。通過本步驟,保證宿主機內存活的容器都有對應的進程為其實行監(jiān)控服務。也即,本方 法為多進程的處理方法,多個進程并行執(zhí)行以獲取各個容器的監(jiān)控信息。
      [0035] 步驟S103,各個進程同步抽取各自容器的原始狀態(tài)信息。
      [0036] 本步驟中,各個進程是同步運行的,每個進程負責抽取其對應的容器的原始狀態(tài) 信息。
      [0037] 步驟S104,對各容器的原始狀態(tài)信息進行處理得到監(jiān)控信息,以進行顯示。
      [0038] 在每個進程抽取各自容器的原始狀態(tài)信息之后,可以對各容器的原始狀態(tài)信息進 行處理得到監(jiān)控信息,將這些監(jiān)控信息匯總起來,而后由用于進行顯示的終端將各個容器 的監(jiān)控信息進行刷新顯示,以同時展示宿主機內處于存活狀態(tài)的所有容器的監(jiān)控信息。應 可理解,上述對原始狀態(tài)信息的處理可以由各個進程分別執(zhí)行,也可以由相同進程/模塊 統(tǒng)一執(zhí)行。
      [0039] 通過本實施例提供的監(jiān)控方法,為每個處于存活狀態(tài)的容器創(chuàng)建各自的進程,采 用多進程并行運行的方式,抽取處理得到各個容器的監(jiān)控信息進行展示。利用本方法,運 維人員只需啟動本地監(jiān)控程序,該本地監(jiān)控程序利用創(chuàng)建的多進程抽取各個容器的監(jiān)控信 息,與現有技術繁瑣的手動方式相比,大大提高了執(zhí)行效率。而且,由于多個進程同步抽取 處理得到監(jiān)控信息,這樣刷新展示的時候顯示的是多個容器在同一時刻的監(jiān)控數據,運維 人員可依據這些監(jiān)控數據對多個容器的狀態(tài)進行比較分析,更有利于反映出宿主機內各個 容器的運行狀態(tài),提升了監(jiān)控效率。
      [0040] 圖2示出了根據本發(fā)明另一個實施例的對宿主機中容器進行本地實時監(jiān)控的方 法的流程圖。本實施例以宿主機為基于Docker應用容器引擎的服務器為例進行說明,以下 稱這樣的宿主機為Docker宿主機。Docker宿主機根據終端發(fā)送的監(jiān)控命令啟動本地監(jiān)控 程序,本地監(jiān)控程序每隔預定時間定時運行執(zhí)行如圖2所示的方法,該方法具體包括以下 步驟:
      [0041] 步驟S201,調用Docker應用容器引擎的接口,查看處于存活狀態(tài)的容器,更新容 器列表。
      [0042] Docker作為開源工具提供了許多可調用接口,本地監(jiān)控程序可通過調用對應的接 口查找到當前處于存活狀態(tài)的容器列表。本實施例中,本地監(jiān)控程序調用容器發(fā)現接口,具 體代碼實現如下:
      [0043]
      [0044] 上述容器發(fā)現接口調用后所返回的值就是容器列表,可選地,將容器列表處理為 json格式,如下:
      [0045] {"data":[{" {#N0DE}":"c0021v. add. bjdt. qihoo. net"},{" {#N0DE}":"c0016v. add.bjdt.qihoo.net"},{ ''{#N0DE}":"cOOlOv. add. bjdt. qihoo. net''},{" {#N0DE}":"c0006v. add. bjdt. qihoo. net''},{"
      當前第1頁1 2 3 4 5 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1