了解如何可以建立一個(gè)早期預(yù)警系統(tǒng),為您的網(wǎng)站的更重要的錯(cuò)誤,使用服務(wù)器日志,看看你應(yīng)該注意什么。
隨著網(wǎng)絡(luò)變得越來(lái)越復(fù)雜,使用JavaScript框架和庫(kù)的前端網(wǎng)站進(jìn)行網(wǎng)絡(luò)應(yīng)用,單頁(yè)應(yīng)用程序,json-ld,等等,我們?cè)絹?lái)越多地看到一個(gè)更大的表面積出錯(cuò)。當(dāng)所有你所得到的是HTML和CSS的鏈接,那么你就有很多混亂。然而,在當(dāng)今世界的動(dòng)態(tài)生成網(wǎng)站通用JS接口,有很大的誤差空間。
我們面臨的第二個(gè)問(wèn)題是,很難知道什么時(shí)候發(fā)生了什么問(wèn)題,或者當(dāng)谷歌改變了他們?nèi)绾翁幚淼氖虑椤_@是只有當(dāng)你考慮像復(fù)合站點(diǎn)遷移情況或重新設(shè)計(jì),在那里你會(huì)突然檔案大量舊內(nèi)容,或重新映射的URL結(jié)構(gòu)。那么,我們?nèi)绾螒?yīng)對(duì)這些挑戰(zhàn)呢?
舊的方式
從歷史上看,你這樣的分析的方式是通過(guò)查看您的日志文件,使用的是,或,如果你是鐵桿,日志分析器。這些都是偉大的,但他們需要你知道你有一個(gè)問(wèn)題,或者說(shuō),你在尋找和發(fā)生的一段日志,有問(wèn)題的你需要解決的問(wèn)題。不是不可能的,我們已經(jīng)寫(xiě)了這樣做相當(dāng)廣泛,在我們的博客和我們的日志文件分析指南。
深圳網(wǎng)站制作案例分享:易菲YIFINI
要停止網(wǎng)站鏈接
然而,這個(gè)問(wèn)題是相當(dāng)明顯的。它需要你的樣子,而不是讓你意識(shí)到有東西要找。考慮到這一點(diǎn),我想我會(huì)花一些時(shí)間調(diào)查是否有可以做的事情,使整個(gè)過(guò)程花費(fèi)更少的時(shí)間,并作為一個(gè)早期預(yù)警系統(tǒng)。
援助之手
我們需要做的第一件事是讓我們的服務(wù)器在某處發(fā)送日志文件。我的標(biāo)準(zhǔn)解決方案,這已成為使用日志旋轉(zhuǎn)。這取決于你的服務(wù)器,你可以使用不同的方法來(lái)做到這一點(diǎn),但在Nginx的它看起來(lái)像這樣:
# time_iso8601 looks like this: 2016-08-10T14:53:00+01:00
if ($time_iso8601 ~ "^(d{4})-(d{2})-(d{2})") {
set $year $1;
set $month $2;
set $day $3;
}
access_log /var/log/nginx/$year-$month-$day-access.log;
這允許您查看任何特定日期或日期集的日志,簡(jiǎn)單地將數(shù)據(jù)從與該期間有關(guān)的文件中拔起。設(shè)置日志的旋轉(zhuǎn),我們就可以建立一個(gè)腳本,我們會(huì)在午夜使用cron,把日志文件,涉及昨日的數(shù)據(jù)和分析。如果你想,你可以每天看幾次,或每周一次,或在任何時(shí)間間隔最適合你的數(shù)據(jù)量水平。
下一個(gè)問(wèn)題是:我們要尋找什么?嗯,一旦我們有了一天的日志,這是我得到我的系統(tǒng)報(bào)告:
30 *狀態(tài)碼
生成一個(gè)由用戶產(chǎn)生的所有頁(yè)面的列表,導(dǎo)致重定向。如果鏈接到該資源的頁(yè)面在您的網(wǎng)站上,將其重定向到實(shí)際的結(jié)束點(diǎn)。否則,聯(lián)絡(luò)人聯(lián)系你讓他們排序鏈接到它應(yīng)該去的地方。
404狀態(tài)碼
類似的故事。任何404ing資源應(yīng)進(jìn)行檢查以確保他們應(yīng)該失蹤。任何應(yīng)該是有可以調(diào)查為什么它沒(méi)有解決,并鏈接到任何實(shí)際丟失的可以處理在相同的方式作為一個(gè)301 / 302代碼。
50 *狀態(tài)碼
一些糟糕的事情發(fā)生了,你不會(huì)有一個(gè)好的一天,如果你看到許多50 *代碼。您的服務(wù)器正在死亡的請(qǐng)求到特定的資源,或可能是你的整個(gè)網(wǎng)站,這取決于到底有多壞這是。
爬行預(yù)算
谷歌抓取的每一個(gè)資源列表,有多少次被請(qǐng)求,多少個(gè)字節(jié)被傳送,以及時(shí)間來(lái)解決這些請(qǐng)求。比較這個(gè)與你的網(wǎng)站地圖,以找到網(wǎng)頁(yè),谷歌不會(huì)爬行,或它的錘擊,并根據(jù)需要修復(fù)。
頂部/至少請(qǐng)求的資源
類似上述,但詳細(xì)介紹了搜索引擎的最和最不要求的東西。
壞演員
許多機(jī)器人尋找漏洞會(huì)要求像wp_admin,wp_login,404s,config.php,和其他類似的公共資源的URL。使對(duì)這些類型的網(wǎng)址的重復(fù)請(qǐng)求的任何IP地址可以自動(dòng)添加到一個(gè)IP黑名單。
模式匹配的網(wǎng)址報(bào)告
使用正則表達(dá)式匹配請(qǐng)求的URL與預(yù)定義的模式很簡(jiǎn)單,在你的網(wǎng)站或頁(yè)面類型的特定區(qū)域報(bào)告。例如,你可以對(duì)圖像的請(qǐng)求報(bào)告,JavaScript文件被調(diào)用,分頁(yè),表單提交(通過(guò)尋找POST請(qǐng)求),逃跑的片段,查詢參數(shù),或幾乎任何其他。它提供的一個(gè)URL和HTTP請(qǐng)求,你可以將它設(shè)置為一個(gè)片段進(jìn)行報(bào)道。
尖尖的搜索抓取行為
日志由Googlebot請(qǐng)求數(shù)量的每一天。如果它增加超過(guò)百分之十,這是感興趣的東西。作為一個(gè)側(cè)面說(shuō)明,與大多數(shù)數(shù)字系列,一個(gè)計(jì)算,以點(diǎn)極端的異常值是不難創(chuàng)造,而且很可能是值得你的時(shí)間。
輸出數(shù)據(jù)
根據(jù)任何特定部分的重要性,您可以將數(shù)據(jù)設(shè)置為以兩種方式登錄。首先,大量的40 *和50 *狀態(tài)代碼或壞演員的要求將是值得觸發(fā)一個(gè)電子郵件。這可以讓你很快知道,如果發(fā)生的事情,這可能表明一個(gè)大問(wèn)題。然后,你可以得到的頂部,無(wú)論是什么,并解決它作為一個(gè)優(yōu)先事項(xiàng)。
作為一個(gè)整體的數(shù)據(jù)也可以通過(guò)一個(gè)儀表板上的報(bào)告。如果你每天的日志中沒(méi)有這么多的數(shù)據(jù),你可能只想在運(yùn)行時(shí)查詢文件,并在你查看它的時(shí)候生成報(bào)告新鮮。另一方面,大量的流量的網(wǎng)站,因此更大的日志文件可能要緩存每天的輸出到一個(gè)單獨(dú)的文件,所以數(shù)據(jù)不必計(jì)算。很明顯,你使用的方法的類型取決于你將在規(guī)模上運(yùn)行的規(guī)模和你的服務(wù)器硬件是如何強(qiáng)大的。
結(jié)論
由于服務(wù)器日志和基本的腳本,沒(méi)有理由你應(yīng)該有一個(gè)的情況下,某些地方的問(wèn)題在您的網(wǎng)站上,你不知道。技術(shù)問(wèn)題,主動(dòng)通知是在一個(gè)世界里,谷歌會(huì)以更快的速度的一個(gè)必要的事情,這意味著他們可以開(kāi)始把你的排名下降幾小時(shí)內(nèi)到現(xiàn)場(chǎng)停機(jī)或錯(cuò)誤,謝謝。