Nginx如何用腳本分析日志-創(chuàng)新互聯(lián)

這篇文章給大家分享的是Nginx使用腳本分析日志的方法,相信大部分人都還沒學(xué)會這個技能,為了讓大家學(xué)會,給大家總結(jié)了以下內(nèi)容,以下使日志分析腳本的代碼

創(chuàng)新互聯(lián)建站長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為江孜企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè),江孜網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

vim /data/scripts/log_analysis.sh

#!/bin/bash ############################################### #   Desc     :nginx日志分析腳本                   # #   Author    : Bertram                            # #   Date     : 2019-12-21                          # #   Copyright  : Personal belongs                    # ############################################### public(){   echo ""   read -p "請輸入要分析的訪問日志: " log_file   echo ""     if [ ! -f $log_file ];then     echo "未找到: ${log_file}"     exit 1   fi     if [ ! -s $log_file ];then     echo "${log_file}是空文件"     exit 1   fi   #輸出日志訪問量排名前top_num條數(shù)據(jù),可自定義   top_num=5   input_file=`echo $log_file | awk -F '/' '{print $(NF)}'`   analyze_dir=/home/Bertram/`date +%F`   top_ip_file=$analyze_dir/ngx_log_top_ip_${input_file}.txt   top_src_url_file=$analyze_dir/ngx_log_top_src_url_${input_file}.txt   top_dest_url_file=$analyze_dir/ngx_log_top_dest_url_${input_file}.txt   top_code_file=$analyze_dir/ngx_log_top_code_${input_file}.txt   top_terminal_file=$analyze_dir/ngx_log_top_terminal_${input_file}.txt   mkdir -p $analyze_dir   start_time=`head -1 $log_file | awk '{print $4}'|cut -d "[" -f2`   end_time=`tail -1 $log_file | awk '{print $4}'|cut -d "[" -f2`   total_nums=`wc -l $log_file | awk '{print $1}'`   size=`du -sh $log_file | awk '{print $1}'`   #獲取起始與截止時間   echo "訪問起始時間: $start_time ; 截止時間: $end_time"   #獲取總行數(shù)與大小   echo  "共訪問 $total_nums 次 ; 日志大小: $size"   #獲取最活躍IP   ##cat $log_file | awk '{print $1}' | sort | uniq -c | sort -rn | head -${top_num} > $top_ip_file   awk '{ips[$1]++} END{for (i in ips){print ips[i],i}}' $log_file | sort | uniq -c | sort -k1 -nr| head -${top_num} > $top_ip_file   #獲取訪問來源最多的url   cat $log_file | awk '{print $13}' | sort | uniq -c | sort -rn | head -${top_num} > $top_src_url_file   #獲取請求最多的url   cat $log_file | awk '{print $8}' | sort | uniq -c | sort -rn | head -${top_num} > $top_dest_url_file   #獲取返回最多的狀態(tài)碼   cat $log_file | awk '{print $11}'| sort | uniq -c | sort -rn | head -${top_num} > $top_code_file   #獲取返回最多的終端類型   cat $log_file | awk '{print $14}'| sort | uniq -c | sort -rn | head -${top_num} > $top_terminal_file   }   simple(){   echo "+-+-+-+-+-+- 下面是分析內(nèi)容 +-+-+-+-+-+-"   #獲取最活躍IP   printf "最活躍的前${top_num}個訪問IP: \n"   cat $top_ip_file   echo ""   #獲取訪問來源最多的url   printf "訪問來源最多的前${top_num}個url: \n"   cat $top_src_url_file   echo ""   #獲取請求最多的url   printf "請求最多的前${top_num}個url: \n"   cat $top_dest_url_file   echo ""   #獲取返回最多的狀態(tài)碼   printf "返回最多的前${top_num}個狀態(tài)碼: \n"   cat $top_code_file   echo ""   printf ""   #獲取返回最多的終端號   printf "返回最多的前${top_num}個終端號: \n"   cat $top_terminal_file   echo ""   printf ""     printf "返回最多的前${top_num}個IP所屬城市(查詢時間有點慢,耐心等待?。? \n"   echo ''   printf "%-15s %-15s %-30s\n" "訪問次數(shù)" "  IP地址" "    歸屬地"   echo '-----------------------------------------------'   a=0   cat $analyze_dir/ngx_log_top_ip_${input_file}.txt | while read line   do   ip=$(echo $line | cut -d '"' -f2)   count=$(echo $line | cut -d '"' -f1)     printf "%-10s %-15s %-30s\n" $count $ip $(curl -s "http://freeapi.ipip.net/$(echo $line | cut -d '"' -f2)" | awk -F '\"' {'print $2"--"$4"--"$6'})   echo '-----------------------------------------------'   let a=a+1   done   echo ""   printf "" } case $1 in   help)     echo ""     echo -e $"Usage: $0 enter a log file \n"             ;;   *)   public   simple     ;; esac exit 0

實現(xiàn)功能:
1、分析訪問排名前N的ip地址;
2、分析訪問排名前N的url;
3、分析訪問排名前N的目標(biāo)url;
4、分析訪問排名前N的終端類型;
5、自動匹配排名前N的ip的歸屬地。
注意:日志文件和分析腳本放在一個目錄即可;日志文件輸入絕對路徑。

用法:
Nginx如何用腳本分析日志

以上就是Nginx使用腳本分析日志的方法,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:Nginx如何用腳本分析日志-創(chuàng)新互聯(lián)
分享鏈接:http://bm7419.com/article36/ddhhpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、外貿(mào)網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站設(shè)計、云服務(wù)器、品牌網(wǎng)站制作

廣告

聲明:本網(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)

商城網(wǎng)站建設(shè)