Nginx 웹 로그 분석
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.