MailVSR MailVSR 三分鐘搞定你的企業網站

系統監視器

系統監視器把常用的系統指令輸出直接呈現在頁面上,讓您不必登入終端機就能即時掌握閘道器的運作狀況。MailVSR-GW 是站在郵件伺服器前方的閘道器,負責過濾、記錄、灰名單與轉送,因此這一頁最有價值的用途是:確認代理與過濾鏈上的程序是否健在、以及與後端伺服器之間的連線是否正常。

當服務回應變慢、負載異常升高,或需要確認某個程序是否還在跑、某個埠是否被佔用時,這一頁提供最直接的證據。它同時提供對異常程序送出終止訊號的功能。

什麼時候會用到這一頁:

  • 郵件處理變慢,想知道是哪個程序吃掉 CPU 或記憶體
  • 某個服務(郵件、過濾、防毒、目錄服務)明明有問題,卻不確定它「到底還在不在」
  • 某個埠被佔用,導致服務起不來
  • 想知道目前有哪些網路連線(誰連進來、連到哪裡、有沒有連到後端)
  • 需要看目前實際套用的防火牆規則(而不只是設定畫面)
  • 要確認磁碟健康狀態(SMART)或硬體規格
  • 需要強制結束一個卡住、無法正常停止的程序

分頁與更新頻率

畫面上方的頁籤由左至右為:top、ps、netstat、ifconfig、iftop、disk、iotop、hwlist、firewall、about。

只有目前開啟的分頁會持續更新,其他分頁不會在背景耗用資源——這是刻意的設計,避免這一頁本身成為負擔。

分頁 顯示內容 更新頻率
top 即時程序與資源使用狀況 約 3 秒
ps 完整程序清單 約 5 秒
netstat 網路連線與監聽埠 約 5 秒
ifconfig 網路介面設定 約 5 秒
iftop 即時網路流量 約 12 秒(每次取樣 5 秒)
disk 磁碟使用量與健康狀態 約 30 秒
iotop 磁碟 I/O 即時統計 約 12 秒(每次取樣 6 秒)
hwlist 硬體與核心模組清單 約 30 秒
firewall 目前套用的防火牆規則 約 5 秒
about 本頁功能說明 靜態,不更新

iftop 與 iotop 需要先取樣才能算出流量,剛切過去時會顯示「樣本採集中…」,請稍候數秒。進入本頁時系統會在約 1 秒後先在背景取樣一次,因此正常情況下切過去就能直接看到結果。

disk 與 hwlist 的內容變動不大,更新間隔較長(30 秒),這是刻意的設計,不是當掉。

⚠️ 某個分頁顯示「not available」時:代表這台機器上沒有安裝該工具(例如 iftop、iotop、lshw),此時該分頁會直接顯示 iftop: command not available 之類的訊息。這是「沒裝這個工具」,不是系統故障,也不影響其他分頁。

各分頁逐一說明

top:整體負載與即時程序

對應指令為 top 的單次快照(批次模式),是「誰把機器吃滿」的第一站。

上半部要看的四個地方:

  • load average(系統負載):三個數字分別是最近 1 分鐘/5 分鐘/15 分鐘的平均負載。判讀方式是與 CPU 核心數比較——例如 4 核心的機器,負載長期高於 4 就代表工作量已超出處理能力;短暫衝高但 15 分鐘的值正常,通常只是瞬間尖峰
  • Tasks:程序總數,以及 running/sleeping/stopped/zombie 各有多少。zombie 數量持續增加代表有程序的子程序沒有被回收,值得追查
  • %Cpu(s):us=使用者程序、sy=系統核心、wa=等待磁碟 I/O、id=閒置。wa 偏高(例如超過 20%)通常代表磁碟是瓶頸,這時請接著看 iotop
  • MiB Mem / MiB Swap:實體記憶體與置換空間的總量、已用、可用。Swap 使用量持續增加代表實體記憶體不足

下半部程序清單的欄位:PID(Kill 時要用的編號)、USER(執行者)、PR/NI(優先權)、VIRT/RES/SHR(記憶體)、S(狀態:R 執行中、S 睡眠、D 等待 I/O、Z 殭屍)、%CPU/%MEM、TIME+(累計 CPU 時間)、COMMAND(程序名稱)。

ps:完整程序清單

對應指令為 ps auxww。與 top 的差別在於:top 像即時排行榜,ps 則是這一刻所有程序的完整清單,而且命令列不會被截斷。

適合回答「某個程序到底有沒有在跑」——例如確認郵件服務、過濾管線、防毒引擎、目錄服務是否活著,就在 ps 分頁用瀏覽器搜尋(Ctrl+F)該名稱。閘道器上常見的關鍵字:postfix/master、clamd、spamd、slapd、named、postgrey、gwauth。

主要欄位:USER、PID、%CPU、%MEM、VSZ、RSS、TTY、STAT、START、TIME、COMMAND。

STAT 常見值:S 睡眠、R 執行中、D 等待 I/O、Z 殭屍、T 已停止;後面若帶 < 高優先權、N 低優先權、l 多執行緒、s 為 session 領導者。看到 D 狀態的程序很多,通常代表磁碟或網路儲存有問題。

netstat:連線與監聽埠

對應指令為 netstat -tun——t 是 TCP、u 是 UDP、n 表示以數字顯示(不反查 DNS 與服務名稱)。

欄位:Proto、Recv-Q/Send-Q(佇列,持續不為 0 代表來不及處理)、Local Address(本機位址與埠,0.0.0.0:25 代表所有介面都在聽)、Foreign Address(對方位址)、State。

State 常見值:

  • LISTEN:正在等待連線(服務有正常起來)
  • ESTABLISHED:已建立、正在傳輸
  • TIME_WAIT:連線已結束、等待回收。數量很多是正常的(大量短連線的必然結果),但異常暴增可能代表連線被大量建立又中斷
  • SYN_SENT:已送出連線要求、等待對方回應。大量 SYN_SENT 通常代表對外連線有問題——在閘道器上這往往意味著連不到後端伺服器

最常用的兩個時機:①確認服務有沒有正常監聽(郵件常用 25/465/587、POP/IMAP 110/143/993、DNS 53、LDAP 389/636);②找出佔用某個埠的程序,再回 ps 用 PID 確認。

ifconfig:網路介面設定

對應指令為 ifconfig -a(含目前未啟用的介面)。

常見介面:對外(WAN)、對內(LAN)、lo(本機迴路)與虛擬介面。欄位:inet(IPv4)、netmask、broadcast、inet6、ether(MAC)、UP/RUNNING、以及 RX packets/TX packets/errors/dropped。

判讀重點:介面顯示 UP 但沒有 RUNNING,通常代表網路線沒接或對端沒通;errors/dropped 持續增加代表線路或網卡有問題。要確認「對外/對內 IP 是否正確」時來這一頁對照(設定畫面在(網路設定 / WAN界面設定)與(網路設定 / LAN界面設定))。

iftop:即時網路流量

對應指令為 iftop,固定監看對外介面 eth0,取樣 5 秒。它回答「現在是誰把頻寬吃掉了」。

每列是一組對談,中間的箭頭代表方向:=> 從本機送出、<= 從對方接收。右側三個數字是不同時間尺度的平均速率(2 秒、10 秒、40 秒),最後一欄是累計量。判讀時要看 40 秒的平均值,只看 2 秒會被瞬間波動誤導。

在閘道器上特別有用:若流量集中在與後端伺服器之間的位址,代表郵件正在大量轉送(正常);若集中在陌生的外部位址,就要查是什麼程序在對外傳輸。

未安裝此工具時分頁會顯示 iftop: command not available。

disk:磁碟使用量與健康狀態

包含三個區塊:

  1. 使用量(df -h):每個掛載點的檔案系統、總容量、已用、可用、使用率與掛載位置。空間不足是郵件系統最常見的故障之一——閘道器的日誌與郵件暫存都在本機,請特別注意
  2. 裝置(fdisk -l):實際存在的實體磁碟裝置與容量,用來確認硬碟有沒有被正確辨識
  3. 磁碟健康(smartctl):對每顆實體硬碟讀取 SMART 資訊(型號、序號、溫度與健康屬性)。這是預測硬碟故障的關鍵資訊;虛擬機器的虛擬碟可能沒有 SMART 資料,此時該區塊會是空的或顯示工具不存在,屬正常現象
iotop:磁碟 I/O 即時統計

對應指令為 iotop(批次模式、以 KB 為單位、取樣 2 次 × 3 秒),用來回答「是哪個程序在大量讀寫磁碟」。硬碟指示燈長亮、系統反應變慢、top 的 wa 偏高時,就來這一頁。

欄位:TID、PRIO、USER、DISK READ/DISK WRITE、SWAPIN、IO>(等待 I/O 的時間比例)、COMMAND。

判讀重點:IO> 高的程序就是瓶頸來源。若排行前面都是郵件或防毒相關程序,通常代表正在處理大量郵件(正常);若是預期外的程序,記下 TID 再到 ps 確認。未安裝時顯示 iotop: command not available。

hwlist:硬體與核心模組清單

包含兩個區塊:

  1. 硬體清單(lshw -short):以簡表列出系統、主機板、CPU、記憶體、磁碟、網路卡。回報規格或評估擴充時使用
  2. 模組清單(lsmod):目前已載入的核心模組(Module/Size/Used by)。出現非預期的模組時可在此察覺;Used by 為 0 表示該模組目前沒有被使用(可能是 lshw 未安裝而顯示 (lshw not available),但模組清單仍會正常顯示)
firewall:目前實際套用的規則

對應指令為 nft list ruleset,也就是核心目前真正生效的 nftables 規則,不是設定畫面裡的內容。排版是階層式的:table(表)→ chain(鏈)→ rule(規則)。

一條規則通常長這樣:

ip saddr 203.0.113.8 tcp dport 25 drop

意思是「來源 IP 為 203.0.113.8、目的埠 25 的 TCP 連線,丟棄」。

最常用的時機:在「防火牆設定」改了規則、卻覺得沒生效時,用這一頁對照最準。若這裡看不到您剛加的規則,代表設定沒有真的套用。 這一頁也會看到連線記錄功能所產生的日誌規則((系統日誌 / 連線記錄))——若您開啟了連線記錄,這裡應該看得到對應的規則。

about:本頁說明

靜態的說明頁,列出本頁提供哪些指令輸出,不會更新。

讀取失敗時顯示的訊息

分頁 失敗訊息
top 無法取得 top 資料
ps 無法取得 ps 資料
netstat 無法取得 netstat 資料
ifconfig 無法取得 ifconfig 資料
firewall 無法取得防火牆規則
iftop 無法取得 iftop 資料
iotop 無法取得 iotop 資料
disk 無法取得磁碟資訊
hwlist 無法取得硬體清單

看到這類訊息通常代表該指令在機器上無法執行或權限異常,請改看(系統日誌 / 主機日誌)找原因。另外 iftop/iotop/lshw 若顯示「command not available」或「not available」,代表該工具未安裝,不是系統故障。

終止程序(Kill)

top 與 ps 兩個分頁的上方有「PID:」欄位與「Kill」按鈕,用來強制結束卡住的程序。

  1. 在「輸入一個或多個 PID」欄位填入要終止的 PID(多個以空白、逗號或換行分隔,例如 1234 5678)
  2. 按「Kill」
  3. 成功時顯示「已對 PID :pids 送出 kill 訊號」;失敗時顯示「Kill 失敗::msg」

系統有兩層保護:

  • 格式檢查:每個 PID 都必須是正整數,格式不對會直接拒絕(不送出任何訊號)
  • 不可終止 PID 1:PID 1 是系統的 init 程序,送出時會被拒絕

送出的是預設的終止訊號(不是強制殺除),因此程序不一定會立刻消失——有些需要幾秒收尾,有些會忽略訊號。若 Kill 後程序仍在,請確認 PID 是否正確,或改由對應的服務管理頁面重啟該服務。

這個動作會寫入操作日誌(記錄為 KILL PID:...),可在(系統日誌 / 操作日誌)查到「誰在什麼時候終止了哪些程序」。

與系統儀表板的差別

  • 系統儀表板:圖形化總覽,包含 CPU、記憶體與磁碟使用率、系統服務燈號與流量負載圖,適合每天開起來快速看一眼整體狀況
  • 系統監視器:原始指令輸出,資訊更細且更貼近底層,包含完整程序清單、連線明細、網路介面、防火牆規則、磁碟健康與硬體清單,並可終止程序,適合追查特定問題
  • 一句話區分:需要「一眼看出哪裡不對」時用儀表板;需要「看到原始資料並採取動作」時用系統監視器

常見情境與判讀

  • 「郵件處理變慢」:top 先看 wa 與 load average 判斷是 CPU 還是 I/O → 若 wa 高,切 iotop 找大量讀寫的程序 → 再用 disk 確認是不是空間快滿
  • 「服務起不來」:netstat 看該埠是不是已被其他程序佔用 → 若是,ps 找出佔用的程序與 PID → 必要時用 Kill 結束它(並確認該程序不是系統關鍵服務)
  • 「信一直卡住」:ps 確認郵件與過濾相關程序是否還在 → netstat 看連到後端的連線是否 ESTABLISHED(若大量 SYN_SENT,代表連不到後端)→ 搭配(系統日誌 / SMTP日誌)與(郵件閘道 / 儲列管理)
  • 「閘道與後端斷了」:netstat 看與後端伺服器位址之間的連線狀態;ifconfig 確認介面 RUNNING;搭配(網路設定 / 網路測試工具)測試連通性
  • 「懷疑硬碟要壞了」:disk 的磁碟健康區塊看 SMART 屬性 → 同時 df -h 確認空間 → 有異常請及早備份並更換
  • 「改過防火牆設定,想確認有沒有生效」:firewall 分頁對照實際規則;看不到剛加的規則時回到(防火牆設定 / 手動防禦設定)重做
  • 「被大量連線攻擊」:netstat 看 ESTABLISHED/SYN_SENT 的數量與來源;搭配(系統日誌 / 連線記錄)與(系統日誌 / 阻斷記錄)確認
  • 「要強制停掉卡住的程序」:先 ps 確認該 PID 對應的完整命令列確實是您要停的目標,再 Kill

注意事項

  • Kill 是立即且無法復原的動作,誤殺系統程序可能造成服務中斷(例如誤殺郵件或目錄服務程序)。送出前請先在 ps 確認 PID 對應的程序確實異常
  • 頁面上的程序清單與連線明細會隨時間變動,看到可疑項目時建議搭配(系統日誌 / 主機日誌)與(系統日誌 / 操作日誌)交叉確認,避免只憑一瞬間的畫面下判斷
  • 這一頁只讀取系統狀態,不會變更任何設定;唯一的例外是 Kill 動作
  • 本頁顯示的是「當下這一刻」的狀態,沒有歷史記錄;需要事後回溯請使用(系統日誌 / 主機日誌)
  • iftop 與 iotop 的數字是取樣估計值,短時間的起伏屬正常現象,請觀察一段時間的趨勢再判斷
  • disk 與 hwlist 的更新較慢(30 秒),剛切換過去時看到的可能是數十秒前的資料,這是正常現象
  • 工具未安裝(not available)與讀取失敗(「無法取得…資料」)是兩種不同的狀況:前者是這台機器沒有該工具,後者是工具在但執行失敗