2010年12月3日 星期五

Apache 資源監控 & 看誰在浪費 CPU 資源

http://httpd.apache.org/docs/2.0/images/feather.gif


Apache 資源監控 & 看誰在浪費 CPU 資源

Apache 有個功能可以看到目前的主機狀態, 需要主機開啟 httpd.conf 中  "server-status"的設定, 例如:

LoadModule status_module modules/mod_status.so

<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from .foo.com
</Location>
ExtendedStatus On

需注意 "ExtendedStatus" 需設定為 On 才會顯示詳細資訊, 另外 mod_status.so 也需要載入否則 Apache 也不會顯示任何資訊,畢竟開啟這個功能將會呈現一些較隱私的內容,建議在 <Location /server-status> 的地方改成您特定的名稱(如<Location /MyXjdi42344-103d4>)並設定 Allow from 的 IP 或網域, 做好安全措施。

不過 Apache 老大的官方網站倒是大大方方的開放這些資訊給您參考,您可以隨時查看 Apache.org官方網站的系統資源狀態: http://www.apache.org/server-status

apache-top

安裝好了 Apacheserver-status 需要利用網頁模式才能查看系統資源....對於辛苦的小工們真的很不方便, 所以就有人利用 py 寫了一個類似 top指令的工具「Apache top


apache-top 是一個由 python 語言撰寫在 Unix/Linux 上的單一執行檔,使用方式很簡單:

  • 1) 在官方網站下載 apache-top.py 檔案
  • 2) 將 apache-top.py 更改權限為可執行檔, chmod +x apache-top.py
  • 3) 安裝好執行下列指令就可以了:

    #apache-top -u http://192.168.0.1/server-status





















    使用方法: apache-top -u url
       
        Example: apache-top.py -u http://www.domain.com/server-status

    功能控制鍵:
        q    Exit
        P    Sort by PID
        C    Sort by CPU usage
        S    Sort by Seconds since beginning of most recent request
        V    Sort by VirtualHost
        M    Sort by Mopde of operation
        R    Sort by Request
        I     Sort by Ip
        a    Switch between show all processes and show only active processes (default)
        r     Reverse sort

    沒有留言: