linux下常用的日志分析命令
形如下面這樣的access.log日志內(nèi)容:
116.55.241.13 – - [10/Dec/2010:09:31:17 +0800] “GET /query/trendxml/district/todayreturn/month/2009-12-14/2010-12-09/haizhu_tianhe.xml HTTP/1.1″ 200 1933 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)”
必須借助命令或腳本才可以分析、提取出有價(jià)值的內(nèi)容。
以下是收集的一些用于日志分析的命令或腳本,分享下,有用到的朋友參考下吧。
1,查看apache的進(jìn)程數(shù)
代碼示例:
ps -aux | grep httpd | wc -l
2,分析日志查看當(dāng)天的ip連接數(shù)
代碼示例:
cat default-access_log | grep “10/Dec/2010″ | awk ‘{print $2}’ | sort | uniq -c | sort -nr
3,查看指定的ip在當(dāng)天究竟訪問(wèn)了什么url
代碼示例:
cat default-access_log | grep “10/Dec/2010″ | grep “116.55.241.13″ | awk ‘{print $7}’ | sort | uniq -c | sort -nr
4,查看當(dāng)天訪問(wèn)排行前10的url
代碼示例:
cat default-access_log | grep “10/Dec/2010″ | awk ‘{print $7}’ | sort | uniq -c | sort -nr | head -n 10
5,看到指定的ip究竟干了什么
代碼示例:
cat default-access_log | grep 116.55.241.13 | awk ‘{print $1″\t”$8}’ | sort | uniq -c | sort -nr | less
6,查看訪問(wèn)次數(shù)最多的幾個(gè)分鐘(找到熱點(diǎn))
代碼示例:
awk ‘{print $4}’ default-access_log |cut -c 14-18|sort|uniq -c|sort -nr|head
7,統(tǒng)計(jì)一個(gè)文本中包含字符個(gè)數(shù)
代碼示例:
cat pic.access.log |grep /2012/ |wc -l
cat c_access.log |grep "/message/publishmsg/\|/message/publish/" >test1.log