php-fpm 액세스 로그 권장 설정(www.conf)
로그에 출력할 수 있는 파라미터를 모두 실제로 출력 검증해, 이것이 있는 편이 좋다고 하는 것을 정리했습니다.
개요
환경 정보
기본 access.log 형식
다음은 기본 설정 내용입니다.
www.conf
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
※アクセスログフォーマットに設定可能なパラメータの簡易解説
%C : CPU 使用率
%d : リクエストの処理にかかった時間
%e : 環境変数($ _ENV / $ _SERVER)
%f : script filename
%l : content-length of the request (for POST request only)
%m : request method
%M : PHPで使用したメモリのピーク
%n : pool name
%o : output header
%p : PID of the child that serviced the request
%P : PID of the parent of the child that serviced the request
%q : クエリストリング
%Q : the '?' character if query string exists
%r : the request URI (without the query string, see %q and %Q)
%R : remote IP address
%s : status (response code)
%t : server time the request was received
%T : time the log has been written (the request has finished)
%u : remote user
실제로 이 설정으로 출력되는 결과는 이쪽↓
192.168.1.1 - 1/Aug/2020:01:01:01 +0000 "GET/index.php"200/var/www/html/test.com/public/index.php 1111 12211 30.11%
이 경우 로그 조사를 할 때 다음과 같은 문제점이 있습니다.
/var/www/html/test.com/public/index.php
) 추천 access.log 형식
그 때문에, 여러가지 시험한 결과, 이하와 같이 포맷으로 변경했습니다.
www.conf
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{HTTP_HOST}e %{REQUEST_URI}e %q %{seconds}d %{kilo}M %C%% %{HTTP_REFERER}e"
이 포맷으로 실제로 출력되는 결과는 이쪽↓
192.168.1.1 - 1/Aug/2020:01:01:01 +0000 "GET/index.php"200/var/www/html/test.com/public/index.php test.com:443/test/home 1.111 12211 30.11% htps // st. 코 m : 443 / st / ㎉
아래에서 설명합니다.
해설
추가·편집한 파라미터는 이하의 5개가 됩니다.
매개변수
설명
출력 예
%{HTTP_HOST} e
현재 요청의 Host: 헤더
test.com:443
%{REQUEST_URI}e
페이지에 액세스하기 위해 지정된 URI
/test/home
%q
쿼리 문자열
a=1
%{seconds}d
요청 처리에 소요된 시간을 초 단위로 표시
1.111
%{HTTP_REFERER}e
현재 페이지로 전환하기 전에 사용자가 본 페이지의 URL
htps // st. 코 m : 443 / st / ㎉
위에서도 설명이 있었습니다만, 「%e」로
$_SERVER変数
의 값을 취득할 수 있으므로 주로 이쪽을 사용했습니다.실제로 출력해 본 느낌이라면, 사용할 수 있을 것 같은
$_SERVER変数
는 상기 정도였습니다만, 기호로 추가해 보세요.정리하면
상기 5개의 파라미터를 추가·편집함으로써,
어떤 호스트 화면에 액세스했는지, 요청 처리에 몇 초가 걸렸습니까?
또한 전환 전의 체류 화면까지 알게 되었습니다.
이것으로 서비스 운용해 가는데 조금은 살아갈까 생각합니다.
꼭 참고하십시오
번외편
다른 매개 변수로 사용할 수 있다고 생각 했지만 실제로 출력 해보십시오.
사용할 수 없다고 판단한 파라미터들입니다.
매개변수
설명
출력 예
%r
설명에서는 「the request URI」이지만, 유저가 액세스한 URI는 아니었다.
/index.php
%R
클라이언트 IP가 아니라 nginx 서버의 IP를 가져오기 때문에 이번에는 사용할 수 없다. IP에 관해서는 nginx쪽으로 취득하면 OK.
192.168.1.1
%{REMOTE_ADDR}e
%R과 같은 이유
192.168.1.1
Reference
이 문제에 관하여(php-fpm 액세스 로그 권장 설정(www.conf)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shisotaro_en/items/2c36dfed2c4267bf4b20텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)