1、連接上相應(yīng)的linux主機(jī),進(jìn)入到等待輸入shell指令的linux命令行狀態(tài)下。

創(chuàng)新互聯(lián)建站-云計算及IDC服務(wù)提供商,涵蓋公有云、IDC機(jī)房租用、移動服務(wù)器托管、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務(wù),歡迎來電:028-86922220
2、在命令行下輸入shell指令:sz /var/log/boot.log,此時會彈出下載位置選擇。
3、點擊確定,此時會看到日志被成功導(dǎo)出了。
在上文中,我們已經(jīng)詳細(xì)介紹 linux 三劍客的基本使用,接下來我們看看具體在性能測試領(lǐng)域的運用,本文主要介紹的是在 Tomcat 和 Nginx access日志的統(tǒng)計分析。
server.xml 使用配置方式,%D-請求時間,%F-響應(yīng)時間
字段說明如下:
日志樣例:
使用默認(rèn) combined 的經(jīng)典格式上擴(kuò)展 response_timeupstream_response_time
nginx.conf 使用配置方式:
字段說明如下:
日志示例:
為了能理解 AWK 程序,我們下面概述其基本知識。
模式( pattern ) 用于匹配輸入中的每行文本。對于匹配上的每行文本,awk 都執(zhí)行對應(yīng)的 動作( action )。模式和動作之間使用花括號隔開。awk 順序掃描每一行文本,并使用 記錄分隔符(一般是換行符)將讀到的每一行作為 記錄,使用 域分隔符( 一般是空格符或制表符 ) 將一行文本分割為多個 域, 每個域分別可以使用 2, … 表示。1 表示第一個域,表示第二個域,n 表示第 n 個域。 $0 表示整個記錄。模式或動作都可以不指定,缺省模式的情況下,將匹配所有行。缺省動作的情況下,將執(zhí)行動作 {print},即打印整個記錄。
此處使用Nginx access.log 舉例,Tomcat 日志自己舉一反三。 使用 awk 分解出Nginx access日志中的信息
以此類推…… 當(dāng)我們使用默認(rèn)的域分割符時,我們可以從日志中解析出下面不同類型的信息:
我們不難發(fā)現(xiàn),僅使用默認(rèn)的域分隔符,不方便解析出請求行、引用頁和瀏覽器類型等其他信息,因為這些信息之中包含不確定個數(shù)的空格。 因此,我們需要把域分隔符修改為 “ ,就能夠輕松讀出這些信息。
注意:這里為了避免 Linux Shell 誤解 “ 為字符串開始,我們使用了反斜杠,轉(zhuǎn)義了 “ 。 現(xiàn)在,我們已經(jīng)掌握了 awk 的基本知識,以及它是怎樣解析日志的。
此處使用Nginx access.log 舉例,Tomcat 日志自己舉一反三。
如果我們想知道那些類型的瀏覽器訪問過網(wǎng)站,并按出現(xiàn)的次數(shù)倒序排列,我可以使用下面的命令:
此命令行首先解析出瀏覽器域,然后使用管道將輸出作為第一個 sort 命令的輸入。第一個 sort 命令主要是為了方便 uniq 命令統(tǒng)計出不同瀏覽器出現(xiàn)的次數(shù)。最后一個 sort 命令將把之前的統(tǒng)計結(jié)果倒序排列并輸出。
我們可以使用下面的命令行,統(tǒng)計服務(wù)器返回的狀態(tài)碼,發(fā)現(xiàn)系統(tǒng)可能存在的問題。
正常情況下,狀態(tài)碼 200 或 30x 應(yīng)該是出現(xiàn)次數(shù)最多的。40x 一般表示客戶端訪問問題。50x 一般表示服務(wù)器端問題。 下面是一些常見的狀態(tài)碼:
HTTP 協(xié)議狀態(tài)碼定義可以參閱:
查找并顯示所有狀態(tài)碼為 404 的請求
統(tǒng)計所有狀態(tài)碼為 404 的請求
現(xiàn)在我們假設(shè)某個請求 ( 例如 : URI: /path/to/notfound ) 產(chǎn)生了大量的 404 錯誤,我們可以通過下面的命令找到這個請求是來自于哪一個引用頁,和來自于什么瀏覽器。
有時候會發(fā)現(xiàn)其他網(wǎng)站出于某種原因,在他們的網(wǎng)站上使用保存在自己網(wǎng)站上的圖片。如果您想知道究竟是誰未經(jīng)授權(quán)使用自己網(wǎng)站上的圖片,我們可以使用下面的命令:
注意:使用前,將 修改為自己網(wǎng)站的域名。
統(tǒng)計共有多少個不同的 IP 訪問:
統(tǒng)計每一個 IP 訪問了多少個頁面:
將每個 IP 訪問的頁面數(shù)進(jìn)行從小到大排序:
統(tǒng)計 2018 年 8 月 31 日 14 時內(nèi)有多少 IP 訪問 :
統(tǒng)計訪問最多的前十個 IP 地址
查看某一個 IP訪問了哪些頁面:
統(tǒng)計某個 IP 的詳細(xì)訪問情況,按訪問頻率排序
列出傳輸大小最大的幾個文件
列出輸出大于 204800 byte ( 200kb) 的頁面以及對應(yīng)頁面發(fā)生次數(shù)
列出訪問最頻的頁面(TOP100)
列出訪問最頻的頁面([排除php頁面】(TOP100)
列出頁面訪問次數(shù)超過100次的頁面
列出最近1000條記錄,訪問量最高的頁面
統(tǒng)計每分鐘的請求數(shù),top100的時間點(精確到分鐘)
統(tǒng)計每小時的請求數(shù),top100的時間點(精確到小時)
統(tǒng)計每秒的請求數(shù),top100的時間點(精確到秒)
統(tǒng)計當(dāng)天的 pv
說明:
可以使用下面的命令統(tǒng)計出所有響應(yīng)時間超過 3 秒的日志記錄。
注意:NF 是當(dāng)前記錄中域的個數(shù)。$NF 即最后一個域。
列出php頁面請求時間超過3秒的頁面,并統(tǒng)計其出現(xiàn)的次數(shù),顯示前100條
列出相應(yīng)時間超過 5 秒的請求,顯示前20條
統(tǒng)計蜘蛛抓取次數(shù)
統(tǒng)計蜘蛛抓取404的次數(shù)
通過本文的介紹,我相信同學(xué)們一定會發(fā)現(xiàn) linux三劍客強大之處。在命令行中,它還能夠接受,和執(zhí)行外部的 AWK 程序文件,可以對文本信息進(jìn)行非常復(fù)雜的處理,可以說“只有想不到的,沒有它做不到的”。
tail -f 日志文件路徑主要用于查看實時的日志記錄,屬于動態(tài)記錄查看。
cat日志路徑主要用于查看靜態(tài)的歷史日志記錄,一般跟路徑名稱,常見的這周類型的日志記錄一般用管道符進(jìn)行過濾篩選自己所需的記錄。
dmesg主要用于調(diào)試腳本或者命令,出現(xiàn)異常中斷來排查錯誤原因顯示的。
tail? -n? 10? test.log,查詢?nèi)罩疚膊孔詈?0行的日志。
tail -n +10 test.log,查詢10行之后的所有日志。
head -n 10? test.log,查詢?nèi)罩疚募械念^10行日志。
head -n -10? test.log,查詢?nèi)罩疚募俗詈?0行的其他所有日志。
操作命令
首先介紹一個名詞“控制臺(console)”,它就是我們通常見到的使用字符操作界面的人機(jī)接口,例如dos。我們說控制臺命令,就是指通過字符界面輸入的可以操作系統(tǒng)的命令。
例如dos命令就是控制臺命令。要了解的是基于Linux操作系統(tǒng)的基本控制臺命令。有一點一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)對大小寫是敏感的,也就是說,如果你輸入的命令大小寫不對的話,系統(tǒng)是不會做出你期望的響應(yīng)的。
網(wǎng)站名稱:linux生成日志命令 linux生成日志文件
當(dāng)前URL:http://chinadenli.net/article40/hghjho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、移動網(wǎng)站建設(shè)、服務(wù)器托管、手機(jī)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)