醫(yī)院行政系統(tǒng)容器化部署與監(jiān)控方案

時間:2022-07-14 09:36:38

導(dǎo)語:醫(yī)院行政系統(tǒng)容器化部署與監(jiān)控方案一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

醫(yī)院行政系統(tǒng)容器化部署與監(jiān)控方案

摘要:醫(yī)院行政系統(tǒng)繁多復(fù)雜,在部署與運維時常存在硬件資源、環(huán)境兼容等問題?;谏鲜鰡栴},本文提出基于Docker容器化的子系統(tǒng)部署方案與監(jiān)控方案,旨在便捷、快速、準確地部署與運維,同時可實時監(jiān)控容器運行情況。

關(guān)鍵詞:Docker;監(jiān)控;醫(yī)院行政系統(tǒng);容器化

1引言

醫(yī)院行政系統(tǒng)主要為醫(yī)院工作人員提高工作效率,實現(xiàn)醫(yī)院行政工作的流程化、規(guī)范化與信息化。其主要由OA、醫(yī)務(wù)管理系統(tǒng)、護理管理系統(tǒng)、后勤管理系統(tǒng)等子系統(tǒng)組成。由于子系統(tǒng)繁多復(fù)雜,使得系統(tǒng)上線及運維時需要耗費較多精力、時間進行部署應(yīng)用,并解決部署過程中遇到的各種硬件資源、環(huán)境兼容等問題。因此,本文提出醫(yī)院行政系統(tǒng)容器化部署方案,并根據(jù)該部署方案提出相應(yīng)的容器監(jiān)控方案,旨在便捷、快速、準確地部署與維護應(yīng)用,同時可實時監(jiān)控容器運行情況。

2相關(guān)概念與技術(shù)

2.1Docker容器化技術(shù)

當(dāng)一臺物理機部署并運行的應(yīng)用服務(wù)越多,應(yīng)用服務(wù)之間的依賴、文件分布等組成復(fù)雜凌亂的關(guān)系。長期如此,會使得這臺物理機難以管理。容器化的部署方式出現(xiàn),可以較好地解決這些問題。Docker技術(shù)可以看成一個個裝著應(yīng)用服務(wù)程序的抽屜,支持開發(fā)者將應(yīng)用程序以及相應(yīng)的依賴包打包到一個可移植的輕量級鏡像中,做到與其它應(yīng)用的資源、進程、依賴等內(nèi)容相互隔離、互不影響[1]。無論是傳統(tǒng)的虛擬化技術(shù)還是Docker技術(shù),都可提高對服務(wù)器硬件資源的利用率,屏蔽服務(wù)器硬件資源差異。相比之下,Docker具有更輕量、更快速的特點,更適合于高性能、超大規(guī)模的宿主機部署、搭建隔離的運行環(huán)境、測試環(huán)境[2]。因此,本文采用Docker容器化技術(shù)進行系統(tǒng)的部署設(shè)計。

2.2容器化監(jiān)控技術(shù)

目前主流的容器化監(jiān)控方案是利用cAdvisor、Grafana、Prometheus這三款開源組件。cAdvisor是Google公司開發(fā)的便于用戶了解運行中容器的資源使用情況和性能特征的開源工具,以守護進程的方式收集、聚合、處理、導(dǎo)出運行中的容器信息[3]。Grafana是可視化、開源的度量分析工具,可將采集的數(shù)據(jù)可視化展示,具有展示方式靈活多樣、數(shù)據(jù)源配置豐富等特點[4]。Prometheus是開源的系統(tǒng)服務(wù)監(jiān)視系統(tǒng)與時間序列數(shù)據(jù)庫,具有易運維、高效存儲策略、多維數(shù)據(jù)模型等特點[5]。這三款開源組件所組成的監(jiān)控方案不僅可以監(jiān)控WEB應(yīng)用服務(wù)器資源使用情況、數(shù)據(jù)庫應(yīng)用服務(wù)器資源使用情況,還可以監(jiān)控Kubernetes、Docker等使用情況[6]。因此,本文將利用這三款開源組件實現(xiàn)容器的資源與性能監(jiān)控。

3醫(yī)院行政系統(tǒng)部署方案

針對目前醫(yī)院行政系統(tǒng)的現(xiàn)有應(yīng)用、現(xiàn)有硬件資源,結(jié)合系統(tǒng)數(shù)量與實際部署服務(wù)器數(shù)量存在多對一的現(xiàn)狀及應(yīng)用上線部署或更新運維時存在的問題,基于上述的概念與技術(shù)介紹,利用Docker構(gòu)建醫(yī)院行政系統(tǒng)部署架構(gòu),如圖1所示。通過該容器化部署架構(gòu),可以看出該架構(gòu)分成三部分?;A(chǔ)硬件部分主要由主機、存儲、網(wǎng)絡(luò)等部分構(gòu)成,是容器化部署方案的硬件構(gòu)成,支持Docker運行的必需物理資源。容器服務(wù)部分主要由Docker鏡像、容器管理平臺等內(nèi)容構(gòu)成。該部分主要是利用基礎(chǔ)硬件資源為應(yīng)用層提供服務(wù)。應(yīng)用層主要由醫(yī)院行政信息系統(tǒng)構(gòu)成,如移動辦公系統(tǒng)服務(wù)、OA、醫(yī)務(wù)管理系統(tǒng)服務(wù)、護理管理系統(tǒng)服務(wù)等系統(tǒng)及其相關(guān)的數(shù)據(jù)庫。同時,它還包括反向服務(wù)、緩存服務(wù)器等通用服務(wù)系統(tǒng)。當(dāng)用戶進行系統(tǒng)訪問時,先經(jīng)過Nginx容器進行負載均衡并反向至相應(yīng)的系統(tǒng)服務(wù)。正常情況下,由主數(shù)據(jù)庫容器以及主緩存服務(wù)容器提供服務(wù)。當(dāng)主數(shù)據(jù)庫或主緩存服務(wù)異常時,由備數(shù)據(jù)庫容器或備緩存服務(wù)容器提供服務(wù)。當(dāng)發(fā)現(xiàn)主數(shù)據(jù)庫容器或主緩存服務(wù)容器異常時,可通過容器鏡像迅速拉取并重建容器,并達到最終快速啟動主服務(wù)的目的。

4容器部署監(jiān)控方案

醫(yī)院行政系統(tǒng)容器化部署后,容器的運行狀態(tài)、資源使用情況等實時運行情況仍需得到監(jiān)控?;谏鲜龅母拍钆c技術(shù)介紹,利用cAdvisor、Prometheus、Grafana三者結(jié)合實現(xiàn)容器化的運維監(jiān)控方案。在監(jiān)控服務(wù)器與被監(jiān)控服務(wù)器上搭建cAdvisor、Prometheus、Grafana三者運行時所需要的環(huán)境與組件。然后,利用cAdvisor進行容器數(shù)據(jù)采集,Prometheus收集數(shù)據(jù),同時作為數(shù)據(jù)源為Grafana提供數(shù)據(jù)資源,形成如圖2所示的容器運行情況監(jiān)控UI,實現(xiàn)容器實時運行情況的監(jiān)控。

5結(jié)論

本文針對醫(yī)院行政系統(tǒng)傳統(tǒng)應(yīng)用部署方式中存在的問題,提出醫(yī)院行政系統(tǒng)容器化部署與監(jiān)控方案。相比傳統(tǒng)物理機或Vmware虛擬機部署方案,該方案不僅可以使應(yīng)用安裝部署變得便捷、簡單、快速,實現(xiàn)部署環(huán)境隔離,而且還可以動態(tài)地對資源進行擴展與收縮。使用Grafana、Prometheus與cAdvisor相結(jié)合的容器監(jiān)控方案,可直觀、清晰、準確地了解容器的運行狀態(tài)與資源使用情況,較好地輔助系統(tǒng)管理員進行系統(tǒng)管理與運維。

參考文獻

[1]LiuX,Zhi-YongHU.DesignandimplementationofWebclusterbasedonDockercontainer.ElectronicDesignEngineering,2016(8):117-119

[2]鐘云杰.基于B/S架構(gòu)和容器化技術(shù)的智能家居控制系統(tǒng)研究[碩士學(xué)位論文].青島大學(xué),青島,2018

[3]仇臣.Docker容器的性能監(jiān)控和日志服務(wù)的設(shè)計與實現(xiàn)[碩士學(xué)位論文].浙江大學(xué),杭州,2016

[4]Grafana官網(wǎng).

[5]Prometheus官網(wǎng).

[6]馬永,吳躍,何李囡,程航.基于Prometheus的基礎(chǔ)軟硬件全鏈路監(jiān)控設(shè)計和實現(xiàn).電子技術(shù)與軟件工程,2019(24):39-40

作者:陳錦瑩 陳洪雷 單位:福建省婦產(chǎn)醫(yī)院福建省婦幼保健院