1. 程式人生 > >網站流量、連接數等監控

網站流量、連接數等監控

實時監控 主機名 監控 nginx服務 -s 統計 圖形 查看連接數 cati

一、NGINX查看並發連接

1.通過WEB界面查看,

  ①開啟status模塊,即安裝Nginx時加上 --with-http_stub_status_module

  ②修改Nginx.conf,在server節加入如下內容

location /Nginxstatus {
   stub_status on;
   access_log /usr/local/nginx/logs/status.log;    #日誌
   auth_basic "NginxStatus";            
}
 
#access_log、auth_basic均可不寫

  ③重新加載Nginx服務,然後通過瀏覽器訪問http://你的域名/Nginxstatus

  狀態說明:

  Active connections //當前 Nginx 正處理的活動連接數.

  server accepts handledrequests //總共處理了387142個連接,成功創建387142次握手,總共處理了4804888個請求.

  Reading //nginx 讀取到客戶端的 Header 信息數.

  Writing //nginx 返回給客戶端的 Header 信息數.

  Waiting //開啟 keep-alive 的情況下,這個值等於active-(reading+writing),意思就是Nginx已經處理完正在等候下一次請求指令的駐留連接.

2.通過

[root@localhost ~]# netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

  狀態說明:

  LAST_ACK //等待所有分組死掉

  SYN_RECV //一個連接請求已經到達,等待確認

  ESTABLISHED //正常數據傳輸狀態/當前並發連接數

  FIN_WAIT2 //另一邊已同意釋放

  ITMED_WAIT //等待所有分組死掉

  CLOSING //兩邊同時嘗試關閉

  TIME_WAIT //另一邊已初始化一個釋放

  參考:https://www.cnblogs.com/lianzhilei/p/6025267.html

二、netstat查看連接數,並發數

[root@localhost ~]# netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}‘

  狀態說明:

  -a 顯示所有連接和偵聽端口。//常用
  -b 顯示在創建每個連接或偵聽端口時涉及的可執行程序。//常用
      在某些情況下,已知可執行程序承載多個獨立的
       組件,這些情況下,顯示創建連接或偵聽端口時涉
      及的組件序列。此情況下,可執行程序的名稱
      位於底部[]中,它調用的組件位於頂部,直至達
      到 TCP/IP。註意,此選項可能很耗時,並且在您沒有
      足夠權限時可能失敗。
  -e 顯示以太網統計。此選項可以與 -s 選項結合使用。//常用
  -f 顯示外部地址的完全限定域名(FQDN)。//沒用
  -n 以數字形式顯示地址和端口號。 //常用
  -o 顯示擁有的與每個連接關聯的進程 ID。//沒用
  -p proto 顯示 proto 指定的協議的連接;proto 可以是下列任
 何一個: TCP、UDP、TCPv6 或 UDPv6。
  如果與 -s 選項一起用來顯示每個協議的統計,proto 可以是下列任
 何一個: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP
 或 UDPv6。
  -r 顯示路由表。//常用
  -s 顯示每個協議的統計。默認情況下,顯示 //有用
 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6
 的統計;-p 選項可用於指定默認的子網。
  -t 顯示當前連接卸載狀態。 //沒用

  interval 重新顯示選定的統計,各個顯示間暫停的間隔秒數。
  按 CTRL+C 停止重新顯示統計。如果省略,則 netstat
  將打印當前的配置信息一次。

三、netstat 實時監控IP連接數

  如果服務器被流量攻擊,或其它需要查看IP連接數的場景,可以使用下面的命令實時監控各IP的連接數。

[root@localhost ~]# netstat -ntu | awk ‘{print $5}‘ | cut -d: -f1 | sort | uniq -c | sort -n

四、iftop流量監控

1、iftop界面相關說明

界面上面顯示的是類似刻度尺的刻度範圍,為顯示流量圖形的長條作標尺用的。

中間的<= =>這兩個左右箭頭,表示的是流量的方向。

TX:發送流量
RX:接收流量
TOTAL:總流量
Cumm:運行iftop到目前時間的總流量
peak:流量峰值
rates:分別表示過去 2s 10s 40s 的平均流量

2、iftop相關參數

常用的參數

-i設定監測的網卡,如:# iftop -i eth1

-B 以bytes為單位顯示流量(默認是bits),如:# iftop -B

-n使host信息默認直接都顯示IP,如:# iftop -n

-N使端口信息默認直接都顯示端口號,如: # iftop -N

-F顯示特定網段的進出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0

-h(display this message),幫助,顯示參數信息

-p使用這個參數後,中間的列表顯示的本地主機信息,出現了本機以外的IP信息;

-b使流量圖形條默認就顯示;

-f這個暫時還不太會用,過濾計算包用的;

-P使host信息及端口信息默認就都顯示;

-m設置界面最上邊的刻度的最大值,刻度分五個大段顯示,例:# iftop -m 100M

進入iftop畫面後的一些操作命令(註意大小寫)

按h切換是否顯示幫助;

按n切換顯示本機的IP或主機名;

按s切換是否顯示本機的host信息;

按d切換是否顯示遠端目標主機的host信息;

按t切換顯示格式為2行/1行/只顯示發送流量/只顯示接收流量;

按N切換顯示端口號或端口服務名稱;

按S切換是否顯示本機的端口信息;

按D切換是否顯示遠端目標主機的端口信息;

按p切換是否顯示端口信息;

按P切換暫停/繼續顯示;

按b切換是否顯示平均流量圖形條;

按B切換計算2秒或10秒或40秒內的平均流量;

按T切換是否顯示每個連接的總流量;

按l打開屏幕過濾功能,輸入要過濾的字符,比如ip,按回車後,屏幕就只顯示這個IP相關的流量信息;

按L切換顯示畫面上邊的刻度;刻度不同,流量圖形條會有變化;

按j或按k可以向上或向下滾動屏幕顯示的連接記錄;

按1或2或3可以根據右側顯示的三列流量數據進行排序;

按<根據左邊的本機名或IP排序;

按>根據遠端目標主機的主機名或IP排序;

按o切換是否固定只顯示當前的連接;

按f可以編輯過濾代碼,這是翻譯過來的說法,我還沒用過這個!

按!可以使用shell命令,這個沒用過!沒搞明白啥命令在這好用呢!

按q退出監控。

  參考:https://www.vpser.net/manage/iftop.html

網站流量、連接數等監控