現在位置: 首頁 > CentOS篇, Windows > 正文

用 netstat 監控 connection 數量

  前幾天有某台伺服器出現 Connection 爆量的問題,導致伺服器無法運作,雖然調大 Connection 就能解決問題,但還是必須了解目前系統的用量有多少,避免造成不必要的資源浪費。

 

要查看 Connection 可以用 netstat 來查看目前所有的 Connection,但做為系統管理人員小弟說過要有懶惰的美德,凡事不要自己來,讓系統自動化才是最明確的決定。

 

目標是希望可以定時監控 80 Port 的 Connection 數量

 

撰寫一隻批次檔,用到 Windows 的 netstat ,還有 Linux 的 cut 來區隔來源及目的

 

 

範例1;篩選出 TCP 中 192.168.10.99 這張網卡的 80port

 

範例2;將 範例1 篩選出的結果計算數量

 

如果系統是 80 port 出口的話,與 user 端就會有 輸入及輸出兩筆 Connection。

雖然懶人可以用除以2 的方式來算出數量,但心裡還是覺得有出錯的機會。

 

 

 

 

由於找不到 Windows 的篩選 command ,先用了 Linux 的 cut 加入本機源的判斷。

※要在 Windows 用 Linux 的 command 可以下載 coreutils ,安裝 coreutils 你會需要擁有 libintl3.dlllibiconv2.dll ,請丟到與 cut.exe 相同目錄下。

 

建立 ConnectionMonitor.bat 批次檔

 

所呈現的執行結果會是以下

 

echo | set /p = %date% 是為了判讀當下執行的時間, set /p 是不希望 echo 有段行

cut -d " " -f 7  是判別到 192.168.10.99:80 之前有 7 格空格,這是比較原始的方法,如果網友有更好的方法也可以提出!

 

最後加入工作排程,並寫入 Log,一段時間後就可以得知 Connection 的狀況囉!!

文章連結: https://shazi.info/%e7%94%a8-netstat-%e7%9b%a3%e6%8e%a7-connection-%e6%95%b8%e9%87%8f/ | Mr. 沙先生

該文章由 shazi7804 於2014年11月02日發表在 CentOS篇, Windows 分類下, 你可以發表回文,並在保留原文地址及作者的情况下引用到你的網站或部落格。
原文轉載請註明: 用 netstat 監控 connection 數量 | Mr. 沙先生
標籤: , , , ,

用 netstat 監控 connection 數量:給Mr.沙先生一點建議

發表回文