先對齊中斷而不是先怪夜班
通訊中斷只在夜班發生,先把日期、時間與當時系統活動列在同一張表。夜間可能有備份、報表、資料清理、更新或網路維護,也可能是產品、溫度與負載不同。班別是線索,不能直接當成操作錯誤或排程已確診。
保存中斷起訖、受影響站點、最後成功請求、第一筆錯誤、恢復方式及來源時間。再收集工控電腦、伺服器、交換器和應用程式記錄。若只留HMI紅色圖示,通常無法分辨網路斷線、伺服器忙碌、回應逾時或資料更新停止。
先確認時区和對時。某台設備記UTC,另一台記本地時間,差八小時不代表兩個不同事件;夏令時間或校時跳變也可能影響固定排程。原始時間保留,另外加正規化時間與時鐘限制,不直接改寫原日誌。
本文以Windows工控主機上的夜間工作作案例,但排程也可能在備份伺服器、網路設備或雲端管理系統。先盤點實際架構,不假定所有工作都能在同一台電腦的工作排程器找到,也不要求停用任何保護或備份機制。
盤點排程與真正執行時間
將每個候選工作列出名稱、擁有者、預定時間、實際開始、結束、觸發條件與資源需求。預定兩點執行不代表真的兩點開始;工作可能等到閒置、重試、登入、網路可用或前一工作結束後才執行。要用實際日誌建立關聯。
Windows可查看工作排程器的歷程,以及事件檢視器中Microsoft、Windows、TaskScheduler的Operational記錄;介面與可用項目依版本及政策而異。若歷程未啟用,不能把沒有事件當成沒有執行,先記下蒐證缺口,再依管理程序補足紀錄。
假設每天02:00啟動備份,02:01:20開始出現通訊逾時,02:08備份結束,02:08:10恢復。這組時間一致可提升備份相關的排查優先,但仍須看CPU、磁碟、網路及應用佇列,才能知道是否有可支持的作用路徑。
另一個案例是排程標示成功,但它啟動的子程序仍在背景執行。工作結束時間未必代表實際資源使用已停止,應比對程序生命週期、備份軟體或資料庫自己的記錄。只看最後執行結果為零,不能證明通訊沒有受到影響。
也要記錄沒有中斷的夜晚。如果備份每天都有、但只有週日中斷,可能還有每週資料清理或更大資料量共同作用。比較正常夜晚能避免把每天都存在的工作錯當成唯一原因。
另外盤點備份保留期、每週全量與每日增量的差異,因為同名工作在不同日期的資料量可能不同。把處理量與執行時間並列,才能看出固定排程逐漸拖長的情況。
找到排程影響通訊的路徑
CPU忙碌可能延後通訊執行,磁碟長時間等待可能阻塞日誌或資料庫,網路大量傳輸可能造成佇列與丟包,資料庫鎖可能讓應用停在查詢。這些情況都可能表現為逾時,但需要不同證據;不要只看主機平均CPU不高就排除資源問題。
測量與通訊使用相同時間窗口,保存請求起訖、回應時間、逾時數及候選資源指標。假設正常回應20 ms,工作期間升至800 ms,而應用逾時500 ms,便能解釋部分逾時;但仍要核對這些數字是否來自同一站點、請求型別與量測位置。
平均值會掩蓋尖峰。每分鐘平均回應30 ms,仍可能有少數一秒的等待。至少保留事件附近的明細、最大值或適當分位數及樣本數;若採樣過慢,標示無法排除短暫壅塞,不把缺少尖峰當成證明。
確認受影響範圍。只有一個應用逾時而其他連線正常,先看該應用與後端;多站同時失聯,查共用主機、交換器、閘道與電源。Ping成功只能支持特定時刻的IP可達,不代表工業協定服務能在要求時間內處理。
錯誤文字也要保留。連線被重置、名稱解析失敗、應用回應慢與資料品質過期,並非同一故障。將它們與排程操作對照,可以區分服務重啟、網路異常與單純負載上升。
用核准的對照確認候選
在維護窗口經擁有者同意後,可比較原排程與調整後的執行時間或資源限制,每次只改一個條件。不要自行關閉備份、防護、更新或稽核來證明「關掉就沒事」;任何變更需保留回復、監看與原服務目標。
若將候選工作移到03:00,中斷也從02:01移到03:01,支持該工作相關,但仍需追到資源或服務證據。若中斷仍在02:01,則回查其他固定因素。安排測試時保持生產負載可比較,避免同時降低線速而讓結論失真。
驗收至少涵蓋一般夜晚、週期性大型工作與恢復。確認通訊指標滿足需求,備份或更新本身也正常完成;不能以犧牲必要維運工作換得漂亮通訊曲線。若只觀察一晚,結論應限於該晚條件,不宣稱永久修復。
交付記錄包含事件時間線、排程清單、資源證據、變更版本、回復方法與未覆蓋條件。本例的時間與延遲數字用於說明判讀方法,現場應代入實際排程與量測紀錄。
恢復策略也要測。讀取請求逾時可按規格重讀,但寫入動作逾時不代表設備沒有執行,不能因夜間忙碌就盲目連續重送。保存請求識別、已知回應與設備狀態,依協定或應用提供的確認機制處理未知結果。通訊恢復後先重新取得有效狀態,再恢復正常作業。
練習與常見問題
練習:備份每天02:00執行,通訊每週一03:00中斷,兩者是否已證明相關?還不夠,先查實際執行起訖、週期工作、時區與週一資料量,再建立對照。不能只因都在夜間就認定同一原因。
FAQ1:沒有排程歷程就代表沒執行嗎?不代表,可能未開紀錄或工作在其他系統,需記錄缺口並補查。
FAQ2:Ping正常能排除通訊問題嗎?不能,應用服務與工業請求仍可能延遲或失敗。
FAQ3:提高逾時就算修好了嗎?可能只延後報錯,還要查延遲來源與製程允許時間。
FAQ4:能先停掉所有夜間工作嗎?不應無差別停用,依維護程序選一個候選做可回復對照。
參考:Microsoft:工作歷程與TaskScheduler Operational日誌。