ASP.NET網站線上即時監控的新境界 -Operations Manager 2012 R2王寧疆資深講師資策會 數位教育研究所
大綱
• 監控複雜資訊系統的挑戰
• 執行中的程式可能發生的問題
• 認識Operations Manager 2012 R2
• 線上即時監控成員
• 安裝與設定Operations Manager 2012 R2
• 事件檢視與分析
• 檢視報告
• 整合DevOps
複雜資訊系統的特性
• 利用Web服務/WCF服務提供資訊系統執行時需要的功能
• 由位於不同位置的伺服器架構資訊系統的執行環境
• 異質的伺服器執行環境
監控複雜資訊系統的挑戰
• 如何知道資訊系統執行出錯?• 如何找出出錯的程式?• 如何找出出錯的原因?
使用者
資訊系統 Web伺服器
應用程式伺服器資料庫伺服器
系統部署之後面臨的四大問題
安全性 效能
連通性 執行時期錯誤
四大問題
發掘執行時期真相的困難點
• 了解模組與模組之間的相依關係
• 監督系統執行時期發生的錯誤
• 解決系統管理員與程式設計師之間的責任歸屬
• 縮短解決問題點的時間
程式設計師
"怎麼可能? 在staging環境執行還好好的?"
"客戶說有時會有錯誤, 有時又正常"
"怎麼會出現這種錯誤?"
"我怎麼知道, 程式又不是我寫的!""客戶反應系統執行會發生錯誤!""$!#$#!$&@#~"
"問題出在你的伺服器, 不在我的程式!"
系統管理員
系統部署之後並不代表故事結束
主管階層 – 提升軟體發展效率
專案經理 – 改善資源分配和開發流程
架構 開發團隊 QA/Test團隊
執行環境 支援團隊
擬定開發計畫
開發與測試
即時監控與事件通知
執行資料搜集與診斷
提升品質和可靠度
Web 2.0 !
執行中的程式可能發生的問題
• 系統層面的錯誤 網路錯誤
資料庫錯誤
作業系統相關的錯誤
• 應用程式層面的錯誤 邏輯錯誤
執行時期錯誤
• 效能層面的問題 讀寫資料庫的效率(查詢效率, 資料庫索引, …)
呼叫Web服務/WCF服務的效率問題
• …
對執行中的資訊系統的管理需求
• 商業層面 提升軟體可靠度與效能
縮短上巿時間(Time to market)
提升使用者的工作效率
提升客戶滿意度
• 資源層面 節省軟體支援與維護的成本
操作監控與故障排除
容量規畫與資源分配(伺服器配置)最佳化
• 結論 : 需要線上即時監控解決方案
線上即時監控解決方案
監控使用者的操作體驗
•了解使用者對資訊系統的執行效能與品質的體驗
網站, 應用程式, 伺服器, 與網路裝置監控
•監控系統的健康狀況, 快速診斷執行時期發生的問題
使用者自訂事件監控
•支援監控跨越系統的自訂事件監控, 發掘影響執行效能的因素
資訊系統模組解構
•分析系統模組之間的相依關係
• 發掘系統執行效能的瓶頸• 協助調配系統資源
認識System Center 2012 R2
Application
Management
Service
Delivery and
Automation
Service
Manager
Orchestrator
Virtual Machine
Manager
Operations
Manager
App Controller
Infrastructure
Management
Data Protection
Manager
Virtual Machine
Manager
Operations
Manager
Configuration
Manager
認識Operations Manager 2012 R2• 支援以單一的主控台
(Console)監控系統
中多部電腦, 裝置, 與
服務的效能, 健康狀
況, 以及可用度
• 支援監控包含Windows Azure雲端在內的分散式運算環境
Operations Manager 2012 R2的功能與特性• 24x7系統即時監控
• 不需要修改系統的原始碼, 低執行效率負擔
• 利用儀表板檢視系統的健康狀態與基準數據
• 支援跨越系統模組自訂訊息追蹤
• 全方位的應用程式監控
• 利用瀏覽器監控應用程式的可用性
• 問題管理與根源追蹤
• 監控終端使用者的操作體驗
• 進階報表分析
• 分析系統模組之間的相依關係
Operations Manager 2012 R2未支援的功能• Application Profiler 量測類別的方法的執行時間, 被呼叫次數
• 偵錯工具(Debugger)
• 偵測Memory Leak(記憶體碎片)
• 監控Win32應用程式
Operations Manager 2012 R2支援的監控對象• 支援監控下列的對象: 支援監控Web服務 / WCF服務 / Windows服務
Windows Server, Linux Server, Unix Server
IIS伺服器, TomCat伺服器, Apache伺服器
SQL Server資料庫伺服器
Windows Form視窗程式
ASP.NET網站, ASP.NET MVC 3 / 4網站
Windows Azure雲端網站, System Center私有雲
SharePoint Server, BizTalk Server
網路裝置監控
JEE應用程式
Operations Manager 2012 R2支援的網路監控• Network裝置監控
• 支援SNMP v3
• 支援IPv4與IPv6
• Port/interface監控 : 流量, 使用率, Dropped Packet的比例, Broadcast流量統計
• 支援監控Router, Switch, VLAN
• 整體連線健康狀態
• Hot Standby Router Protocol(HSRP)群組健康狀態
• 專用的儀表板(Dashboard)檢視
SCOM 2012 R2線上即時監控功能• SCOM 2012 R2支援監控部署至Windows
Azure雲端, 或資料中心的解決方案
• 支援監控Windows, Linux, Unix電腦, 與網路裝置(例如Router和Switch的流量, 健康狀態,與封包分析)
• 了解系統執行的效能資訊與可用度(Availability)資訊
• 解構系統模組之間的關係
• 提供執行時期錯誤的詳細資訊與進階報表分析
SCOM 2012 R2的主要成員
• SCOM 2012 R2的安裝畫面
Domain以外的電腦需要依靠[闡道管理伺服器]搜集資訊
負責搜集Log和Security相關的資訊
SCOM 2012 R2Management Server,資料庫, 與報表
搜集資料, 與預設值比對, 建立Alert, 將結果送往Management Server
SCOM 2012 R2線上即時監控運作架構支援利用瀏覽器檢視:Web主控台Application DiagnosticsApplication Advisor
存放設定資料與7天內的監控資料
存放7天以上的監控資料和Alert資料
Agent v.s. Agentless Monitoring• Agent Monitoring 需要使用較少的系統資源, 較有效率
• Agentless Monitoring 需要使用較多的系統資源 由Management Server負責探索(Discover)被監
控的電腦 被監控的電腦與Management Server之間不可以
有防火牆分隔 可以利用Operations Console的[探索精靈]探索
欲監控的電腦 並非所有的Management Pack都支援Agentless
監控, 例如Active Directory, Exchange, IIS, SharePoint Server
硬體條件
• 各種軟體環境建議的硬體條件
處理器 記憶體 硬碟 .NET 3.5 SP1 .NET 4.0Management Server 2.8 GHz 2 GB 1 GBOperations Console 2.8 GHz 2 GB 512 MBWeb主控台 2.8 GHz 2 GBOperational Database 2.8 GHz 4 GB 1 GBOperations Manager報表 2.8 GHz 2 GB 1 GBOperations Manager DW 2.8 GHz 4 GB 1 GBOperations Manager Gateway
2.8 GHz 2 GB 1 GB
安裝準備
• 預備工作1. 安裝Windows Server 2008 R2 64位元版 + IIS
2. 安裝Microsoft .NET Framework 4.0
3. 安裝Active Directory網域服務 + DNS服務
4. 執行DCPromo命令
5. 安裝並設定SMTP服務
6. 安裝SQL Server 2008 SP1或更高版本, 必須使用支援的定序, 並加裝Reporting Service
7. 啟動SQL Server Agent服務
線上即時監控安裝與設定• 預備工作
1. 安裝IIS Management Scripts and Tools
2. 欲監控IIS 7 / IIS 8裝載的ASP.NET網站必須先安裝: Operations Manager APM Web IIS 7 Management
Pack
Operations Manager APM Web IIS 8 Management Pack
安裝完成後必須啟用SQL Server Service Broker 請開啟SQL Server Management Studio, 並執行
以下敘述
ALTER DATABASE OperationsManagerSET ENABLE_BROKER With Rollback Immediate
設定與使用SCOM 2012 R2• 四大工具
1. Operations Console
2. Web主控台(Web操作畫面)
3. Application Diagnostics(Web操作畫面)
4. Application Advisor(Web操作畫面)
• 五大功能 Operations Console的五大功能
1. 系統管理 : 設定SCOM 2012 R2, 例如匯入Management Pack
2. 撰寫中 : 設定欲監控的應用程式, 例如ASP.NET網站
3. 監視中 : 檢視監控的結果
4. 報表 : 檢視報表
5. 我的工作區 : 支援建立自訂檢視
認識Management Pack
• Management Pack內含下列資訊: 物件探索 : 探索被監控的物件, 例如
DHCP伺服器
監視 : 監測健康狀態, 視需要發送Alert
規則 : 分析資料, 依據規則發送Alert
工作 : 可以依據規則執行的方法, 以修復錯誤的狀態
檢視 : 顯示被監控的物件的狀態的畫面
知識 : 詳細的說明資料
報表 : 顯示被監控的物件的狀態的報表
帳戶與設定檔 : 執行監控動作所需要的帳戶資訊
覆寫 : Management Pack的客製設定
匯入Management Pack的做法
加入欲監督的應用程式
監督應用程式線上執行狀況
檢視報表
設定欲監督的應用程式
• Server Side監督項目1. 例外相關事件
2. 效能相關事件
3. 平均Request時間
• Client Side(使用者體驗)監督項目1. 例外相關事件
2. 效能相關事件
3. 平均Request時間
4. Page Load的時間
5. 利用AJAX技術呼叫WCF服務的時間
6. 圖片, Javascript, CSS, HTC等相關資料搜集
Demo:
Server Side + Client Side監督設定
檢視與分析程式執行狀態
• 使用Operations Console或Application Diagnostics工具
• Application Diagnostics提供四種檢視角度 電腦 : 檢視電腦的資源使用狀態
應用程式 : 檢視應用程式的資源使用狀態
事件 : 檢視程式執行發生的相關事件
Advisor : 顯示應用程式執行狀態的報表分析結果
事件檢視與分析
• 事件類型代表的意義 認識事件的兩種類型
檢視事件相關的資訊
• 趨勢分析和報表檢視 利用Operations Console的[報表]功能
利用Application Advisor
事件類型代表的意義
• 事件的兩種類型1. 應用程式錯誤 : 檢視程式執行的錯誤
2. 效能 : 檢視執行效能有問題的程式
• 利用Application Diagnostics的[搜尋]下拉選項選擇欲檢視的事件類型 [效能]事件支援利用[分組方式]選擇 : 問題, 負荷
嚴重資源
[應用程式錯誤]事件支援利用[分組方式]選擇 : 問題, 動作, 例外狀況類別, 失敗函式
檢視應用程式錯誤的相關資訊
• 檢示應用程式錯誤清單
檢視效能相關的資訊
• 檢視事件相關資訊, 模組關聯圖, 效能指標詳細資訊, …
事件分類檢視
• [應用程式錯誤]四種分類方式 : 問題, 動作, 例外狀況類別, 失敗函式
利用排序功能找出Quick Wins
• 找出發生問題次數最多的問題點
• 以最小的代價處理程式執行發生的問題
• 利用Application Diagnostics檢視事件資訊,選擇[分組方式]下拉選項, 再對[計數]欄位排序
點選看內容
Demo:
使用Application Diagnostics檢視應用程式的執行狀態
檢視報告• 使用Application Advisor報表分析與檢視功能
• 依賴SQL Server Reporting Service報表功能
• 支援四種報表類型: Client Side Monitoring報表
Problem Analysis Reports報表
Resources Utilization Analysis報表
其他
• 支援以排程的方式自動建立/寄送報表 必須設定SQL Server Reporting Service電子郵件
寄送功能
必須啟動SQL Server Agent服務
必須啟動SMTP服務
檢視Client Side Monitoring報表
• 與用戶端執行的程式(例如Javascript)有關的報表
• 範例 : Application AJAX Calls Analysis報表
解析Network, Server, 和Client三者個別耗費的時間
檢視Problem Analysis Reports報表• Application Daily Activity報表
• Application Failure Breakdown by Functionality報表
• Application Heavy Resources Analysis報表
• Application Slow Requests Analysis報表
• Day of Week Utilization報表
• Hour of Day Utilization報表
• Utilization Trend報表
Day of Week Utilization報表範例
• 記錄系統每週的使用報告
檢視Resources Utilization Analysis報表• 檢視應用程式的使用狀況 Application CPU Utilization Analysis報表
Application IO Utilization Analysis報表
Application Memory Utilization Analysis報表
Application Request Utilization Analysis報表
• 檢視電腦的使用狀況 Computer Application Load Analysis報表
Computer CPU Utilization Analysis報表
Computer IO Utilization Analysis報表
Computer Memory Utilization Analysis報表
Application Request Utilization Analysis報表範例
• 檢視應用程式集區處理Request的狀況
檢視其他常用報表
• 檢視應用程式的使用狀況 Application Failure Analysis報表
Application Performance Analysis報表
Application Status報表
• 檢視電腦的使用狀況 Summary Failure Analysis報表
Summary Performance Analysis報表
Summary User Status報表
• Problems Distribution Analysis報表
Problems Distribution Analysis報表範例• 應用程式執行問題分佈分析
Application Status報表範例
• 顯示應用程式負載和資源使用情形
• 支援:每日, 每週, 以及每月三種檢視
• 提供90天平均值做為基準比較數據
Demo:
報表檢視, 分析, 與排程
整合DevOps
• 形成系統開發流程(Application Life Cycle)完整解決方案 利用Visual Studio Plug-in快速找出問題的根源
利用Team Foundation Server管理系統執行發生的問題
利用Visual Studio Plug-in快速找出問題的根源
• 於Application
Diagnostics
工具點選欲
關聯至原始
程式的事件
項目
從Application Diagnostics啟動Visual Studio並開啟相關專案
• 自動開啟程式專案進行偵錯
自動標示出
有問題的
程式碼
利用Team Foundation Server管理系統執行發生的問題
• 需要安裝:1. Visual Studio 2010 SDK
2. System Center Management Pack for Microsoft Visual Studio Team Foundation Server 2010 Work Item Synchronization
• 支援將[作用中警示]顯示的警示項目傳送至Team Foundation Server 2010, 並指派專人處理 檢視[Operation Issues | Active Issues]項目
整合Team Foundation Server
• 使用[設定解決狀態 | 指派給工程]功能
Demo:
利用Visual Studio快速找出問題的根源
自訂Dashboard View顯示• 利用Operations Console的[我的工作區]功能 使用滑鼠的右鍵點中[我的最愛檢視], 選擇[新增 |
儀表板檢視]功能
從此:系統管理員與程式設計師過著幸福快樂的日子…
"有這些資料真是太好了, 一定可以很快找出問題根源, 甘溫哪~"
"你的系統出現執行效率的問題, 請參考給你的線上執行狀態與報告"
系統管理員
程式設計師
總結 : 導入Operations Manager 2012 R2線上即時監控系統之後..
Microsoft System Center Operations Manager
• 解決系統管理員, 程式設計師, 與支援工程師之間溝通的問題
• 提供詳細的系統執行資訊和報表, 有助於快速發現並解決應用程式執行發生的各種問題
系統管理員
程式設計師
參考資料
• Operations Manager Key Conceptshttp://technet.microsoft.com/en-us/library/hh230741.aspx
• Management Packs Installed with Operations Managerhttp://technet.microsoft.com/en-us/library/hh212701.aspx
• Using the Network Dashboard Views in SCOM 2012http://www.techrepublic.com/blog/networking/using-the-network-dashboard-views-in-scom-2012/5226
複習
• 監控複雜資訊系統的挑戰
• 執行中的程式可能發生的問題
• 認識Operations Manager 2012 R2
• 線上即時監控成員
• 安裝與設定Operations Manager 2012 R2
• 事件檢視與分析
• 檢視報告
• 整合DevOps