成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Linux運(yùn)維小命令

Invoker / 2480人閱讀

摘要:自己的小網(wǎng)站跑在阿里云的上面偶爾也去分析分析自己網(wǎng)站服務(wù)器日志看看網(wǎng)站的訪問量。表示能夠處理個(gè)并發(fā)請(qǐng)求,這個(gè)值可根據(jù)負(fù)載情況自動(dòng)調(diào)整。最終返回的數(shù)字就是當(dāng)前所有端口的請(qǐng)求總數(shù)。

自己的小網(wǎng)站跑在阿里云的ECS上面,偶爾也去分析分析自己網(wǎng)站服務(wù)器日志,看看網(wǎng)站的訪問量??纯从袥]有黑闊搞破壞!于是收集,整理一些服務(wù)器日志分析命令,大家可以試試!

1、查看有多少個(gè)IP訪問:

 awk "{print $1}" log_file|sort|uniq|wc -l

PS: wc -l 看看有多少行

2、查看某一個(gè)頁(yè)面被訪問的次數(shù):

grep "/index.php" log_file | wc -l

3、查看每一個(gè)IP訪問了多少個(gè)頁(yè)面:

awk "{++S[$1]} END {for (a in S) print a,S[a]}" log_file > log.txt

sort -n -t " " -k 2 log.txt # 配合sort進(jìn)一步排序

4、將每個(gè)IP訪問的頁(yè)面數(shù)進(jìn)行從小到大排序:

awk "{++S[$1]} END {for (a in S) print S[a],a}" log_file | sort -n

5、查看某一個(gè)IP訪問了哪些頁(yè)面:

grep ^111.111.111.111 log_file| awk "{print $1,$7}"

6、去掉搜索引擎統(tǒng)計(jì)的頁(yè)面:

awk "{print $12,$1}" log_file | grep ^"Mozilla | awk "{print $2}" |sort | uniq | wc -l

7、查看2015年8月16日14時(shí)這一個(gè)小時(shí)內(nèi)有多少IP訪問:

awk "{print $4,$1}" log_file | grep 16/Aug/2015:14 | awk "{print $2}"| sort | uniq | wc -l

8、查看訪問前十個(gè)ip地址

awk "{print $1}" |sort|uniq -c|sort -nr |head -10 access_log

uniq -c 相當(dāng)于分組統(tǒng)計(jì)并把統(tǒng)計(jì)數(shù)放在最前面

cat access.log|awk "{print $1}"|sort|uniq -c|sort -nr|head -10 

cat access.log|awk "{counts[$(11)]+=1}; END {for(url in counts) print counts[url], url}

9、訪問次數(shù)最多的10個(gè)文件或頁(yè)面

 cat log_file|awk "{print $11}"|sort|uniq -c|sort -nr | head -10
 cat log_file|awk "{print $11}"|sort|uniq -c|sort -nr|head -20 

awk "{print $1}" log_file |sort -n -r |uniq -c | sort -n -r | head -20 # 訪問量最大的前20個(gè)ip

10、通過子域名訪問次數(shù),依據(jù)referer來計(jì)算,稍有不準(zhǔn)

cat access.log | awk "{print $11}" | sed -e " s/http:////" -e " s//.*//" | sort | uniq -c | sort -rn | head -20

11、列出傳輸大小最大的幾個(gè)文件

cat www.access.log |awk "($7~/.php/){print $10 " " $1 " " $4 " " $7}"|sort -nr|head -100

12、列出輸出大于200000byte(約200kb)的頁(yè)面以及對(duì)應(yīng)頁(yè)面發(fā)生次數(shù)

cat www.access.log |awk "($10 > 200000 && $7~/.php/){print $7}"|sort -n|uniq -c|sort -nr|head -100

13、如果日志最后一列記錄的是頁(yè)面文件傳輸時(shí)間,則有列出到客戶端最耗時(shí)的頁(yè)面

cat www.access.log |awk "($7~/.php/){print $NF " " $1 " " $4 " " $7}"|sort -nr|head -100

14、列出最最耗時(shí)的頁(yè)面(超過60秒的)的以及對(duì)應(yīng)頁(yè)面發(fā)生次數(shù)

cat www.access.log |awk "($NF > 60 && $7~/.php/){print $7}"|sort -n|uniq -c|sort -nr|head -100

15、列出傳輸時(shí)間超過 30 秒的文件

cat www.access.log |awk "($NF > 30){print $7}"|sort -n|uniq -c|sort -nr|head -20

16、列出當(dāng)前服務(wù)器每一進(jìn)程運(yùn)行的數(shù)量,倒序排列

ps -ef | awk -F " " "{print $8 " " $9}" |sort | uniq -c |sort -nr |head -20

17、查看apache當(dāng)前并發(fā)訪問數(shù)

對(duì)比httpd.conf中MaxClients的數(shù)字差距多少。

netstat -an | grep ESTABLISHED | wc -l

18、可以使用如下參數(shù)查看數(shù)據(jù)

ps -ef|grep httpd|wc -l

統(tǒng)計(jì)httpd進(jìn)程數(shù),連個(gè)請(qǐng)求會(huì)啟動(dòng)一個(gè)進(jìn)程,使用于Apache服務(wù)器。
表示Apache能夠處理1388個(gè)并發(fā)請(qǐng)求,這個(gè)值A(chǔ)pache可根據(jù)負(fù)載情況自動(dòng)調(diào)整。

netstat -nat|grep -i "80"|wc -l

netstat -an會(huì)打印系統(tǒng)當(dāng)前網(wǎng)絡(luò)鏈接狀態(tài),而grep -i "80"是用來提取與80端口有關(guān)的連接的,wc -l進(jìn)行連接數(shù)統(tǒng)計(jì)。
最終返回的數(shù)字就是當(dāng)前所有80端口的請(qǐng)求總數(shù)。

netstat -na|grep ESTABLISHED|wc -l

netstat -an會(huì)打印系統(tǒng)當(dāng)前網(wǎng)絡(luò)鏈接狀態(tài),而grep ESTABLISHED 提取出已建立連接的信息。 然后wc -l統(tǒng)計(jì)。
最終返回的數(shù)字就是當(dāng)前所有80端口的已建立連接的總數(shù)。

netstat -nat||grep ESTABLISHED|wc

可查看所有建立連接的詳細(xì)記錄

19、輸出每個(gè)ip的連接數(shù),以及總的各個(gè)狀態(tài)的連接數(shù)

netstat -n | awk "/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s
", a, S[a]);++I}printf("%-20s %s
","TOTAL_IP",I);for(a in s) printf("%-20s %s
",a, s[a]);printf("%-20s %s
","TOTAL_LINK",N);}"

20、其他的收集

分析日志文件下2012-05-04訪問頁(yè)面最高的前20個(gè)URL并排序

cat access.log |grep "04/May/2012"| awk "{print $11}"|sort|uniq -c|sort -nr|head -20 

查詢受訪問頁(yè)面的URL地址中 含有 www.abc.com 網(wǎng)址的 IP 地址

cat access_log | awk "($11~/www.abc.com/){print $1}"|sort|uniq -c|sort -nr 

獲取訪問最高的10個(gè)IP地址 同時(shí)也可以按時(shí)間來查詢

cat linewow-access.log|awk "{print $1}"|sort|uniq -c|sort -nr|head -10 

時(shí)間段查詢?nèi)罩緯r(shí)間段的情況

cat log_file | egrep "15/Aug/2015|16/Aug/2015" |awk "{print $1}"|sort|uniq -c|sort -nr|head -10
分析2015/8/15到2015/8/16訪問"/index.php?g=Member&m=Public&a=sendValidCode"的IP倒序排列
cat log_file | egrep "15/Aug/2015|16/Aug/2015" | awk "{if($7 == "/index.php?g=Member&m=Public&a=sendValidCode") print $1,$7}"|sort|uniq -c|sort -nr 

($7~/.php/) $7里面包含.php的就輸出,本句的意思是最耗時(shí)的一百個(gè)PHP頁(yè)面

cat log_file |awk "($7~/.php/){print $NF " " $1 " " $4 " " $7}"|sort -nr|head -100

列出最最耗時(shí)的頁(yè)面(超過60秒的)的以及對(duì)應(yīng)頁(yè)面發(fā)生次數(shù)*

cat access.log |awk "($NF > 60 && $7~/.php/){print $7}"|sort -n|uniq -c|sort -nr|head -100

統(tǒng)計(jì)網(wǎng)站流量(G)

cat access.log |awk "{sum+=$10} END {print sum/1024/1024/1024}" 

統(tǒng)計(jì)404的連接

awk "($9 ~/404/)" access.log | awk "{print $9,$7}" | sort

統(tǒng)計(jì)http status.

cat access.log |awk "{counts[$(9)]+=1}; END {for(code in counts) print code, counts[code]}" 
cat access.log |awk "{print $9}"|sort|uniq -c|sort -rn

每秒并發(fā):

watch "awk "{if($9~/200|30|404/)COUNT[$4]++}END{for( a in COUNT) print a,COUNT[a]}" log_file|sort -k 2 -nr|head -n10"

帶寬統(tǒng)計(jì)

cat apache.log |awk "{if($7~/GET/) count++}END{print "client_request="count}" 
cat apache.log |awk "{BYTE+=$11}END{print "client_kbyte_out="BYTE/1024"KB"}"

找出某天訪問次數(shù)最多的10個(gè)IP

cat /tmp/access.log | grep "20/Mar/2011" |awk "{print $3}"|sort |uniq -c|sort -nr|head

當(dāng)天ip連接數(shù)最高的ip都在干些什么:

cat access.log | grep "10.0.21.17" | awk "{print $8}" | sort | uniq -c | sort -nr | head -n 10

小時(shí)單位里ip連接數(shù)最多的10個(gè)時(shí)段

awk -vFS="[:]" "{gsub("-.*","",$1);num[$2" "$1]++}END{for(i in num)print i,num[i]}" log_file | sort -n -k 3 -r | head -10

找出訪問次數(shù)最多的幾個(gè)分鐘

awk "{print $1}" access.log | grep "20/Mar/2011" |cut -c 14-18|sort|uniq -c|sort -nr|head

取5分鐘日志
if [ $DATE_MINUTE != $DATE_END_MINUTE ] ;then #則判斷開始時(shí)間戳與結(jié)束時(shí)間戳是否相等START_LINE=sed -n "/$DATE_MINUTE/=" $APACHE_LOG|head -n1 #如果不相等,則取出開始時(shí)間戳的行號(hào),與結(jié)束時(shí)間戳的行號(hào)

查看tcp的鏈接狀態(tài)

netstat -nat |awk "{print $6}"|sort|uniq -c|sort -rn 

netstat -n | awk "/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}" 

netstat -n | awk "/^tcp/ {++state[$NF]}; END {for(key in state) print key,"	",state[key]}" 

netstat -n | awk "/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"	",arr[k]}" 

netstat -n |awk "/^tcp/ {print $NF}"|sort|uniq -c|sort -rn 

netstat -ant | awk "{print $NF}" | grep -v "[a-z]" | sort | uniq -c
netstat -ant|awk "/ip:80/{split($5,ip,":");++S[ip[1]]}END{for (a in S) print S[a],a}" |sort -n 

netstat -ant|awk "/:80/{split($5,ip,":");++S[ip[1]]}END{for (a in S) print S[a],a}" |sort -rn|head -n 10 

awk "BEGIN{printf ("http_code	count_num
")}{COUNT[$10]++}END{for (a in COUNT) printf a"		"COUNT[a]"
"}"

查找請(qǐng)求數(shù)前20個(gè)IP(常用于查找攻來源):

netstat -anlp|grep 80|grep tcp|awk "{print $5}"|awk -F: "{print $1}"|sort|uniq -c|sort -nr|head -n20 
netstat -ant |awk "/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A[i],i}" |sort -rn|head -n20

用tcpdump嗅探80端口的訪問看看誰最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." "{print $1"."$2"."$3"."$4}" | sort | uniq -c | sort -nr |head -20

查找較多time_wait連接

netstat -n|grep TIME_WAIT|awk "{print $5}"|sort|uniq -c|sort -rn|head -n20

找查較多的SYN連接

netstat -an | grep SYN | awk "{print $5}" | awk -F: "{print $1}" | sort | uniq -c | sort -nr | more

根據(jù)端口列進(jìn)程

netstat -ntlp | grep 80 | awk "{print $7}" | cut -d/ -f1

查看了連接數(shù)和當(dāng)前的連接數(shù)

netstat -ant | grep $ip:80 | wc -l 
netstat -ant | grep $ip:80 | grep EST | wc -l 

查看IP訪問次數(shù)

netstat -nat|grep ":80"|awk "{print $5}" |awk -F: "{print $1}" | sort| uniq -c|sort -n 

Linux命令分析當(dāng)前的鏈接狀況

netstat -n | awk "/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}" 

watch "netstat -n | awk "/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}"" # 通過watch可以一直監(jiān)控

LAST_ACK 5 關(guān)閉一個(gè)TCP連接需要從兩個(gè)方向上分別進(jìn)行關(guān)閉,雙方都是通過發(fā)送FIN來表示單方向數(shù)據(jù)的關(guān)閉,當(dāng)通信雙方發(fā)送了最后一個(gè)FIN的時(shí)候,發(fā)送方此時(shí)處于LAST_ACK狀態(tài),當(dāng)發(fā)送方收到對(duì)方的確認(rèn)(Fin的Ack確認(rèn))后才真正關(guān)閉整個(gè)TCP連接;

SYN_RECV 30 # 表示正在等待處理的請(qǐng)求數(shù);

ESTABLISHED 1597 # 表示正常數(shù)據(jù)傳輸狀態(tài);

FIN_WAIT1 51 # 表示server端主動(dòng)要求關(guān)閉tcp連接;

FIN_WAIT2 504 # 表示客戶端中斷連接;

TIME_WAIT 1057 # 表示處理完畢,等待超時(shí)結(jié)束的請(qǐng)求數(shù);

附錄

一月 Jan January
二月 Feb February
三月 Mar March
四月 Apr April
五月 May May
六月 June June
七月 July July
八月 Aug Aguest
九月 Sept September
十月 Oct October
十一月 Nov November
十二月 Dec December

-------------------------END-------------------------

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/39398.html

相關(guān)文章

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<