어떻게 NGINX 의 log 로 그 를 통 해 사이트 의 방문 상황 을 분석 하고 이 명령 들 을 시험 해 봅 니까?

당신 의 사이트 의 매일 방문 상황 을 알 고 싶 습 니까?몇 명 이 방 문 했 습 니까?가장 많이 방문 한 페이지 는 무엇 입 니까?어느 시간 대 에 방문 한 사람 이 가장 많 습 니까?어느 곳 을 가장 많이 방 문 했 습 니까?1 초 에 요청 이 얼마나 있 습 니까?궁금 하 시 죠? nginx 를 사용 하여 붙 잡 아 달라 고 요청 하 셨 다 면 다음 명령 을 사용 해 보 세 요. 깜짝 놀 랄 거 예요!!
1. IP 관련 통계
1. IP 방 문 량 통계 PV
awk '{print $7}' access.log|wc -l

2. 독립 ip 방문 수량 통계 UV
awk '{print $1}' access.log | sort -n | uniq | wc -l

3. 특정한 시간 대의 IP 방 문 량 보기 (4 - 5 시)
grep "05/Oct/2018:0[4-5]" access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l

4. 가장 자주 방문 하 는 상위 100 개 IP 보기
awk '{print $1}' access.log | sort -n |uniq -c | sort -rn | head -n 100

5. 100 회 이상 방문 한 IP 보기
awk '{print $1}' access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn

6. 특정한 IP 의 상세 한 방문 상황 을 조회 하고 방문 빈도 에 따라 정렬 합 니 다.
grep '127.0.0.1' access.log |awk '{print $7}'|sort |uniq -c |sort -rn |head -n 100

2. 페이지 방문 통계
1. 가장 자주 방문 하 는 페이지 보기 (TOP 50)
awk '{print $7}' access.log | sort |uniq -c | sort -rn | head -n 50

2. 가장 자주 방문 하 는 페이지 보기 (phop 페이지 제외)
grep -v ".php"  access.log | awk '{print $7}' | sort |uniq -c | sort -rn | head -n 50

3. 페이지 방문 횟수 가 100 회 이상 인 페이지 보기
cat access.log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' | less

4. 최근 1000 개의 기록 을 살 펴 보고 가장 많이 방문 한 페이지
tail -1000 access.log |awk '{print $7}'|sort|uniq -c|sort -nr|less

3. 요 구 량 통계
1. 초당 요청 수 를 집계 하고 top 100 의 시간 (초 까지 정확)
awk '{print $4}' access.log |cut -c 14-21|sort|uniq -c|sort -nr|head -n 100

2. 분당 요청 수 를 집계 하고 top 100 의 시간 (분 까지 정확)
awk '{print $4}' access.log |cut -c 14-18|sort|uniq -c|sort -nr|head -n 100

3. 시간 당 요구 수 를 집계 하고 top 100 의 시간 (시간 까지 정확)
awk '{print $4}' access.log |cut -c 14-15|sort|uniq -c|sort -nr|head -n 100

성능 분석
nginx log 의 마지막 필드 에 $request time 추가
1. 전송 시간 이 3 초 이상 인 페이지 를 보 여 줍 니 다. 앞의 20 개 를 보 여 줍 니 다.
cat access.log|awk '($NF > 3){print $7}'|sort -n|uniq -c|sort -nr|head -20

2. phop 페이지 요청 시간 이 3 초 이상 인 페이지 를 표시 하고 나타 난 횟수 를 통계 하여 100 개 를 표시 합 니 다.
cat access.log|awk '($NF > 1 &&  $7~/\.php/){print $7}'|sort -n|uniq -c|sort -nr|head -100

5. TCP 연결 통계
1. 현재 TCP 연결 수 보기
netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l

2. tcpdump 로 80 포트 의 방문 을 탐지 하여 누가 가장 높 은 지 봅 시다.
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{
     print $1"."$2"."$3

공중 번호 에 더 재 미 있 는 것 이 있 습 니 다. 가 보 시 겠 습 니까? 상단 에 방법 이 있 습 니 다!!

좋은 웹페이지 즐겨찾기