Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Apache 核心監控模組 mod_status 與 mod_info 完整配置指南

編輯:Linux 教學

為什麼需要即時監控?

傳統日誌分析滯後性強,運維人員需要「當下」發生什麼:誰在訪問、多少工作進程忙碌/空閒、CPU/流量佔用、請求處理耗時。mod_status 與 mod_info 正是為此而生的輕量級內建儀表盤。

mod_status:即時服務器狀態儀表盤

功能特性

  • 顯示每個工作進程/線程狀態(等待連接、讀取請求、發送回應、保持連接、DNS 查詢、日誌記錄、優雅重啟等)。
  • 聚合統計:總訪問量、位元組傳輸、CPU 使用率、每秒請求數、平均請求處理時間。
  • 啟用 ExtendedStatus On 後,提供每個進程的 PID、請求數、處理中請求詳情、客戶端 IP、請求行、虛擬主機名。

快速啟用配置

<Location /server-status>
    SetHandler server-status
    Require ip 192.168.1.0/24  # 僅允許內網管理 IP
    # Apache 2.4+ 語法;2.2 使用 Order Allow,Deny / Allow from ...
</Location>

# 可選:開啟詳細狀態
ExtendedStatus On

訪問 https://your-server/server-status 即可查看。建議配合 ?auto 參數輸出機器可解析格式,接入 Prometheus/Grafana/Nagios/Zabbix 等監控體系。

狀態碼速查表

符號含義
_等待連接(空閒)
S啟動中
R讀取請求
W發送回應
K保持連接
DDNS 查詢
C關閉連接
L日誌記錄
G優雅完成
.尚未啟動的潛在進程槽位

mod_info:服務器配置與模組百科全書

適用場景

  • 多台服務器配置一致性核對。
  • 排查「為什麼這個指令不生效」——確認模組是否加載、指令上下文是否正確。
  • 審計編譯選項、MPM 類型、共享物件依賴、授權提供者等。

啟用配置

<Location /server-info>
    SetHandler server-info
    Require ip 10.0.0.0/8
</Location>

# 確保模組已加載(通常預編譯或 DSO)
# LoadModule info_module modules/mod_info.so

訪問 https://your-server/server-info 可見:

  • 所有已加載模組及其指令定義、配置文件行號。
  • 服務器編譯參數、MPM 參數、環境變量、配置文件樹。
  • 點擊模組名可查看該模組所有指令的當前值與默認值對比。

安全加固必做項

  1. 嚴格訪問控制:僅綁定管理網段、VPN 入口或本地回環,禁止公網直連。
  2. 禁用 ExtendedStatus 生產環境非必要時:額外內存/CPU 開銷,且洩露請求細節(URL、參數、Cookie)。
  3. 反向代理前置:在 Nginx/HAProxy 層做認證、速率限制、IP 白名單,再轉發至 Apache 內部端口。
  4. 定期清理/輪轉:若啟用 StatusFile 持久化,需配置 logrotate 防止磁盤佔滿。

總結

mod_status 是「儀表盤」,關注運行時健康度;mod_info 是「說明書」,關注配置真相。兩者結合,構成 Apache 可觀測性的基石。善用它們,讓故障排查從「盲人摸象」變為「指尖可見」。

Copyright © Windows教程網 All Rights Reserved