除了網站流量報表,我還使用了偵測網站運作的專用工具!

網站分析報表僅針對http和https連線資料進行解析統計

昨天提到的幾種網站報表都只有針對http和https連線的資料來進行分析,雖然AWStats報表可以針對其它的連線資料做分析(例如FTP、mail等等),但那也是像我這種在維運伺服器主機的系統管理者才會需要看這些數據,因為大多數人只需要看網站的分析報表而已。

這些報表解析生成的時間可能不是那麼即時,有的會每小時解析一次,有的是不定期進行解析,也就是說現在看到的分析報表是一個小時之前的所有累計資料分析統計出來的結果!

我需要更多更即時的運作資訊,以判斷網站是否正常運作

我的工作是要維護網站主機的正常運作,檢查http和https連線的記錄都是為了查看是否有異常的攻擊出現,包括像是特定的搜尋引擎網路機器人(爬蟲程式)是否出現太過頻繁而造成主機負載過重…

而想判斷網站主機是否正常運作,不是只看網站分析報表就能掌握的,還必須有更多、更即時的其它運作資訊:

  • 主機的CPU用量
  • 主機的記憶體(Memory)用量
  • 主機的儲存空間(Storage Space)用量
  • 主機的網路流量
  • 主機開啟的TCP服務連接埠

透過上述幾種資訊來進行綜合評估,就能夠有效判斷網站主機是否在正常運作的範圍內(當然也會有例外,例如某些服務程式當掉就沒有徵兆)!

例如CPU用量突然飆高好幾倍,代表網站主機的負載突然變高,有可能是因為網站的連線數量變多、或是主機的資料庫異常繁忙、或是主機在做壓縮解密等任務,也有可能是因為被駭客攻擊或被用來挖礦~

搜尋引擎的網路機器人很容易造成網站主機負載過高

我自己代管維運伺服器十幾年來的心得是,很多時候CPU用量過高都是因為搜尋引擎的網路機器人造成的,可以說是無時無刻、不分日夜的出動,而且數量之多、IP分佈之廣實在令人無法想像!

很多人都有用過yahoo、google、bing等搜尋引擎,但不曉得它為什麼可以這麼快就找出符合條件的資訊出來,其實就是這些搜尋引擎透過網路機器人去「爬出」各個網站中的所有資訊。

有在搜尋引擎註冊的網站會被主動優先去爬找,沒有去註冊的新網站就需要時間等待(等待網路機器人去找到網站、然後進行爬找),然後網路機器人會將取得的資訊記錄在它們的大數據分散式資料庫裡,一旦有人搜尋時,再從大數據中去找出來呈現。

有些網路機器人寫得比較好,不會死命的把網站中所有資訊一次爬完,會分次爬找;有些網路機器人就較差,像是要把整個網站複製走一樣,不斷地咬住網站爬找,這種類型的網路機器人就會造成網站主機負載太重、出現幾乎停擺的狀況。

當然,駭客攻擊若是採用主動掃描時也會發生讓主機癱瘓的情況,因為主動掃描的行為就像網路機器人在爬找網站內容一樣,而且都是用程式撰寫出來的(只是程式語言不同、速度不同、目的不同)!

被網路機器人爬找到CPU不斷維持在高點的主機

實際案例:昨天發生在我維運的AWS網站主機

這是用INSTAWATCHER監測在AWS的網站主機運作狀況,很清楚可以看到主機的CPU用量因為網路機器人不斷在爬找網站內容而造成維持在高點,經過處理後馬上就降下來了!

要滿足網路行銷的需求,也要兼顧主機運作正常

由於現在很多企業都會透過網路來行銷,也會用google關鍵字之類的數位廣告,因此就會需要讓google搜尋引擎派出的網路機器人能正常爬找,但同時也要去防止較具惡意的攻擊連線或是寫得較差的網路機器人…

若是企業有專人在代管維運伺服器主機時就比較不必煩惱;若是沒有請專人在代管維運,企業有兩種選擇:

  • 花更多錢提高主機等級或是啟用更多台主機
  • 花錢請專業人士來代管維運