Nginx를 통해 액세스 포털을 구성하는 소규모 예약 프로그램이 출시되었습니다. 기본 로그에는 요청 시간이 없으므로 향후 참조 및 최적화된 사용을 위해 각 요청의 액세스 응답 시간을 기록하도록 구성해야 합니다.
기본 로그 형식은 다음과 같습니다(기본값은 주석 처리되어 시스템에서 자동으로 사용됩니다).
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main;
응답 시간만 추가합니다. 내가 더 걱정하는 두 개의 매개변수: request_time 및 upstream_response_time
다음 구성을 열고 수정합니다(나중에 형식 2를 사용했는데 시간이 앞에 있어서 보기 쉬움).
시간 데이터 매개변수가 있는 로그 형식 1
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$upstream_response_time"'; access_log logs/access.log main;
조정 시간 매개변수 표시 순서의 형식 2는 다음과 같습니다.
log_format main '$remote_addr - $remote_user [$request_time $upstream_response_time] [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main;
참고: log_format 및 access_log의 주석은 해제되어야 합니다. log_format 해제만 적용되지 않습니다.
#형식 2로 설정한 후, 해당 정규식을 사용하여 1초보다 큰 로그를 볼 수 있으며 두 단계는 다음과 같습니다.
##1.高亮时间数据的正则表达式 tail -f access.log |grep "\[[0-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]" ##2.大于1秒的日志的正则表达式,即将第一个数字改成[1-9]即可 tail -f access.log |grep "\[[1-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]"
설명
$remote_addr
: 클라이언트 주소 $remote_addr
:客户端地址
$remote_user
:客户端用户名称
$time_local
:访问时间和时区
$request
:请求的URI和HTTP协议
$status
:HTTP请求状态
$body_bytes_sent
:发送给客户端文件内容大小
$http_referer
:url跳转来源
$http_user_agent
:用户终端浏览器等信息
$http_host
:请求地址,即浏览器中你输入的地址(IP或域名)
$request_time
:处理请求的总时间,包含了用户数据接收时间
$upstream_response_time
:建立连接和从上游服务器接收响应主体的最后一个字节之间的时间
$upstream_connect_time
:花费在与上游服务器建立连接上的时间
$upstream_header_time
$time_local
: 액세스 시간 및 시간대
$request
: 요청된 URI 및 HTTP 프로토콜
$status
: HTTP 요청 상태
$body_bytes_sent
: 클라이언트로 전송된 파일 콘텐츠 크기
$http_referer
: URL 점프 소스🎜🎜$http_user_agent
: 사용자 터미널 브라우저 및 기타 정보🎜🎜🎜🎜$http_host
: 요청 주소, 브라우저에 입력하는 내용 주소(IP 또는 도메인 이름) 🎜🎜🎜🎜$request_time
: 사용자 데이터 수신 시간을 포함하여 요청을 처리하는 데 걸린 총 시간 🎜🎜🎜🎜$ upstream_response_time
: 연결을 설정하고 업스트림 서버에서 응답 본문의 마지막 바이트를 수신하는 데 걸리는 시간🎜🎜🎜🎜$upstream_connect_time
: 업스트림 서버에 연결을 설정하는 데 소요된 시간🎜 🎜🎜🎜$upstream_header_time
code>: 연결 설정부터 업스트림 서버로부터 응답 헤더의 첫 번째 바이트 수신까지의 시간 🎜🎜🎜🎜 IV. 테스트 효과 🎜🎜🎜수정 전 기본 로그 🎜 🎜🎜🎜127.0.0.1 - - [03/May /2022:12:02:51 +0800] "GET /byhsyyfront/byPages/ HTTP/1.1" 304 0 "-" "Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36(Gecko와 같은 KHTML) Chrome /99.0.4844.51 Safari/537.36"🎜127.0.0.1 - - [03/May/2022:12:02:51 +0800] "GET /byhsyyGateway/byhsyySystem/verifyCode/ getVerifyCode HTTP/1.1" 200 2553 "http:// localhost:8881/byhsyyfront/byPages/" "Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36(Gecko와 같은 KHTML) Chrome/99.0.4844.51 Safari/ 537.36"🎜🎜🎜🎜수정 후 로그🎜🎜🎜 🎜127.0.0.1 - - [03/May/2022:12:00:47 +0800] "GET /byhsyyfront/byPages/ HTTP/1.1" 304 0 "-" " Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.025" "0.025"🎜127.0.0.1 - - [03/May/ 2022:12:00:47 +0800] "GET /byhsyyGateway/byhsyySystem/verifyCode/getVerifyCode HTTP/1.1" 200 2178 "http://localhost:8881/byhsyyfront/byPages/" "Mozilla/5.0(Windows NT 10.0; Win64 ; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.037" "0.037"🎜🎜🎜수정 후에는 시간에 대한 매개변수 데이터가 두 개 더 있는 것을 볼 수 있습니다. 응답 시간 분석에 사용할 수 있습니다.🎜위 내용은 Nginx 로그 형식을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!