LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

我們銀行的文件支援系統不斷發展和擴展,對速度和容錯能力的要求也越來越高。在某些時候,在沒有有效集中監控的情況下維護學習管理系統變得過於危險。為了保護 VTB 的業務流程並簡化管理員的工作,我們實施了基於一系列開放式技術的解決方案。在它的幫助下,我們可以主動回應事件,防止潛在的問題。以下是一個關於我們使用免費軟體監控大型業務系統的經驗的故事。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

為什麼要監控您的文件管理系統?

自 2005 年以來,VTB 銀行的文件支援一直由 CompanyMedia 系統「管理」。 LMS 擁有超過 60 萬用戶,每月創建超過一百萬個新文件。我們的伺服器必須每天 24 小時運行:幾乎任何時候系統中都有 2500-3000 人,他們連接到全國各地,從堪察加彼得巴甫洛夫斯克到加里寧格勒。 LMS 運行的每一秒意味著 10-15 次變化。

為了確保系統準確地完成分配的任務,我們部署了使用代理伺服器、請求平衡、資訊保護、全文搜尋、整合路由和備份的容錯基礎設施。支援和管理如此規模的專案需要大量資源。管理員全天候監控有關伺服器運作、RAM 負載、CPU 時間、I/O 子系統等的基本資訊。但除此之外,還需要更微妙的分析:

  • 計算執行業務場景所花費的時間;
  • 監控系統效能及其負載的動態;
  • 尋找系統組件與已核准的非功能需求的偏差。

LMS 推出 11 年後,主動回應各類錯誤的問題變得特別尖銳。該銀行的管理層意識到,在沒有監視器和系統生命控制台的情況下工作就像在玩火:這種級別的業務系統中最輕微的故障都可能導致數百萬美元的損失。

2016 年,我們開始推出用於快速識別 LMS 運行問題的工具,包括即時監控我們感興趣的參數。在此之前,所應用的監控系統是在 InterTrust 公司基礎設施框架內部署和測試的。

一切開始的地方

如今,基於開源軟體產品的VTB LMS集中應用監控系統有助於防止與文件流程相關的大多數錯誤,快速且準確地對問題進行分類,並對任何事件做出及時回應。它包括兩個子系統:

  • 用於監控系統服務的IT基礎設施;
  • 監控 LMS 操作中錯誤的發生。

這一切都始於一個免費的監控應用程式。經過幾個選擇後,我們選擇了 Zabbix——最初是為銀行服務和設備編寫的免費軟體。這個基於 PHP Web 的系統可以將資料儲存在 MySQL、PostgreSQL、SQLite 或 Oracle 資料庫中,非常適合我們的需求。

Zabbix 在每台伺服器上運行其代理,並將感興趣的指標資訊即時收集到單一資料庫中。使用該應用程序,可以方便地收集有關處理器和 RAM 負載、網路和其他元件使用情況的資料、檢查標準服務(SMTP 或 HTTP)的可用性和回應、運行外部程式並支援透過以下方式進行監控: SNMP 。

部署 Zabbix 後,我們配置了標準硬體指標,起初這已經足夠了。但VTB SDO正在不斷發展壯大:2016年,伺服器數量明顯增加,出現遷移流程,莫斯科銀行、VTB Capital和VTB24加入該系統。不再有足夠的標準指標,我們教會 Zabbix 追蹤有關連接到伺服器的每個磁碟區上的佇列存在情況的資訊(開箱即用的 Zabbix 僅反映一般磁碟佇列),以及它所花費的時間來完成特定的程序。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

此外,我們為系統配備了多個觸發器 - 在何種條件下向管理員發送通知(Telegram 中的訊息、發送至電話號碼的簡訊或電子郵件)。可以為任何參數集配置觸發器。例如,您可以指定一定百分比的可用磁碟空間,當達到指定的閾值時,系統會向管理員發出警報,或通知您後台程式的運行時間是否比平常長。

Java 連接和資料視覺化

我們顯著擴大了分析數據的範圍,但很快這還不足以進行有效監控。利用 CompanyMedia 的 LMS 是 Java 應用程式這一事實,我們透過 JMX 介面連接到 Java 虛擬機,並能夠直接取得 Java 指標。不僅是 Java 生命活動的標準參數,例如 GC 工作強度或堆疊消耗,還包括與可執行應用程式程式碼直接相關的特定測試。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

2017年,也就是監控系統實施大約一年後,我們發現,為了正常處理Zabbix收集的大量數據,沒有足夠的視覺化——複雜的螢幕。這個問題的最佳解決方案還是免費軟體 - Grafana,這是一個方便的指標儀表板,可讓您在一個螢幕上聚合所有資料。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

Grafana 介面是互動的,讓人想起 OLAP 系統。此子系統將Zabbix接收到的資料顯示在一個螢幕上,以易於分析的圖形和圖表的形式呈現資訊。管理員可以輕鬆自訂自己需要的切片。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

監控並預防性消除 LMS 系統中的錯誤

ELK開源軟體平台可協助您過濾和分析監控過程中收到的資訊。此開源產品由三個用於收集、儲存和分析資料的強大工具組成:Elasticsearch、Logstash 和 Kibana。此子系統的實作尤其可以即時查看系統中發生了多少錯誤、在哪些伺服器上以及這些錯誤是否重複出現。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

現在,管理員可以在早期階段(甚至在使用者遇到問題之前)檢測到問題。這種主動監控使您能夠及時消除錯誤,從而防止系統故障。此外,我們還可以了解更新後系統行為發生了怎樣的變化,並偵測出現的新問題。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

業務營運監控

系統除了具備監控資源消耗的基本功能外,還具備對業務運作進行分析與控制的能力。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

監控業務營運的整體執行時間可讓您識別新因素並了解它們對系統營運的影響。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

監視每個業務服務的請求的執行時間可以偵測偏離規範的操作。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

上面的螢幕截圖是監控後台任務偏離標準的範例。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

根據特定伺服器上活動的受控任務列表,您可以識別所有伺服器上的錯誤,包括任務執行的重複。

LMS 開源軟體:免費軟體如何協助管理 VTB 的關鍵業務系統

後台程式的執行時間趨勢也受到監控。

該系統不斷成長、發展並幫助解決問題

透過實施所述系統,監控 LMS 伺服器的操作已變得顯著簡化。但各種衝突時有發生,影響了文件流轉的速度,引起了用戶的投訴。因此我們意識到有必要控制應用程式本身的行為,而不僅僅是伺服器。

為了解決這個問題,平衡器透過API連接到監控系統,它與應用程式伺服器叢集一起工作。得益於此,管理員可以看到伺服器回應每個使用者請求需要多長時間。

伺服器回應時間的資料可供分析,這使得將 LMS 的減速與伺服器上發生的進程連結起來成為可能。特別是,出現了一個有趣的情況:伺服器運行緩慢,儘管此時尚未載入。透過分析異常,我們發現垃圾收集器Java的運作有偏差。最後發現是這個服務的錯誤操作導致了這種情況。透過控制 Java 垃圾收集器,我們徹底解決了這個問題。

這就是免費軟體幫助銀行業文件管理系統發展和成長的方式。我們僅討論了與 VTB SDO 監控系統相關的主要問題。如果您對詳細資訊感興趣,請在評論中提問,我們很樂意與您分享我們的經驗。

來源: www.habr.com

添加評論