Rhit高效可視化Nginx日志查看工具

簡介

Rhit 可以從標準文件夾中讀取 Nginx 的日志文件(gzipped 的壓縮文件也可以),並進行分析統計,在控制臺中以可視化的表格形式展示,並且不會產生任何多餘的臨時文件或數據。

可以按照日期、響應值、請求來源等進行過濾匹配,並進行分析,Rhit 具有很高的效率,每秒可以處理百萬行日志數據。

以下是在一月份的日志中查找狀態碼為 1xx、2xx 的結果:

項目地址是:

https://github.com/Canop/rhit

安裝

直接下載使用編譯好的二進制文件,但是需要確保shell能夠找到rhit二進制文件,一個比較容易的處理方式就是把它放到/usr/local/bin目錄下,並且為它添加可執行權限。

chmod +x rhit  
// 下載地址  
https://dystroy.org/rhit/download  

從crates.io安裝,依賴Rust環境,使用以下命令安裝:

cargo install rhit  

源碼安裝,依賴Rust環境,將github源碼clone之後,進入到rhit文件夾,運行以下命令:

cargo install --path .  

顯示字段

rhit可以自動打開默認目錄下的nginx日志文件,也可以在命令行參數中指定日志路徑:

rhit my/archived/logs  

nginx常見的日志行是這樣的:

178.133.125.122 – – [21/Jan/2021:05:49:52 +0000] “HEAD /broot/download/x86_64-pc-windows-gnu/broot.exe HTTP/1.1” 200 0 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”

它由幾個字段組成:日期、遠程IP地址、路徑、發送的字節等。rhit可以執行對表格進行排序的字段列表,如果未指定,默認按照日期、狀態碼、來源和路徑來顯示,如果要制定多個字段,使用逗號進行分割,如-f date,status;顯示所有字段,使用-f all。

基於日期。使用–field date,或者縮寫為-f date。默認情況下,條形圖的長度基於命中數量進行統計,也可以修改排序鍵以基於發送字節數進行統計。

基於IP。默認情況下不顯示遠程IP,可以使用rhit -f ip進行顯示。

基於請求方法。默認不顯示HTTP請求方法,可以使用rhit -f method進行顯示。

基於路徑。命令為rhit -f path

基於Referer。命令為rhit -f ref

基於狀態碼。命令為rhit -f status

篩選

Rhit提供瞭一些過濾器,用於篩選結果列表,展示自己想看到或者不想看到的一些數據。

按日期篩選。精確到天,日期格式是年/月/日,如篩選2021/2/15到2021/2/20的數據,也可以篩選大於某個時間、小於某個時間或不包含某個時間(使用’>’,'<‘,’!’符號):

按遠程IP篩選。參數為-i,篩選特定的IP,或者排除某個特定的IP(使用’!’符號)。

按請求方法篩選。參數為-m,篩選特定方法,或者排除特定的方法。

按請求路徑篩選,參數為-p,可以精確匹配,也可以使用正則表達式(例如所有路徑均以”download”開頭且以”exe”:結尾,參數為 -p ‘download.*exe$’):

按Referer篩選。參數為-r,與按路徑篩選的語法一致:

按狀態碼篩選。參數為-s,篩選特定狀態碼,或者排除特定的狀態碼。

組合篩選。以上方式可以任意組合。

排序鍵

默認情況下,所有表都按照hits進行排序,這就是排序鍵,排序鍵的所有值都以粉紅色顯示,包括直方圖。如果對發送字節數更感興趣,可以將排序鍵修改為bytes,使用-k b進行更改:

到此這篇關於Rhit高效可視化Nginx日志查看工具的文章就介紹到這瞭,更多相關Rhit Nginx日志查看工具內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: