摘要:在我們列舉的幾個監控的服務或平臺中,這是唯一一款國內產品。也是一款付費監控解決方案,計劃收費方案是美分小時。同樣也支持監控,還包括對容器級事件的監測停止開始等等和管理容器產生的日志。由于是一個監控方案,相對來說它的安裝和部署都比較簡單。
輕量級虛擬化容器 Docker,自發布以來便廣受業界關注,在開源界和企業界掀起了一陣風。Docker 容器相對于 VM 有以下幾個優勢:啟動速度快;資源利用率高;性能開銷小。
從圖中可以看出 Docker 和 虛擬機的差異,虛擬機的 Guest OS 和 Hypervisor 層在 Docker 中被 Docker Engine 層所替代,Docker 有著比虛擬機更少的抽象層。由于 Docker 不需要通過 Hypervisor 層實現硬件資源虛擬化,運行在 Docker 容器上的程序直接使用實際物理機的硬件資源。因此在 CPU、內存利用率上 Docker 略勝一籌。Docker利用的是宿主機的內核,而不需要 Guest OS,因此,當新建一個容器時,Docker 不需要和虛擬機一樣重新加載一個操作系統內核,因此新建一個 Docker 容器只需要幾秒鐘。
既然 Docker 這么火,那么問題來了,為了能夠更精確的分配每個容器能使用的資源,我們想要實時獲取容器運行時使用資源的情況,怎樣對 Docker 上的應用進行監控呢?Docker 的結構會不會加大監控難度?
我們都了解, container 相當于小型 host,可以說存在于 hosts 與應用之間的監控盲區,無論是傳統的基礎組件監控還是應用性能監控的方式,都很難有效地監控 Docker。了解了一下現有的 Docker 相關監測 App 和服務,包括簡單的開源工具和復雜的企業整體解決方案,下面列舉幾種Docker 監控工具作為參考:
1. cAdvisor
谷歌的 container introspection 解決方案是 cAdvisor,這是一個 Docker 容器內封裝的實用工具,能夠搜集、集料、處理和導出運行中的容器的信息。通過它可以看到 CPU 的使用率、內存使用率、網絡吞吐量以及磁盤空間利用率。然后,你可以通過點擊在網頁頂部的 Docker Containers 鏈接,然后選擇某個容器來詳細了解它的使用情況。cAdvisor 部署和使用簡單,但它只可以監視在同一個 host 上運行的容器,對多節點部署不是太管用。
2. Cloud Insight
在我們列舉的幾個監控 Docker 的服務或平臺中,這是唯一一款國內產品。Cloud Insight 支持多種操作系統、云主機、數據庫和中間件的監控,原理是在平臺服務儀表盤和自定義儀表盤中,采集并處理 Metric,對數據進行聚合與分組等計算,提供曲線圖、柱狀圖等多樣化的展現形式。優點是監控的指標很全,簡單易用,但目前正式版還未上線,可以期待一下。
3. Scout
Scout 是一款監視服務,并不是一個獨立的開源項目。它有大量的插件,除了 Docker 信息還可以吸收其他有關部署的數據。因此 Scout 算是一站式監控系統,無需對系統的各種資源來安裝各種不同的監控系統。 Scout 的一個缺點是,它不顯示有關每個主機上多帶帶容器的詳細信息。此外,每個監控的主機十美元這樣略微昂貴的價格也是是否選擇 Scout 作為監控服務的一個考慮因素,如果運行一個有多臺主機的超大部署,成本會比較高。
4. Sematext
Sematext 也是一款付費監控解決方案,計劃收費方案是3.5美分/小時。同樣也支持 Docker 監控,還包括對容器級事件的監測(停止、開始等等)和管理容器產生的日志。
時間關系我們選擇了其中安裝最簡單的 Cloud Insight 來試驗監控基于 Docker 的一個應用——Acme 的運行情況,后期時間允許會將其他幾種監控方式都試一遍。
Docker 監控實戰單方面監控 Docker 可能并不太適合與業務掛鉤的應用,當業務量上漲,不單單是 Docker 的負載上升,其他 JVM 指標也能也會出現上升的趨勢。
我們嘗試使用一個支持比較多中間件、數據庫、操作系統、容器的 Cloud Insight 來說明這個實際的場景。
Cloud InsightCloud Insight 由于是一個 SaaS 監控方案,相對來說它的安裝和部署都比較簡單。在這次監控實戰中,我們以 AcmeAir 為實驗對象:一個可以模擬壓力的電子商務類應用。
AcmeAir 是一款由原 IBM 新技術架構部資深工程師 Andrew Spyker,利用 Netflix 開源的 Netflix OSS 打造的開源電子商務應用。此應用具有如下特性:
模擬提供航班訂票服務。用戶可以通過移動設備或者 web 瀏覽器,完成新用戶注冊,用戶登錄,航班查詢,訂票等操作。
AcmeAir 融入了 Docker,微服務架構等理念。并采用 Tomcat、Node.js、WebSphere Application Server、WebSphere Extreme Scale、MongoDB、Cassandra 分別打造了不同版本的實現。
AcmeAir 利用 JMeter 模擬用戶行為。可通過動態調整用戶數量,模擬產生各種壓力的事物流量。并可在應用中預先植入錯誤代碼,模擬各種故障場景。該應用可做為壓力測試,終端用戶體驗異常檢測,故障診斷等各種測試場景的測試用例。
首先,我們要打開 Cloud Insight 監控,還好 Cloud Insight 安裝簡單,一條命令即可。接著,我們新建一個用于此次監控的儀表盤,依次將想要獲取的指標統統添加進去。比如,選中 jvm.non_heap_memory 這個指標,選擇按照 instance 分組。
我們添加以下指標:
docker.cpu.user
docker.cpu.sysytem
docker.containers.running
jvm.heap_memory
jvm.non_heap_memory
jvm.gc.cms.count
jvm.heap_memory_max
jvm.gc.parnew.time
應用 Acme 部署在四臺 servers 上,我們開啟四臺 servers, 然后用 JMeter 給應用加壓。隨著時間 JMeter 不斷給應用加壓。
當 users 人數達到 188 時,我們再來看一下儀表盤的視圖。
從圖中可以看到,性能數據發生了變化,根據 JMeter 里的數據,此時 CPU 占用超過了50%,錯誤率也有所提升;對比來看,根據 Cloud Insight 里的曲線顯示,藍色的線所代表的 Container CPU 占用率已經超過50%,逐漸接近75%,系統剩余的 CPU 資源逐漸下降,該 Container 的系統 CPU 資源消耗也突然增大。我們可以通過這些定位到 CPU 占用率過高的 Container ,及時而主動地去了解性能瓶頸,從而優化性能,合理分配資源。
Cloud Insight 所抓取的性能指標算是較為全面,部署和展現方式都是相當簡單易懂的,對這個產品可以期待一下。
Cloud Insight 集監控、管理、計算、協作、可視化于一身,幫助所有 IT 公司,減少在系統監控上的人力和時間成本投入,讓運維工作更加高效、簡單。想閱讀更多技術文章,請訪問 OneAPM 官方博客。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26501.html
摘要:由發明,適合于監控基于容器的基礎架構。有關其數據聚合的功能可以閱讀數據聚合分組新一代系統監控的核心功能。所抓取的性能指標算是較為全面,部署和展現方式都是相當簡單易懂的。 如今,越來越多的公司開始使用 Docker 了,2 / 3 的公司在嘗試了 Docker 后最終使用了它。為了能夠更精確的分配每個容器能使用的資源,我們想要實時獲取容器運行時使用資源的情況,怎樣對 Docker 上的應...
摘要:監控告警是運營系統最核心的功能之一,騰訊內部有一套很成熟的監控告警平臺,而且開發運維同學已經習慣這套平臺,如果我們針對容器再開發一個監控告警平臺,會花費很多精力,而且沒有太大的意義。也是一款付費監控解決方案,計劃收費方案是美分小時。 如今,越來越多的公司開始使用 Docker 了,現在來給大家看幾組數據: 2 / 3 的公司在嘗試了 Docker 后最終使用了它 也就是說 Docker...
摘要:代表的解決方案為。雖然官網列出的部署方式很多,但也不用被這么多種部署方式搞糊涂了。雖然只是一條命令,但其實執行了很多步驟命令執行后輸出如下可以看到,主要做了這些事創建了名為的虛擬機,并在虛擬機中安裝了容器運行時。 綜述 Kubernetes集群的組件眾多,要部署一套符合生產環境的集群不是一件容易的事。好在隨著社區的快速發展,特別是在它成為事實上的容器編排標準以后,基本所有的主流云平臺都...
摘要:代表的解決方案為。雖然官網列出的部署方式很多,但也不用被這么多種部署方式搞糊涂了。雖然只是一條命令,但其實執行了很多步驟命令執行后輸出如下可以看到,主要做了這些事創建了名為的虛擬機,并在虛擬機中安裝了容器運行時。 綜述 Kubernetes集群的組件眾多,要部署一套符合生產環境的集群不是一件容易的事。好在隨著社區的快速發展,特別是在它成為事實上的容器編排標準以后,基本所有的主流云平臺都...
摘要:結論得到了開發者社區的廣泛認可,盡管它的安裝過程非常艱難,之所以受到歡迎的原因很大程度取決于它提供的靈活性,以及良好的谷歌背景,而有一個小型的社區,增長略微緩慢。 數人云之前分享了《聊聊調度框架,K8S、Mesos、Swarm 一個都不能少》那么你是否仍在Docker和Kubernetes選擇上陷入了困擾?所以不要擔心,因為這也是很多人的苦惱,這兩者都是非常優秀的容器服務,至于那種更好...
閱讀 1605·2021-09-23 11:31
閱讀 920·2021-09-23 11:22
閱讀 1337·2021-09-22 15:41
閱讀 4062·2021-09-03 10:28
閱讀 2907·2019-08-30 15:55
閱讀 3536·2019-08-30 15:55
閱讀 1942·2019-08-30 15:44
閱讀 2712·2019-08-30 13:50