Nginx 웹 로그 분석

3019 단어
기업 서버 운영 에서 Nginx 서버 가 정상적으로 실 행 된 후에 운영 은 Nginx 의 방문 로 그 를 예의 주시 하고 이상 한 로그 정 보 를 발견 하면 신속하게 처리 해 야 한다.Nginx 기본 로그 경로 / usr / local / nginx / logs, 방문 로그 access. log 와 오류 기록 로그 error. log 를 포함 합 니 다. Nginx 방문 로그 cat / usr / local / nginx / logs / access. log | 더 보기
Nginx 로그 인쇄 형식 을 사용자 정의 할 수 있 습 니 다. 예 를 들 어 Nginx 로그 인쇄 형식 설정, logformat 는 로그 형식 을 설정 합 니 다. name 은 모듈 이름 이 고 type 은 로그 형식 입 니 다. 여러 로그 모듈 을 설정 할 수 있 습 니 다. 각각 다른 가상 호스트 로그 기록 호출 을 제공 할 수 있 습 니 다. 코드 는 다음 과 같 습 니 다.
log_format main '$remote_addr - $remote_user [ $time_local ] "$request" '
                           ' $status  $body_bytes_sent " $http_referer" '
                           ' "$http_user_agent" $request_time' ;

Nginx 로그 형식 내부 변수 및 함수 매개 변 수 는 다음 과 같 습 니 다: $remoteaddr: 클 라 이언 트 IP 주소 기록 $servername: 가상 호스트 이름 $httpx_forwarded_for: HTTP 요청 단 진실 ip $remoteuser: 클 라 이언 트 사용자 이름 을 기록 합 니 다 $request: 요청 한 URL 과 HTTP 프로 토 콜 을 기록 합 니 다 $status: HTTP 요청 상 태 를 되 돌려 줍 니 다 $uptreamstatus: upstream 의 상태 $sslprotocol: SSL 프로 토 콜 버 전 $bodybytes_sent: 클 라 이언 트 에 보 내 는 바이트 수 입 니 다. 응답 헤드 크기 는 포함 되 지 않 습 니 다 $bytessent: 클 라 이언 트 에 보 내 는 총 바이트 수 $connectionrequests: 현재 하나의 연결 을 통 해 얻 은 요청 수량 $httpreferer: 어느 페이지 링크 에서 방 문 했 는 지 기록 하 는 $httpuser_에이전트: 클 라 이언 트 브 라 우 저 관련 정보 기록 $requestlength: 요청 한 길이, 요청 줄, 요청 헤더, 요청 본문 포함 $msec: 로그 기록 시간 $requesttime: 요청 처리 시간, 단 위 는 s, 정밀도 ms, Nginx 는 사용자 가 요청 한 첫 번 째 바이트 부터 응답 데 이 터 를 보 내 는 시간 까지 요청 데 이 터 를 받 는 시간, 프로그램 응답 시간, 출력, 응답 데이터 시간 $upstream 을 포함 합 니 다.response_time: 응용 프로그램 응답 시간, Nginx 가 백 엔 드 서버 에 연결 을 만 들 고 데 이 터 를 받 은 후 연결 을 닫 을 때 까지 의 총 시간
Nginx 로 그 를 통 해 웹 사이트 의 운행 상태, 데이터 보고서, IP, UV, PV 방 문 량 등 수 요 를 간단하게 분석 할 수 있 습 니 다. 다음은 상용 수요 분석 입 니 다.
1. Nginx 서버 독립 IP 수 통계
awk '{print $1}' access.log | sort -r | uniq -c |wc -l

2. Nginx 서버 PV 총량 통계
awk '{print $7}' access.log | wc -l

3. Nginx 서버 UV 통계
awk '{print $11}' access.log | sort -r | uniq -c |wc -l

4. Nginx 방문 로 그 를 분석 합 니 다. 지금까지 방 문 량 20 위 권 의 IP 목록 입 니 다.
awk '{print $1}' access.log |sort |uniq -c |sort -nr | head -20

5. Nginx 방문 로그 의 오전 9 시 부터 낮 12 시 까지 총 요 구 량 분석
sed -n “/2019:9:00/,/2019:12:00/”p access.log
awk '/2019:09:00/,/2019:12:00/'  access.log |wc -l

6. Nginx 방문 로그 상태 코드 404, 502, 503, 500, 499 등 오류 정보 페이지 를 분석 하고 인쇄 오류 발생 횟수 가 20 이상 인 ip 주 소 를 분석 합 니 다.
awk '{if ($9~/502|499|500|503|404/) print $1,$9}' access.log | sort|uniq -c | sort -nr |awk '{if($1>20} print $2}'

7. Nginx 방문 로그 가 가장 많이 방문 한 페이지 를 분석 합 니 다. 코드 는 다음 과 같 습 니 다 awk '{print $7}' access. log | sort | uniq - c | sort - nr | head - 20
8. Nginx 방문 로그 요청 처리 시간 이 5s 이상 인 URL 을 분석 하고 시간, URL, 방문 자 ip 출력
awk '{if ($NF>5) print $NF,$7,$1}' access.log | sort -nr | more

좋은 웹페이지 즐겨찾기