2021-03-01 分類: 網(wǎng)站建設(shè)
對(duì)于大型網(wǎng)站來(lái)說(shuō),很多網(wǎng)站在可用性方面提出4個(gè)9或者5個(gè)9的要求,如果是4個(gè)9,那么網(wǎng)站全年的不可用時(shí)間不能超過(guò)52.6分鐘,如果是5個(gè)9,全年不可用時(shí)間不能超過(guò)5.2分鐘。這其實(shí)是很難的,無(wú)論多么厲害的程序員,他寫過(guò)的代碼不可能完全沒(méi)有問(wèn)題。而且有些時(shí)候,在線上發(fā)生問(wèn)題的時(shí)候,我們大部分時(shí)間都用在排查并定位問(wèn)題上了。一個(gè)問(wèn)題可能解決起來(lái)也就是幾分鐘,但是排查起來(lái)卻要花費(fèi)幾個(gè)小時(shí)。
在日常工作中,如果我們遇到線上問(wèn)題,一般的處理步驟應(yīng)該是先保留現(xiàn)場(chǎng),然后再考慮回滾,之后再是解決問(wèn)題。那么,保理現(xiàn)場(chǎng)保留的是什么的?至少要包括當(dāng)時(shí)機(jī)器上面的線程的dump、堆內(nèi)存的dump還有最重要的就是日志。因?yàn)楹芏鄷r(shí)候,日志可能是我們了解程序執(zhí)行的唯一途徑。
有了日志,還要掌握一些命令,才能更好的、更高效的定位問(wèn)題,因?yàn)橐坏┌l(fā)生線上問(wèn)題的時(shí)候,真的是分秒必爭(zhēng)。本文,為你總結(jié)了幾個(gè)常用的命令和簡(jiǎn)單用法,以及幾個(gè)小案例來(lái)運(yùn)用這些命令。
在介紹之前我還要強(qiáng)調(diào)一點(diǎn),有很多朋友說(shuō),我不需要會(huì)這么多命令,一個(gè)vim(vi)命令就夠我用了,請(qǐng)不要在服務(wù)器上直接對(duì)日志文件進(jìn)行vim(vi)操作,這樣可能會(huì)導(dǎo)致機(jī)器直接掛掉。
cat 查看文件的內(nèi)容
cat命令是一個(gè)顯示文本文件內(nèi)容的便捷工具,如果一個(gè)日志文件比較小,可以直接使用cat命令將其內(nèi)容打印出來(lái),進(jìn)行查看,但是,對(duì)于較大的日志文件,請(qǐng)不要這樣做,打開(kāi)一個(gè)過(guò)大的文件可能會(huì)占用過(guò)多的系統(tǒng)資源,從而影響系統(tǒng)對(duì)外的服務(wù)。
- 命令格式:cat?[選項(xiàng)]?[文件]...?
more 分頁(yè)顯示文件
cat的缺點(diǎn)在于,一旦執(zhí)行后,便無(wú)法再進(jìn)行交互和控制,而more命令可以分頁(yè)的展現(xiàn)文件內(nèi)容,按enter鍵顯示文件下一行,按空格鍵便顯示下一頁(yè),按 f鍵顯示下一屏內(nèi)容,按b鍵顯示上一屏內(nèi)容。
- 命令格式:more?[-dlfpcsu?]?[-num?]?[+/?pattern]?[+?linenum]?[file?...?]?
less 分頁(yè)顯示文件
less 工具也是對(duì)文件或其它輸出進(jìn)行分頁(yè)顯示的工具,應(yīng)該說(shuō)是linux正統(tǒng)查看文件內(nèi)容的工具,功能極其強(qiáng)大。less 的用法比起 more 更加的有彈性。在 more 的時(shí)候,我們并沒(méi)有辦法向前面翻, 只能往后面看,但若使用了 less 時(shí),就可以使用 [pageup] [pagedown] 等按鍵的功能來(lái)往前往后翻看文件,更容易用來(lái)查看一個(gè)文件的內(nèi)容!除此之外,在 less 里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。
- 命令格式:less?[參數(shù)]?文件?
tail 顯示文件尾
使用tail命令能夠查看到文件最后幾行,這對(duì)于日志文件非常有效,因?yàn)槿罩疚募3J亲芳訉懭氲?新寫入的內(nèi)容處于文件的末尾位置。
使用tail命令的-f選項(xiàng)可以方便的查閱正在改變的日志文件,tail -f filename會(huì)把filename里最尾部的內(nèi)容顯示在屏幕上,并且不但刷新,使你看到最新的文件內(nèi)容。
- 命令格式;tail[必要參數(shù)][選擇參數(shù)][文件]?
head 顯示文件頭
與tail命令類似,但是不同的是head命令用于顯示文件開(kāi)頭的一組行。
- 命令格式:head?[參數(shù)]...?[文件]...?
sort 內(nèi)容排序
一個(gè)文件中包含有眾多的行,經(jīng)常需要對(duì)這些行中的某一列進(jìn)行排序操作, sort命令的作用便是對(duì)數(shù)據(jù)進(jìn)行排序。
- 命令格式:sort?[參數(shù)][文件]?
wc 字符統(tǒng)計(jì)
wc命令可以用來(lái)統(tǒng)計(jì)指定文件中的字符數(shù),字?jǐn)?shù),行數(shù),并輸出統(tǒng)計(jì)結(jié)果。
- 命令格式:wc?[選項(xiàng)]文件...?
uniq 查看重復(fù)出現(xiàn)的行
uniq命令可以用來(lái)顯示文件中行重復(fù)的次數(shù),或者顯示僅出現(xiàn)一次的行,以及僅僅顯示重復(fù)出現(xiàn)的行,并且,uniq的去重針對(duì)的只是連續(xù)的兩行,因此它常常與sort結(jié)合起來(lái)使用。
- 命令格式:uniq[選項(xiàng)][參數(shù)]?
curl URL訪問(wèn)工具
要想在命令行下通過(guò)HTTP協(xié)議訪問(wèn)網(wǎng)頁(yè)文檔,就不得不用到一個(gè)工具,這便是curl,它支持HTTP,HTTPS,FTP,FTPS,Telnet等多種協(xié)議,常被用來(lái)在命令行下抓取網(wǎng)頁(yè)和監(jiān)控WEB服務(wù)器狀態(tài)。
- 命令格式:curl?[option]?[url]?
查看請(qǐng)求訪問(wèn)量
對(duì)于在線運(yùn)行的系統(tǒng)來(lái)說(shuō),常常會(huì)碰到各種不懷好意的惡意攻擊行為,其中比較常見(jiàn)的便是HTTP flood,也稱為CC攻擊。如何能夠快速的定位到攻擊, 并迅速響應(yīng),便成為開(kāi)發(fā)運(yùn)維人員必備的技能。定位問(wèn)題最快捷的辦法,便是登錄到相應(yīng)的應(yīng)用,查看訪問(wèn)日志,找到相應(yīng)的攻擊來(lái)源,如訪問(wèn)量排名前10的ip地址:
- cat?access.log?|?cut?-f1?-d?"?"?|?sort?|?uniq?-c?|?sort?-k?1?-n?-r?|?head?-10?
頁(yè)面訪問(wèn)量排名前10的url:
- cat?access.log?|?cut?–f4?-d?"?"?|?sort?|?uniq?-c?|?sort?-k?1?-n?-r?|?head?-10?
查看最耗時(shí)的頁(yè)面
對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),頁(yè)面的響應(yīng)時(shí)間是非常值得關(guān)注的,因?yàn)檫@直接關(guān)系到用戶能否快速的看到他想看到的內(nèi)容。因此,開(kāi)發(fā)人員常常需要將響應(yīng)慢的頁(yè)面找出來(lái),進(jìn)行優(yōu)化:
- cat?access.log?|?sort?-k?2?-n?-r?|?head?-10?
統(tǒng)計(jì)404頁(yè)面占比
對(duì)于請(qǐng)求的返回碼,有些時(shí)候也是需要關(guān)注的,比如,如果404請(qǐng)求占比過(guò)多, 要么就是有惡意攻擊者在進(jìn)行掃描,要么就是系統(tǒng)出現(xiàn)問(wèn)題了,同樣,對(duì)于 500的請(qǐng)求也是如此,可以通過(guò)如下命令來(lái)查看404請(qǐng)求的占比:
- export?total_line=`wc?-l?access.log?|?cut?-f1?-d?"?"`?&&?export?not_found_line=`awk?'$6=='404'?
文章題目:Java開(kāi)發(fā)必須掌握的日志分析命令
本文網(wǎng)址:http://www.rwnh.cn/news42/103592.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、用戶體驗(yàn)、外貿(mào)建站、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容