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

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

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

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

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

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

1引言

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

2相關概念與技術

2.1Docker容器化技術

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

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

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

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

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

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

醫(yī)院行政系統(tǒng)容器化部署后,容器的運行狀態(tài)、資源使用情況等實時運行情況仍需得到監(jiān)控。基于上述的概念與技術介紹,利用cAdvisor、Prometheus、Grafana三者結合實現(xiàn)容器化的運維監(jiān)控方案。在監(jiān)控服務器與被監(jiān)控服務器上搭建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結論

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

參考文獻

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

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

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

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

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

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

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