91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Nginx日志分析腳本

發布時間:2020-09-14 11:24:09 來源:網絡 閱讀:330 作者:wx5acc326ba509b 欄目:系統運維

運維工作是一個比較復雜的工作,有時候面對上萬條的日志,如何作分析?難道一條條的分析?
聰明的人會選擇腳本,這就是為什么現在提倡自動化運維的原因吧,廢話不多說,直接上腳本。

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日志分析腳本

向AI問一下細節

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

AI

北票市| 永新县| 潢川县| 乌海市| 霍州市| 莫力| 申扎县| 南木林县| 名山县| 镶黄旗| 临夏县| 泰安市| 普兰县| 根河市| 武冈市| 珲春市| 阿坝县| 宜君县| 渭南市| 平凉市| 沙河市| 吴桥县| 鄂托克前旗| 隆林| 道真| 科技| 定西市| 麦盖提县| 鄯善县| 麟游县| 汝阳县| 高州市| 崇仁县| 新巴尔虎右旗| 临安市| 长治县| 陆良县| 汕尾市| 马鞍山市| 互助| 古交市|