>  기사  >  운영 및 유지보수  >  nginx 오류 로그를 분석하는 방법

nginx 오류 로그를 분석하는 방법

步履不停
步履不停원래의
2019-06-21 09:51:506497검색

nginx 오류 로그를 분석하는 방법

1. 로그 소개

nginx 로그에는 크게 액세스 로그와 오류 로그의 두 가지 유형이 있습니다. 액세스 로그는 주로 nginx에 액세스하는 클라이언트의 모든 요청을 기록하며 형식을 사용자 정의할 수 있습니다. 오류 로그는 주로 클라이언트가 nginx에 액세스하여 오류가 발생할 때 로그를 기록하며 형식은 사용자 정의를 지원하지 않습니다. 두 로그 모두 선택적으로 끌 수 있습니다.

액세스 로그를 통해 사용자 지리적 출처, 점프 소스, 터미널 사용, 특정 URL 방문 횟수와 같은 관련 정보를 얻을 수 있으며, 서비스의 성능 병목 현상을 얻을 수 있습니다. 시스템의 서버가 대기합니다. 따라서 로그를 잘 활용하면 귀중한 정보를 많이 얻을 수 있습니다.

2. 접속 로그

[Access.log]

log_format main '$remote_addr $remote_user [$time_local] "$request" $http_host '

                        '$status $ upstream_status $body_bytes_sent "$http_referer" '

''$http_user_agent' $ssl_protocol $ssl_cipher $upstream_addr '

''$request_time $upstream_response_time';

변수 이름$remote_addr $remote_user$time_local$request 및 $http_host또는 도메인 이름)$stat 우리

변수 설명

클라이언트 주소

113.140.15.90

클라이언트 사용자 이름

-

액세스 시간 및 시간대

18/7월 /2012:17:00:01 +0800

요청

URI

HTTP프로토콜

"GET / pa/img/home/logo-alipay-t.png HTTP/1.1"

요청 주소는 브라우저에 입력하는 주소입니다(

IP

img.alipay.com

10.253.70.103

HTTP요청 상태

200

$upstream_status

upstream 상태

200

$body_bytes_sent

클라이언트에게 보낸 파일의 콘텐츠 크기

547

$http_referer

점프 소스

"https://cashier.alipay.com.../"

$http_user_agent

사용자 터미널 에이전트

"Mozilla/4.0(호환; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C;

$ssl_proto col

SSL프로토콜 버전

TLSv1

$ssl_cipher

교환 데이터의 알고리즘

RC4-SHA

$upstream_addr

backendupstream 주소, 즉 실제로 서비스를 제공하는 호스트 주소

1 0.228.35.247:80

$request_time

전체 요청의 총 시간

0.205

$upstream_response_time

중 요청 프로세스, upstream 응답 시간

0.002

 

线上实例:

116.9.137.90 - [02/Aug/2012:14:47:12 +0800] "GET /images/XX/20100324752729.png HTTP/1.1"img.ali 지불. com 200 200 2038 https://cashier.alipay.com/XX/PaymentResult.htm?payNo=XX&outBizNo=2012XX "Mozilla/4.0(호환; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.0.30729; 미디어 센터 PC 6.0; 태블릿 PC 360SE)" TLSv1 AES128-SHA 10.228.21.237:80 0.198 0.001

 

线下测试($http_referer):

10.14.21.197 - - [14/Aug/2012:17:28:22 +0800] "GET /spanner/watch/v1?--db =ztg-1&--모드=비교&--색인=상태&--옵션=&--클러스터=전체&-F=2012%2F8%2F12-00%3A00%3A00&-T=%2B2880&-i=1&-n= 0&_=1344936501292 HTTP/1.1" 200 94193 "http://spanner.alipay.net/optionFrame/history.html" "Mozilla/5.0(Windows NT 6.1) AppleWebKit/537.1(KHTML, like Gecko) Chrome/21.0.1180.60 Safari /537.1"

nginx 오류 로그를 분석하는 방법

 

备注:$http_referer와중정向有关。

 

线下测试($http_host):

nginx 오류 로그를 분석하는 방법 #

错误信息

错误说明

"업스트림이 조기에(过早的)请求)服务器的并发连接数超过了其承载weight,服务器会将其中一些连接Down挂掉或자는 통하지 않고, 会收到该错误nginxclientserver"(98 )

 연결이 닫혔습니다."

uri

的时候出现的异常,是由于upstream还未返回应答给用户时用户断掉连接造成 ,对系统没有影响,可以忽略

"recv() 실패 (104: 피어에 의한 연결 재설정)"

1
掉;

 

2)客户关掉了浏览器,而服务器还 3)浏览器端按了

Stop

"(111: 연결이 거부됨) 업스트림에 연결하는 동안 "사용户재连接时,若遇到后端

upstream

"(111: 연결이 거부됨) 응답을 읽는 중 업스트림 헤더"

사용자가 연결 성공 후 데이터를 읽을 때 백엔드 upstream이 끊기거나 차단되면 요청을 보내는 동안

"(111: 연결 거부됨) 오류가 표시됩니다. upstream"

Nginxupstream이 성공적으로 연결되어 데이터를 보냅니다. 백엔드 upstream이 중단되거나 차단되면 이 오류가 발생합니다

"(110: 연결 시간 초과) 업스트림에 연결하는 동안"

"( 110: 연결 시간 초과) 업스트림을 읽는 동안”

"(110 연결 시간 초과) 업스트림에서 응답 헤더를 읽는 동안 "

d OUT) 업스트림을 읽는 동안 "

NGINX

Upstream의 응답 시간 제한 읽기"(104: 연결 재설정 기준) "업스트림 유효하지 않은 전송 헤더가 업스트림에서 응답 헤더를 읽는 중입니다."

Upstream 的에서 보낸 응답 헤드가 잘못되었습니다.

"업스트림에서 값이 전송되지 않았습니다. http/1.0 헤더에서 업스트림의 응답 헤더를 확인하세요."

Upstream 응답 헤드가 잘못되었습니다.

"클라이언트가 너무 큰 본문을 보내려고 했습니다."

는 허용되는 클라이언트 요청 콘텐츠의 최대 값을 설정하는 데 사용됩니다. 기본값은 1M,

send

body가 설정된 값

"로그 다시 열기"

를 초과합니다.

사용자가 보낸 것
kill -USR1

명령 업스트림 내부에 서버가 없습니다."

upstream

"업스트림에 연결하는 동안 라이브 업스트림이 없습니다."

upstream

모든 서버가 다운되었습니다

"SSL_do_handshake() 실패"

"S 클라이언트로 보내는 동안 SL_write()가 실패했습니다(SSL:)"

"(13: 권한 거부됨) 업스트림을 읽는 동안"

"ngx_slab_alloc() 실패: SSL 세션 공유 캐시에 메모리가 없습니다."

ssl_session_cache

크기 부족 및 기타 이유

" 새 SSL을 추가할 수 없습니다. SSL 핸드쉐이킹 중 세션 캐시에 세션을 추가합니다."

ssl_session_cache

due to 부족한 크기 및 기타 이유로

"send() 실패(111: 연결 거부)"

더 많은 Nginx 관련 기술 기사를 보려면 Nginx Tutorial 칼럼을 방문하여 알아보세요!

위 내용은 nginx 오류 로그를 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.