應用程式效能監控軟體之 應用實務分享 - fisc ·...

7
www.fisc.com.tw 27 應用程式效能監控軟體之應用實務分享〡資訊分享 應用程式效能監控軟體之 應用實務分享 黃文杰 / 財金資訊公司業務部品管測試組組長 一、 前言 網路時代的興起,應用程式儼然成為金 融服務業的核心命脈,無所謂營業時間,使用 者只要有 App、知道入口網站就可以在用戶端 完成自己的理財規劃、信用卡申請、保母費匯 款等。事實上,應用程式並非單獨存在,而是 有一大群幕後黑手在默默地支持,其中軟硬體 ( 以下簡稱節點 ) 有:VM OS、負載平衡設備 (Network Load Balance)SAN Switch、防火牆 (F/W)、資料庫、磁碟等等,為能持續有效地服 務,節點的設計都已朝著服務不中斷的目標前 進,為確保服務品質及減少維運壓力,各節點 也各自發展出專屬的效能監控軟體,具全面規 劃及妥善的管理方式,藉此減輕技術人員負荷, 甚至使其高枕無憂。然而,由於前述高規格軟 硬體所堆砌的門檻 ( 不論技術或資金 ),不少企 業因而轉向使用雲端方案 ( 提供主機託管及效 能監控平台 ),例如:亞馬遜網路服務 (Amazon Web ServicesAWS)Windows Azure、中華 電信、 Acer eDC 等託管公司,希望在這場服務、 軍備的競賽中,持續保有參賽權。 1 2015 Gartner 就各品牌 APM 之研究

Upload: others

Post on 26-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 應用程式效能監控軟體之 應用實務分享 - FISC · 應、協助應用程式除錯、業務衝擊分析、即時 邏輯拓樸 (包含應用服務及系統各伺服器層)、

www.fisc.com.tw ■ 27

應用程式效能監控軟體之應用實務分享〡資訊分享

應用程式效能監控軟體之應用實務分享

黃文杰 / 財金資訊公司業務部品管測試組組長

一、 前言

網路時代的興起,應用程式儼然成為金

融服務業的核心命脈,無所謂營業時間,使用

者只要有 App、知道入口網站就可以在用戶端

完成自己的理財規劃、信用卡申請、保母費匯

款等。事實上,應用程式並非單獨存在,而是

有一大群幕後黑手在默默地支持,其中軟硬體

(以下簡稱節點 ) 有:VM OS、負載平衡設備

(Network Load Balance)、SAN Switch、防火牆

(F/W)、資料庫、磁碟等等,為能持續有效地服

務,節點的設計都已朝著服務不中斷的目標前

進,為確保服務品質及減少維運壓力,各節點

也各自發展出專屬的效能監控軟體,具全面規

劃及妥善的管理方式,藉此減輕技術人員負荷,

甚至使其高枕無憂。然而,由於前述高規格軟

硬體所堆砌的門檻 (不論技術或資金 ),不少企

業因而轉向使用雲端方案 (提供主機託管及效

能監控平台 ),例如:亞馬遜網路服務 (Amazon

Web Services,AWS)、Windows Azure、中華

電信、Acer eDC等託管公司,希望在這場服務、

軍備的競賽中,持續保有參賽權。

圖 1 2015年 Gartner就各品牌 APM之研究

Page 2: 應用程式效能監控軟體之 應用實務分享 - FISC · 應、協助應用程式除錯、業務衝擊分析、即時 邏輯拓樸 (包含應用服務及系統各伺服器層)、

28 ■ 財金資訊季刊 / No.87 / 2017.01

資訊分享〡應用程式效能監控軟體之應用實務分享

天下大勢分分合合,技術從不安逸於

現狀,依據國際研究機構 Gartner (以下稱

Gartner) 2015年研究顯示,應用程式效能監

控軟體 (Application Performance Monitoring/

Management,以下簡稱 APM 軟體 ) 市場

刻正處於戰國時代,有以應用程式類角度

切 入 的 APM 軟 體 ( 例 如:AppDynamic、

Dynatrace),也有作業系統層級的 APM軟體

(例如:IBM、Microsoft);另外,硬體廠商 (例

如:Riverbed) 的整合性監控工具也在其列 (如

圖 1所示 )。依據 Gartner分析,資訊系統效

能 (包含軟硬體 ) 評量是以使用者的真實感受

為主,本篇選擇最貼近使用者端的應用程式類

APM軟體與各位分享。

二、 效能監控

以信用卡交易流程為例,使用者於飯店用

餐後的付款授權交易,所牽涉的節點至少包

含:卡片、端末設備 (POS機 )、網路設備、

資料庫系統、作業系統、應用程式等 (如圖 2

所示 ),以下就各節點的效能監控摘要說明之。

圖 2 信用卡交易資訊流

(一 ) 網路

網路監控須能依據企業實際網路架構,經

由網路設備啟用封包收集,即可讓管理者掌握

每項應用程式的流量及封包 (有單一服務埠流

量的限制 );也可透過封包或流量協助界定當

時應用程式的行為是否合理,或是推論使用者

當時在系統上的操作情境。

(二 ) 資料庫系統

資料庫系統本身已具備相關的效能監控

機制,例如:Oracle Enterprise Manager 可

用以設定自我診斷機制 (Automatic Database

Diagnostic Monitoring,ADDM),可搭配 SQL

優化建議工具 (SQL Tuning Advisor,STA) 一

起使用;微軟的 SQL Server則可使用 SQL

Trace、SQL Profiler。實務上,企業往往存在

多種資料庫系統,其中有套裝軟體綁定的資料

庫系統,也有企業自行規劃建置的,若單靠個

別資料庫系統本身所提供之工具可能較不方

便,如擬簡化管理,也可評估透過第三方 (非

原廠 ) 工具管理異質資料庫。

(三 ) 作業系統

微軟之作業系統提供效能監視器或使用其

進階的 System Center,而 Linux類的 sysstat

Page 3: 應用程式效能監控軟體之 應用實務分享 - FISC · 應、協助應用程式除錯、業務衝擊分析、即時 邏輯拓樸 (包含應用服務及系統各伺服器層)、

www.fisc.com.tw ■ 29

應用程式效能監控軟體之應用實務分享〡資訊分享

套件中的 sar、iostat、mpstat等,皆歸屬於作

業系統層級的效能監控軟體,可協助建立各種

資 源 (CPU、RAM、Network、Datastore 等 )

的使用趨勢,進而適當調整資源之使用或進行

擴充。VM Host的 vFoglight則另外提供如:

CPU Reserved capacity、system heartbeat、

Storage I/O Control aggregated IOPS等較特

殊的系統資訊。IBM公司宣稱其可支援「關

鍵應用程式」的所有主要平台,包括:x86/

Microsoft、AIX/Linux 及大型主機環境。

(四 ) 應用程式

應用程式整體效能監控應涵蓋環境監控

(包含:電力、氣流、散熱等 )、資源監控,

本篇僅就資源監控部分進行探討。

以往透過在程式碼中安插旗幟找問題的

做法,隨著工具不斷進步而有所演進,APM

軟體必須能快速識別並找到問題,不僅只解

決問題,尚能藉由性能趨勢分析,有效降低

應用程式管理人員的負擔。歸納幾款市場上

較大品牌的 APM產品,所具備的特性有:1.

插件 (應用程式端的 Agent,並依此綁定授權

數 ),以對現有應用程式環境最小的影響方式

完成布建,並提供各系統間的拓樸圖。2. 支

援大部分流行的程式語言,例如:Java、.Net

等。3. 管控中心,負責收集所有插件回報之

資訊,匯總資訊後以數位儀表板方式呈現 (可

高度客製化 )。4. 額外負荷低,不同的 APM

產品其做法稍有差異,有些是所有交易全部

收集,有些則依統計的採樣 (sampling) 方式

實作。如採用全部交易都追蹤的 APM軟體,

則須特別注意該軟體是否帶來額外負荷,進

而影響監控之應用程式效能? 5. 整合多項資

源資訊後再統一呈現,可一併收集應用程式

所在主機 (VM Guest) 的系統資源、JVM或

是 .Net Framework的效能參數,以供整體評

估。

綜上可知,現在 APM軟體的發展趨勢已

非僅提供單一節點本身的效能監控,大部分

都已延伸到貼近用戶的體驗。上述各節點的

效能監控皆可依據系統的 SLA (Service Level

Agreement) 定義監控指標,具備告警功能,

可透過 EMail主動通知相關人員,並提供相關

管理性報表。

三、 應用實務

Garnter指出在 APM的評估指標中最重

要的一項為自動組態,其實也就是降低應用程

式加入 APM的門檻。本篇選用兩類以 Java

開發的獨立應用程式 (standalone)為例,一

為批次作業、另一以服務方式呈現。該服務以

TCP/IP Socket方式與國際組織介接,透過約

定規格執行訊息收送。恰巧這兩類應用與一般

APM軟體評估稍有差異,故以其與各位分享。

因非屬 APM軟體預設模式,所以必須以人工

調整偵測應用程式的入口 (與 HTTP/HTTPS

明顯不同 ),讓 APM軟體認識應用程式所定

義的交易 (一個請求 /一筆訊息 /一項批次作

業 ),才能執行後續的監控。

(一 ) 前置作業-安裝APM軟體及設置應用

程式監控

1. 安裝效能監控軟體

包括管控中心 (收集所有監控資料的存儲

中心 )、應用程式插件、APM用戶端軟體,受

監控之應用程式僅須增加 JVM特定參數即可。

Page 4: 應用程式效能監控軟體之 應用實務分享 - FISC · 應、協助應用程式除錯、業務衝擊分析、即時 邏輯拓樸 (包含應用服務及系統各伺服器層)、

30 ■ 財金資訊季刊 / No.87 / 2017.01

資訊分享〡應用程式效能監控軟體之應用實務分享

(二 ) 客製化設定應用程式入口-批次程式

批次作業,依據開發人員提供的程式入

口,將其設定為 Sensor後,再逐步觀察是否

可適用於所有批次作業。這部分可能涉及應用

程式的架構,納入所有必要監控的程式元件

後,即可設置出專屬的 Sensor。

以圖 3為例,程式啟動點為:tw.com.

fisc.batch.ExpFIABIN,將入口組態調整為:

tw.com.fisc.batch.*。以本次應用程式所在的

作業系統 (windows) 為例,批次作業設定於排

程作業,以 bat方式執行,當 bat中包含多個

獨立批次程式時,須注意是否具備足夠的授權

數 (licenses),以免無法呈現費工費時收集之

管控中心資料。

(三 ) 效能比對

可提供交易比較 (compare) 功能,分析程

式方法 (method) 在應用系統異動前後的效能

差異,應用時機包含應用程式變更、作業系統

更新、網路設備更新等 (如圖 4所示 )。

2. 批次模式,以 ant target呼叫使用為例:

P.32:「應用程式效能監控軟體之應用實務分享」

2. 批次模式

3. 服務模式

wrapper.java.additional.16= -agentpath:D:\dt62\agent\lib\dtagent.dll=name=CXXD_EDC3,server=10.201.199.79:9998

<property name="batch_jvmarg" value="-Xms1024m -agentpath:D:\dt620_agent\agent\lib\dtagent.dll=name=BATCH,server=10.201.199.79:9998"/> ... <target name="runExpPTOR"> <property name="log4j.configuration" value="${work.dir}/batch/ExpPTOR/log4j.xml"/> <java classname="tw.com.fisc.batch.ExpPTOR" fork="true"> <classpath> <pathelement location="${work.dir}/batch/ExpPTOR"/> <path refid="batch.classpath"/> <pathelement path="${java.class.path}"/> </classpath> <jvmarg line="${batch_jvmarg}"/> <arg value="${argv0} "/> <arg value="${argv1} "/> </java>

</target>

3. 服務模式 (以Java wrapper service將獨立的Java應用程式包裝為服務 ),額外增加以下設定:

P.32:「應用程式效能監控軟體之應用實務分享」

2. 批次模式

3. 服務模式

wrapper.java.additional.16= -agentpath:D:\dt62\agent\lib\dtagent.dll=name=CXXD_EDC3,server=10.201.199.79:9998

<property name="batch_jvmarg" value="-Xms1024m -agentpath:D:\dt620_agent\agent\lib\dtagent.dll=name=BATCH,server=10.201.199.79:9998"/> ... <target name="runExpPTOR"> <property name="log4j.configuration" value="${work.dir}/batch/ExpPTOR/log4j.xml"/> <java classname="tw.com.fisc.batch.ExpPTOR" fork="true"> <classpath> <pathelement location="${work.dir}/batch/ExpPTOR"/> <path refid="batch.classpath"/> <pathelement path="${java.class.path}"/> </classpath> <jvmarg line="${batch_jvmarg}"/> <arg value="${argv0} "/> <arg value="${argv1} "/> </java>

</target>

Page 5: 應用程式效能監控軟體之 應用實務分享 - FISC · 應、協助應用程式除錯、業務衝擊分析、即時 邏輯拓樸 (包含應用服務及系統各伺服器層)、

www.fisc.com.tw ■ 31

應用程式效能監控軟體之應用實務分享〡資訊分享

圖 3 自訂程式入口點及監控資料的呈現

圖 4 效能比對

Page 6: 應用程式效能監控軟體之 應用實務分享 - FISC · 應、協助應用程式除錯、業務衝擊分析、即時 邏輯拓樸 (包含應用服務及系統各伺服器層)、

32 ■ 財金資訊季刊 / No.87 / 2017.01

資訊分享〡應用程式效能監控軟體之應用實務分享

(四 ) 與開發工具 (IDE) 整合

APM用戶端軟體具備將交易匯出入的

功能 (離線瀏覽;若為營運環境,則須將敏

感性資料予以遮罩處理 ),不論與廠商或技

術單位均可直接以相同介面進行溝通討論並

解決問題。另外,當發現疑似效能議題的方

法 (method),可透過 APM用戶端軟體介面

的操作,直接檢視程式碼 (本機 IDE必須具

該 APM軟體的 plugin,參考圖 5)。對照以往

從應用程式日誌中搜尋關鍵資訊,緊接著追

蹤 (Trace) 這訊息可能出現的程式碼 (source

code),再撰寫簡單的測試情境驗證推論是否

正確,若資訊收集有瑕疵,這項作業流程即

來回重覆進行幾回 (debug)。相較之下,APM

軟體能有效縮短問題查找時間,對部署管理

(deployment management) 嚴格的單位而言,

其效益更顯著。

圖 5 程式碼追蹤

Gartner使用幾項指標評估 APM軟體應

當具備的能力,其中包含:問題偵測及快速反

應、協助應用程式除錯、業務衝擊分析、即時

邏輯拓樸 (包含應用服務及系統各伺服器層 )、

服務監控 (確認反應速度與正常運行時間是否

如預期 )、趨勢分析等六項指標。依據不同使

用者的應用程式效能監控需求,Gartner運用

不同的權重予以評量,如表 1所示:

Page 7: 應用程式效能監控軟體之 應用實務分享 - FISC · 應、協助應用程式除錯、業務衝擊分析、即時 邏輯拓樸 (包含應用服務及系統各伺服器層)、

www.fisc.com.tw ■ 33

應用程式效能監控軟體之應用實務分享〡資訊分享

維運 應用系統支援 應用系統開發

問題偵測及快速反應 30 20 10

協助應用程式除錯 0 30 50

業務衝擊分析 10 0 0

即時邏輯拓樸 10 40 30

服務監控 30 10 0

趨勢分析 20 0 10

表 1 應用程式效能監控關鍵能力

四、 結語

Bank 3.0提到的金融服務模式已被顛

覆,金融業服務歷來遭受挑戰,而新種業務又

如雨後春筍般蓬勃發展,如:第三方支付、

MPOS、O2O、海外金流等,企業究應跟進抑

或不跟進均陷入兩難。金融體系一向是提供穩

健、安全服務的模範生,處於這遍地烽火的時

刻與戰區,可能須儘速覓妥因應之道。而第三

方支付業者憑藉快速提供資訊服務攻城掠地,

戰無不勝,完全與小米雷軍的「天下武功,唯

快不破」不謀而合,致金融業備感威脅。能掌

握先機的人也只領先第一步,若擬持續保持領

先,其關鍵即在於 IT的應變速度。

Application Performance Monitoring/

Management (APM) 軟體事實上提供企業兩

方面的協助,其一是讓企業穩定持續提供服

務,並藉由觀察企業自訂之指標,瞭解現有業

務走向及未來趨勢發展,提供 IT或業務單位

預先因應之參考。另一方面則是後勤支援,備

有此項火力支援,繁複的問題查找節奏變得明

快,開發人員在工作崗位上更具生產力,也更

有成就感,妥善選擇一項 APM軟體或許是正

向改變的開始。

※參考文獻 /資料來源:1. 財金資訊季刊第 67期「網路監控之流量管理」。

2. 財金資訊季刊第 76期「電腦機房監控中心效能與管理」。

3. 財金資訊季刊第 83期「《Bank 3.0》及《Digital Bank》帶動金融創新」。

4. 資料庫效能監控系統的設計與實作,賴政賢,2012年,中華大學。

5. http://www.gartner.com/。6. http://devopssummit.ithome.com.tw/

index.html。7. h t t p : / / w w w . i t h o m e . c o m . t w /

node/75666。8. h t t p : / / w w w . i t h o m e . c o m . t w /

news/87144。