摘要:思路將每一行得到的日志通過命令進行處理,利用的全局的特性來累計報錯數量。方案我們將從執行命令開始的所有報錯的接口地址進行了累計,每一次報錯,都將累計的報錯數量輸出在前,這樣可以快速看出到底哪個接口數據量報錯比較大。
問題
線上服務器一百多臺
通過tail -f /var/log/error_web* 方式來查看,速度滾動刷新太快,而且不方便定位問題
按照前輩的『觀察法』,作為新人實在是有難度,所以使用awk命令對輸出格式格式化了一下。
思路將每一行tail得到的日志通過awk命令進行處理,利用awk的BEGIN全局的特性來累計報錯數量。
方案我們將從執行tail命令開始的所有報錯的接口地址進行了累計,每一次報錯,都將累計的報錯數量輸出在前,這樣可以快速看出到底哪個接口數據量報錯比較大。
效果如下
錯誤次數:33 鏈接:[REQUEST_URI:xxxxxxxxxxxxxx [04-Jul-2017 18:32:20 PRC] 95169011-595b6eb3b12291.18851925 PHP Warning:
我們來看下log.sh文件的代碼
tail -f /var/log/error_web* | grep . | grep -v "==>" | awk " # 定義全局變量,是awk命令的BEGIN用法,還有一個END可以搜下 BEGIN{ # 每隔接口報錯的次數 errorTimes[0] = 0; # 錯誤詳情 errorDetails[0] = 0; # 總的錯誤次數 errorCount = 0; } { # 格式化當前行的內容,得到URL # 獲取最后的一個字段,這里可以搜下awk命令的NF內置變量 url = $NF; # 將得到的url之后的參數拆掉 split(url, urlFields, "?"); url = urlFields[1]; # 報錯數量+1 errorTimes[url] = errorTimes[url] + 1; print("錯誤次數:"errorTimes[url]" 鏈接:"url); # 這里是為了打印錯誤的詳情 print($0); print(""); # 增加總次數 errorCount = errorCount + 1; } "
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/23179.html
摘要:問題查看所有服務器日志頻繁刷新無法快速定位問題每次都需要按來終止刷新,查看歷史日志無法確定日志的報錯數量的分布,來自哪個接口或者服務思路通過命令,執行方法切分當前行的日志拆分后得到,就是最后的接口地址然后對其進行之后的參數拆分,因為我們只需 問題 查看所有服務器日志頻繁刷新無法快速定位問題 每次都需要按ctrl+c來終止刷新,查看歷史日志 無法確定日志的報錯數量的分布,來自哪個接口或...
摘要:自己的小網站跑在阿里云的上面偶爾也去分析分析自己網站服務器日志看看網站的訪問量。然后統計最終返回的數字就是當前所有端口的已建立連接的總數。 自己的小網站跑在阿里云的ECS上面,偶爾也去分析分析自己網站服務器日志,看看網站的訪問量。看看有沒有黑闊搞破壞!于是收集,整理一些服務器日志分析命令,大家可以試試! 1、查看有多少個IP訪問: awk {print $1} log_file|sor...
摘要:自己的小網站跑在阿里云的上面偶爾也去分析分析自己網站服務器日志看看網站的訪問量。表示能夠處理個并發請求,這個值可根據負載情況自動調整。最終返回的數字就是當前所有端口的請求總數。 自己的小網站跑在阿里云的ECS上面,偶爾也去分析分析自己網站服務器日志,看看網站的訪問量。看看有沒有黑闊搞破壞!于是收集,整理一些服務器日志分析命令,大家可以試試! 1、查看有多少個IP訪問: awk {pr...
閱讀 2642·2021-11-11 16:55
閱讀 680·2021-09-04 16:40
閱讀 3077·2019-08-30 15:54
閱讀 2615·2019-08-30 15:54
閱讀 2403·2019-08-30 15:46
閱讀 403·2019-08-30 15:43
閱讀 3227·2019-08-30 11:11
閱讀 2982·2019-08-28 18:17