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