中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx如何用腳本分析日志

發布時間:2020-06-06 16:45:08 來源:億速云 閱讀:370 作者:Leah 欄目:系統運維

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

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條數據,可自定義    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"    #獲取總行數與大小    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    #獲取返回最多的狀態碼    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 "+-+-+-+-+-+- 下面是分析內容 +-+-+-+-+-+-"    #獲取最活躍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 ""    #獲取返回最多的狀態碼    printf "返回最多的前${top_num}個狀態碼: \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" "訪問次數" "  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

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

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

以上就是Nginx使用腳本分析日志的方法,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關注億速云行業資訊頻道!




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

从化市| 崇礼县| 涡阳县| 红原县| 绥阳县| 施甸县| 金乡县| 炉霍县| 卢湾区| 石泉县| 大石桥市| 嘉定区| 安宁市| 阳西县| 综艺| 安达市| 临桂县| 轮台县| 北宁市| 清丰县| 宜昌市| 紫金县| 彭山县| 福海县| 三都| 桑日县| 宜川县| 鄯善县| 岗巴县| 惠水县| 黄梅县| 台州市| 云林县| 天柱县| 杭州市| 津南区| 巴塘县| 顺平县| 岚皋县| 许昌市| 申扎县|