MENU

配置http dstat實時顯示layer7和layer4的流量

昨日google尋找使用c實現的cc腳本,找了很長時間也沒找到,然後找到了layer7的實時狀態統計的配置方法,今天搜來搜去也找到了layer4的配置方法,文件很老,修改了壹下午,最後終於可以使用了.

準備

首先虛擬主機的可以不用看了,至少需要shell權限和php配置文件權限.
文件下載:dstat.zip

layer4

首先使用 find /sys/ -name rx_bytes搜索網卡下載流量文件,這個文件在很久以前是固定目錄的,但後來目錄改變了
搜索到之後打開下載的dstat.zip裏的data/layer4.php,修改第8行和第10行,將/sys/devices/pci0000:00/0000:00:03.0/net/enp0s3/statistics/rx_bytes替換為妳搜索到的實際路徑
php需要開啟shell_exec函數的支持,可以嘗試file和file_get_content,如果這兩個函數能正常讀取網卡下載文件的話可以將shell_exec替換掉.
然後修改壹下layer4.html裏面js路徑就可以了

layer7

apache的用戶就不要看了,我沒辦法(apache沒有人權).

layer7需要nginx的stub_status模塊支持,此模塊編譯時默認忽略,如需啟用需要在編譯時加入--with-http_stub_status_module
編譯方法請看上壹篇博文,另外bt-panel的nginx自帶此模塊

在nginx的主機配置文件裏加入以下配置並重載

location ~ /tools/nginx_status{
    stub_status  on;
    access_log    off;
}

然後修改layer7.html裏第24行的路徑

流量墻說明

layer7可以當流量墻用,但是layer4不可以
layer4當流量墻只會出現下面幾種情況

  1. 死了(伺服器宕機,沒辦法看)
  2. 達到伺服器最大頻寬(只能看到伺服器最大頻寬)
  3. 清洗(ddos流量全部被清洗,只能看到正常的流量)