上一回介紹過SCOM 2025的部署與基礎監控,本文將繼續深入探討Web應用系統與Linux作業系統的監視,以及報表與訂閱通知的管理技巧。此外,也會特別講解如何排除實作過程中可能遭遇的問題,包括代理程式部署失敗與報表產出失敗的解決方案。
隨著雲端原生架構與混合雲環境的普及,IT基礎架構的複雜度已不可同日而語。System Center Operations Manager 2025(SCOM 2025)作為Microsoft私有雲管理解決方案的重要成員之一,其核心價值不再只是單純的「Ping監測」或「效能圖表展示」,而是演變成一個具備自動化故障排除、異質平台整合以及深層業務可用性分析的智慧型觀測平台。
在現代的IT資料中心架構中,由於Windows與Linux共存早已是常態,因此SCOM 2025在跨平台管理上也有顯著地進步,特別是它強化了對主流Linux發行版(如Ubuntu、RHEL等)的支援,包括提供專屬的管理組件(MP)與代理程式(Agent),可像監控Windows事件日誌一樣,輕鬆地處理Linux的Syslog與各種Daemon效能。
接下來,就一同深入跨平台Web應用系統與Linux作業平台的監控,並且學習如何善用訂閱通知功能來掌握第一時間的重大事件,以及結合SQL Server報表服務,協助IT部門做好運行可用性、效能、趨勢分析。
Web應用程式可用性監視
傳統的監控思維往往停留在「伺服器是否開機」或「CPU是否過高」,但在SCOM 2025的進階管理中,必須轉向「服務導向監控」(Service-Oriented Monitoring)。
Web應用程式可用性監視(Web Application Availability Monitoring)便是SCOM中最強大的工具之一,它允許從不同的地理位置或網段,模擬真實使用者的存取行為。不僅能夠檢查網頁是否可開啟,在進階配置部分還包含:
‧關鍵路徑驗證:測試登入流程、選定功能操作流程是否正常。
‧效能基準測試:網頁加載時間是否符合SLA規範。
‧交易模擬:透過記錄與回放腳本,確保複雜的後端API調用無誤。
接下來以一個簡單的配置範例來做介紹,先點選至「撰寫中」的分區,再展開「管理組件範本」並點選「工作」窗格中的「Add Monitoring Wizard」連結。如圖1所示,在「Monitoring Type」頁面中,選取「Web應用程式可用性監視」類型並按下〔下一步〕按鈕。
圖1 選擇監視類型。
接著,在「一般」頁面中輸入一個新的識別名稱與描述,至於目的地管理組件的選取,採用預設的選擇即可,然後按下〔下一步〕按鈕。在「監視對象」頁面中,如圖2所示,便可以依照實際需求,輸入多筆要監視的網站名稱與URL,輸入完畢按下〔下一步〕按鈕。
圖2 設定監視對象。
然後,在「監視起點」頁面中點選「新增」,將上一步驟中全部網站所屬的伺服器加入。加入之後,從「類型」欄位中,就能夠得知該伺服器目前受管理的模式是採用代理程式或無代理程式。按下〔下一步〕按鈕,來到「檢視並驗證測試」頁面,對於任一選定的網站按下〔執行測試〕按鈕,以便得知該網站是否能夠正常連線,並且進一步獲取狀態碼、DNS解析時間以及回應時間等資訊。接著,按下〔變更設定〕按鈕。
在如圖3所示的頁面中,首先依據實際需求來修改「測試頻率」和「效能資料收集間隔」,例如設定測試頻率為10分鐘,而效能資料收集間隔也同樣設定為10分鐘,測試逾時則設定為45秒。
圖3 變更Web可用性監視設定。
緊接著,在「警示」區域部分,可依照指定的狀態回報來決定錯誤的健全狀況,例如設定當HTTP狀態碼回應大於等於400時,立即產生相關的警示事件。以下是用戶端連線網站常見的失敗請求狀態碼:
‧400 Bad Request:伺服器看不懂你的請求(語法錯誤)。
‧401 Unauthorized:未經授權,表示需要登入才能看這個頁面。
‧403 Forbidden:伺服器知道你是誰,但拒絕讓你訪問(權限不足)。
‧404 Not Found:最常見的錯誤,表示伺服器找不到你要求的資源(網址不存在)。
若問題不在用戶端的連線操作錯誤,而是伺服端網站服務本身的錯誤,常見的狀態碼如下:
‧500 Internal Server Error:伺服器內部出錯,這是一個概括性的錯誤。
‧502 Bad Gateway:通常發生在伺服器架構中,上游伺服器與下游伺服器通訊失敗。
‧503 Service Unavailable:伺服器現在超載或正在維修,暫時無法服務。
‧504 Gateway Timeout:伺服器等太久了,後端沒有及時回應。
換句話說,更需要IT人員關注的網頁狀態碼絕對是大於等於500,因此也可以考慮將產生錯誤健全狀況狀態的準則設定為大於等於500,然後將大於等於400的狀態碼,改設定在產生警告健全狀況狀態的準則中。
最後,在「摘要」頁面中確認上述步驟皆設定無誤後,按下〔Create〕按鈕。再次回到「Web應用程式可用性監視」頁面,如圖4所示,便可以查看到剛剛所新增的設定。在此,可以繼續點選位於「工作」窗格中的「Add Monitoring Wizard」連結,新增更多的Web可用性監視設定,或是點選「內容」來修改選定的設定。若是想要檢視選定設定的物件,點選「View Management Pack Objects」連結即可。
圖4 完成Web可用性監視新增。
接下來,自行測試一下Web可用性監視功能是否有發揮作用。先將所監視的網站服務停止,然後點選至「監視中」分類下的「Web應用程式可用性監視」→「作用中警示」節點。如圖5所示,在「作用中警示」頁面中便可查看到出現重大事件的訊息內容,並且可以從下方的窗格中檢視到警示詳細資料,包括來源網站、警示描述以及完整的知識庫說明。
圖5 作用中警示。
監管Linux的前置準備
如今許多應用程式與服務的運行,不僅支援Windows平台也同時支援Linux平台,其實就連Microsoft自家的重量級軟體均提供Linux版本的開源實作或支援,包括Visual Studio Code、.NET (Core)、TypeScript、PowerShell、SQL Server on Linux等等。
這意味著Microsoft早已從過去與Linux的競爭關係轉向積極擁抱開源。也因為如此,讓許多企業IT陸續將一些應用系統或服務部署在Linux平台中運行,以節省IT營運的總體成本。
由上述趨勢可得知,若想要透過SCOM 2025同時監視Linux平台的運行,肯定不是一件難事。首先來看看準備受監控的Linux主機,必須事先完成哪一些工作。
以Ubuntu 24版本操作為例,在終端機視窗中執行「sudo systemctl status ssh」命令,以確認SSH服務已在執行中,這是因為後續的SCOM主機與此Linux主機的連線,便是透過SSH的遠端連線方式來進行。
一旦確認Linux主機的SSH服務正在啟動中,就可以先在SCOM主機安裝並使用任一SSH Client軟體進行連線登入測試,進一步確認沒有防火牆等因素造成無法連線的問題。如果排除網路與防火牆等因素仍無法連線,繼續往下看後續有關修改sshd_config設定檔的詳細說明。 對於目前Linux的管理,無論是經由本機還是遠端,因為資安因素,管理員通常都是使用sudo命令來暫時晉升管理員的權限。不過,若想要直接使用預設的root帳號進行連線管理也是可行的,只要完成以下步驟配置即可。先執行「sudo passwd root」,完成root帳號的密碼設定。緊接著執行「sudo nano /etc/ssh/sshd_config」命令參數,開啟SSH服務的設定檔編輯內容,如圖6所示,然後完成「PermitRootLogin prohibit-password」以及「PasswordAuthentication yes」的設定並存檔離開。最後,執行「sudo systemctl restart ssh」,以重啟SSH服務即可。
圖6 修改sshd_config設定檔。
下載及安裝Linux管理組件
在確認可正常從SCOM主機以SSH Client遠端連線登入Linux主機後,便可以如圖7所示到Microsoft官方網站搜尋並下載「System Center 2025 Management Pack for Linux Operating Systems」管理組件。
圖7 下載Linux管理組件。
在此下載「Microsoft System Center MP for Linux.msi」並於SCOM主機完成執行。執行之後只要連續按下〔下一步〕按鈕,即可自動將解壓縮後的檔案全部存放在預設的資料夾路徑(\Program Files(x86)\System Center Management Packs\Microsoft System Center 2025 MP for Linux)中。
緊接著,開啟SCOM 2025管理介面,點選至「系統管理」分類中的「管理組件」節點,再按下滑鼠右鍵,然後點選快速選單中的【匯入管理組件】,開啟「選取管理組件」頁面。 如圖8所示,在此點選「加入」功能,將管理組件的相關檔案全數加入,再按下〔安裝〕按鈕即可。
圖8 匯入管理組件。
建立Linux執行身分帳戶
完成Linux管理組件的相關檔案匯入後,需要建立一個Linux專用的執行身分帳戶(Run As Account),而它的主要用途是應用在SCOM代理程式維護與部署,以及日常健康與效能監視。其中,前者還包括代理程式版本的更新或從主機移除。至於後者,則含括以低權限執行例行性的資料收集,如CPU、記憶體及磁碟空間監控,以及針對需要透過su或sudo提高權限來獲取受保護的系統資源、檢視敏感日誌,或執行特定的診斷與復原動作。
接下來,就來示範一下如何建立Linux執行身分帳戶。開啟SCOM管理介面並點選至「系統管理」分類,然後展開至「執行身分設定」→「Unix/Linux帳戶」節點,再點選位於「工作」窗格中的「建立執行身分帳戶」連結。
在開啟的「帳戶類型」頁面中有「監視帳戶」與「代理程式維護帳戶」兩種類型可以選擇,若想要同時監控Linux主機並且維護代理程式的部署,必須選擇「代理程式維護帳戶」類型。
在「一般內容」頁面中輸入可唯一識別此帳戶的名稱與描述,再按下〔下一步〕按鈕。在「帳戶憑證」頁面中先選擇認證類型,要採用「SSH金鑰」或「使用者名稱和密碼」,本例採用後者選項。接著,選擇此帳戶是否有特殊存取權限,也就是說,決定是否要直接採用root帳號進行登入,以「此帳戶沒有特殊存取權限」為例。
既然在上一個步驟中選擇「此帳戶沒有特殊存取權限」設定,那麼接下來在「提升權限」頁面中,便需要選取要用於SSH連線並提升權限的類型,如圖9所示,這裡以選取「使用'sudo'提升權限」為例,按下〔下一步〕按鈕繼續。
圖9 提升權限方式選擇。
在「散發安全性」頁面中,可以選擇「較安全」或「較不安全」的認證散發方式,若希望更安全地進行認證的管理,可以選擇「較安全」選項。不過,如此一來每當新增一台Linux主機到監控清單時,都必須記得手動將該主機加入到該帳戶的散發清單中,否則監控會因為「找不到帳戶」而報錯。若想要省掉管理上的麻煩,則選擇「較不安全」選項,但這樣密碼將儲存在所有受管主機的代理程式中,會增加可能的安全性風險。
再次回到「UNIX/Linux帳戶」頁面中,便可以查看到剛剛新增的執行身分帳戶設定。此後,仍然可以隨時對於選定的設定做修改或刪除,當然也能夠建立更多的執行身分帳戶設定,來因應不同Linux主機的監控需求。
Linux代理程式部署
前面已經陸續完成SSH服務連線的準備,以及Linux執行身分帳戶的建立,接下來開始進行Linux代理程式的部署。首先,在SCOM管理介面中點選至「系統管理」分類,再展開至「裝置管理」→「Unix/Linux電腦」節點,然後按下滑鼠右鍵並點選快速選單中的【探索精靈】。
在「探索類型」頁面中,分別支援「網路裝置」、「Windows電腦」以及「UNIX/Linux電腦」三個選項,選擇「UNIX/Linux電腦」並按下〔下一步〕按鈕。如圖10所示,在「探索準則」頁面中可以一次針對所有準備加入監管的Linux主機,新增不同的探索準則以及選取目標資源集區。
圖10 管理探索準則。
圖11所示是「探索準則」設定頁面,在這裡可以依需求輸入多筆的領域設定,而這裡的每一筆領域設定,可以是輸入IP位址、FQDN或IP位址範圍,再搭配指定的SSH連接埠設定。接著,從「探索類型」選單中,進一步選擇探索的方式。
圖11 編輯探索準則設定。
最後,在「認證」區域的設定中,若要直接使用前面所預先建立好的執行身分認證,只要勾選「使用執行身分認證」設定即可,否則按下〔設定認證〕,臨時設定一組認證。
在「認證設定」頁面中,其實與前面所建立過的執行身分認證是一樣,只不過這裡的設定僅用於單次的探索配置,因此可以在此使用「SSH金鑰」或「使用者名稱和密碼」的方式來設定認證資訊。同樣地,若是選擇「此帳戶沒有特殊存取權限」的設定,則必須進一步在「提升權限」頁面中選擇要使用sudo或su的方式來提升權限。
在「電腦選取」頁面中,若在「探索結果」清單中有出現相關的電腦,並且在「動作」欄位中顯示「安裝代理程式並管理」訊息,即表示前面步驟的設定沒有問題,此時便可以勾選準備要進行代理程式安裝的電腦,最後按下〔管理〕按鈕。一旦成功完成代理程式的安裝,接下來在「電腦管理」頁面的「部署結果」中,便會在每一台電腦的「狀態」欄位中顯示「成功」訊息。
成功完成代理程式於Linux電腦的部署後,就可以在「系統管理」分類的「裝置管理」→「Unix/Linux電腦」節點頁面中,查看所有已安裝代理程式的Linux電腦清單,包括它們的健全狀況狀態、名稱、IP位址、SSH連接埠、代理程式版本以及監視者資訊。
對於往後的維護,還可以根據實際管理需要,對於選定的Linux電腦執行變更資源集區、升級代理程式、解除安裝代理程式或刪除等動作。
雖然SCOM 2025支援有代理程式(Agent-based)與無代理程式(Agentless)的管理方式,不過對於Linux主機的監視並不支援「無代理程式(Agentless)」模式。主要原因是Windows的無代理監控是透過WMI服務來獲取系統的效能計數器、事件日誌、服務狀態等資訊,但Linux缺乏對應的遠端原生協定來支援SCOM的完整健康狀態評估。
儘管對於Windows主機的監視可以採用Agentless模式,但為了獲取最完整的系統與應用程式事件與狀態細節,仍然建議採用Agent-based模式,除非是在資訊安全政策不允許的情境下再選擇Agentless模式。表1比較了這兩種模式的差異。
Linux代理程式故障排除
針對在前面介紹中所執行的「探索精靈」設定,若在執行「電腦管理」頁面的「部署結果」中出現「失敗」訊息,並且在開啟「詳細資料」頁面時,發現如圖12所示的「簽署憑證驗證作業失敗」訊息,就代表SCOM主機在連線此Linux電腦時,所解析到的名稱與主機名稱不符合所致,該如何解決呢?
圖12 Linux主機連線失敗。
首先,必須確認在內網的DNS配置中,已經正確建立此Linux電腦的正解與反解設定,並且能夠正確經由Ping與nslookup工具成功解析該主機名稱。接著,再登入到此Linux主機,完成以下命令步驟來重新生成憑證檔案即可解決。
1. 停止服務:sudo /opt/microsoft/scx/bin/tools/scxadmin -stop
2. 刪除舊SSL憑證:sudo rm /etc/opt/microsoft/scx/ssl/*.pem
3. 使用正確的FQDN重新生成SSL憑證:sudo /opt/microsoft/scx/bin/tools/scxsslconfig -f -h Jovi-Ubuntu.lab02.com
4. 啟動服務:sudo /opt/microsoft/scx/bin/tools/scxadmin -start
另外,若在SCOM管理介面中發現受管理的Linux電腦雖然顯示狀態良好,但平台與版本卻顯示「不明」的訊息,可以嘗試透過執行以下內建的Linux作業系統識別腳本來解決:
sudo /opt/microsoft/scx/bin/ tools/GetLinuxOS.sh
進一步,建議執行以下的命令參數,重啟代理程式以便重新向SCOM主機報告最新資訊:
sudo /opt/microsoft/scx/bin/ tools/scxadmin -restart
Email訂閱通知管理
一個失敗的監控系統,通常不是因為「沒警報」,而是因為「警報太多」。當管理者的信箱每天充斥著數千封無關緊要的通知時,真正的災難信號往往會被淹沒,這就是所謂的「告警疲勞」(Alert Fatigue)。
接下來,就來學習一下如何善用Email通知與訂閱功能,達到隨時隨地根據嚴重程度、時間區段與責任單位來精準投放告警訊息。
首先,開啟SCOM管理介面並點選至「系統管理」分類,再展開至「通知」→「通道」節點,然後按下滑鼠右鍵,並點選快速選單中的【新增通道】,便可以查看到目前所支援的訊息通知方式,包括電子郵件(SMTP)、立即訊息(IM)、Microsoft Teams、文字訊息(SMS)以及命令等五種,這裡以使用「電子郵件(SMTP)」為例做示範。
在開啟「電子郵件通知通道」的「描述」頁面中,為新的通道名稱命名並且輸入相關描述。在「設定」頁面中則點選「加入」,設定至少一筆的SMTP配置,其中在「驗證」設定部分,若所指定的SMTP主機已經設定好允許SCOM主機的IP能夠進行轉信(Mail Relay),其驗證方式便可以採用匿名而無須輸入帳號與密碼。接著,輸入寄件者地址以及重試的間隔時間,並按下〔下一步〕按鈕。
如圖13所示,在「格式」頁面中,可以自定義預設電子郵件通知的格式,包括主旨、內容、重要性以及編碼方式,其中在內容格式部分還可以決定是否要啟用HTML格式。在「編碼」部分,建議採用預設的「Unicode(UTF-8)」,才不會因為郵件內容中含有繁體中文字而無法正常顯示。
圖13 電子郵件格式設定。
成功完成上述設定後,將會出現「已順利儲存通道」的訊息。當再次回到「通道」節點頁面中,便可以查看到剛剛新增的SMTP通道設定,未來如果需要修改其設定,只要點選位於「工作」窗格中的「內容」。若要新增更多不同的通道連線設定,只要點選「新增」即可。
完成SMTP通道的建立後,緊接著點選至「通知」→「訂閱者」節點,再按下滑鼠右鍵並點選快速選單中的【新增訂閱者】,或點選位於「工作」窗格中的「新增」連結。接著,在「描述」頁面中,按下〔瀏覽〕按鈕來選擇訂閱者,再按下〔下一步〕按鈕繼續。
在「排程」頁面中可以選擇「一律傳送通知」或「只在指定時間傳送通知」。若選擇後者,可以進一步設定要傳送的排程日期範圍、時間範圍,例如設定為非假日的早上8:00至下午5:00。
在「地址」頁面中,如圖14所示,可以加入多筆的訂閱者地址,如此一來,這些人員後續就可以在前面所設定的排程時間中,接收到來自於SCOM主機所發送的警示通知,最後按下〔完成〕按鈕。
圖14 訂閱者地址管理。
完成SMTP通道與訂閱者的配置後,最後就可以新增所要訂閱的內容。在「通知」→「訂閱者」節點上按下滑鼠右鍵,然後點選快速選單中的【新增訂閱】。然後,在「描述」頁面中輸入訂閱名稱與描述,例如輸入「MRP網站警報通知」作為此訂閱的識別名稱。接著,在「範圍」頁面中,選擇要由特定群組或特定類別來設定警示範圍,在此以勾選「由特定類別的任何執行個體所產生」設定為例進行操作。
緊接著,在「類別搜尋」頁面中,如圖15所示,先從「管理組件」選擇已安裝的管理組件,在此選取「Microsoft Windows Server 2016 and 1709+ Internet Information Services 10」。在「可用類別」清單中,針對所要監視的範圍類別按下〔新增〕按鈕,本例僅選取「IIS 10網站」與「IIS 10應用程式集區」,然後按下〔確定〕按鈕。
圖15 類別搜尋與選擇。
接著,在「準則」頁面中根據實際的需要來設定多筆準則,在此僅設定一筆嚴重性等於重大時的準則設定。此設定配合上一個步驟的設定後,即表示僅針對所監視的IIS 10以上版本的網站或應用程式集區,發生重大警告事件時才會立即發送通知給後續選定的訂閱者,再按下〔下一步〕按鈕繼續。在「訂閱者」頁面中點選「加入」,如圖16所示,加入先前已建立的訂閱者。若想要增加全新的訂閱者,則點選「新增」。
圖16 訂閱者管理。
在「通道」頁面中點選「加入」,加入先前已建立的SMTP通道。若想要增加全新的通道設定,則點選「新增」。在「警示過時」區域中,則決定是否要讓傳送的通知延遲,然後按下〔下一步〕按鈕。接著,在「摘要」頁面中確認上述步驟設定,若無誤便按下〔完成〕按鈕。
回到「通知」→「訂用帳戶」頁面中,便可以查看到剛剛所建立的訂閱。可以隨時在此針對選定的訂閱,點選「工作」窗格內的「內容」進行修改。若暫時不要使用某一個訂閱設定,也可以在此點選「停用」。
檢視報表
即時的警報機制可以讓IT人員在第一時間察覺問題,並且透過相關的知識庫來協助進行故障排除。至於「報表」功能,則有利於IT部門分析整體的運行狀況,進而找出可能潛在的安全或效能問題。因此,定期每個月透過SCOM報表功能來檢視IT整體營運的健康狀態,肯定是必要的維運任務。
在首次開始使用報表功能前,由於此功能是整合報表伺服器,因此最好先檢查報表伺服器是否在正常運行中。先開啟「Reporting Services組態管理員」介面,然後點選至「入口網站URL」頁面,如圖17所示,確認已經正確設定虛擬目錄與URL。
圖17 報表服務組態管理員。
接著,透過網頁瀏覽器開啟上一個步驟中所設定的URL,檢查報表入口網站是否能夠正常顯示(圖18)。
圖18 SQL報表服務入口網站。
完成上述的檢查後,就可以在SCOM的管理介面中點選至「報表」,並開啟所要檢視的報表。在此以「Web應用程式可用性」報表為例,如圖19所示,開啟後可以設定所要檢視的報表內容與時間範圍等條件。
圖19 Web應用程式可用性報表設定。
圖20所示便是Web應用程式可用性報表上半部的結果範例,其中就包含網站運作時間的百分比與時間長度,以及停機時間的百分比與時間長度的數據。
圖20 可用性報表。
緊接著是統計圖的部分。如圖21所示,可以透過不同的顏色來識別運作時間與可用性中的各項狀態。
圖21 可用性時間詳細資料。
除了立即手動產生報表外,在報表的「工作」窗格中,如圖22所示,還有一個「排程」功能設定,其實它主要就是用於建立報表訂閱,讓系統能夠自動依據設定的時間處理並分發報表,包括可設定為每日、每週或每月定期執行,例如設定每個月的第一天、僅限工作日發送,或設定特定的開始與結束日期。
圖22 選定報表並設定排程。
另外,報表產生後發送的位置,可以選擇「報表伺服器電子郵件」或「Windows檔案共用」,如果選擇前者,那麼將可以指定收件者的Email地址,讓選定的人員能夠定期收到最新報表通知。
報表故障排除
當SCOM的管理組件已成功部署,以及報表服務有正確設定與啟用,是否就表示報表功能可以正常使用呢?那可不一定,因為若是在「作用中警示」頁面中出現如圖23所示的31567的事件識別碼,可能就無法檢視到任何報表的內容,該如何解決呢?
圖23 作用中警示。
首先上述事件的主要發生原因是,現行的SQL Server Reporting Services執行個體不允許上傳一些管理組件所提供的報表相關檔案,此時便需要打開SQL Server管理工具,如圖24所示,開啟並登入Reporting Services的執行個體。
圖24 連線SQL Server管理工具。
成功登入Reporting Services執行個體後,在伺服器節點上按下滑鼠右鍵,並點選快速選單中的【屬性】,開啟至「進階」頁面,然後如圖25所示找到「AllowedResourceExtensionsForUpload」欄位,來添加所有允許上傳的副檔名設定。若覺得這樣的設定方式太過麻煩,也可以直接輸入「*.*」。
圖25 SQL報表服務進階設定。
只要成功完成上述設定,並且重新啟動Reporting Services執行個體的服務,短短幾分鐘內應該就會發現在事件檢視器中出現如圖26所示的31568的事件,至此已經可以正常地檢視報表內容。
圖26 報表元件成功部署。
<本文作者:顧武雄,Microsoft MVP 2004-2016、MCITP與MCTS認證專家、台灣微軟Technet、TechDays、Webcast、MVA特約資深顧問講師、VMware vExpert 2016-217、IBM Unified Communications/Notes/Domino/Connections Certified。>