Nginx 에서 log 변수 및 Tengine 의 logunescape

1696 단어
Nginx 변수
Nginx 의 log 모듈 은 많은 사람들 이 로그 출력 을 할 때 가장 좋 은 삽입점 입 니 다.
Nginx 기본 값 `access_log '문법 은 서버 로 컬 경로 나 NFS 를 기록 하여 향후 집계 분석 에 사용 합 니 다.이 를 바탕 으로 Tengine 은 로그 목 표를 강화 하여 파이프 기능 이나 syslog 인 터 페 이 스 를 조합 하여 원 격 집중 로그 저장 을 할 수 있 습 니 다.
log 기능 의 핵심 은 변수 입 니 다.유연 하고 전면적 인 변 수 는 Nginx 로그 모듈 의 장점 을 나타 낸다.2011 년 에 일부 ` 를 정리 한 적 이 있 는데 주로 첫 번 째 유형의 핵심 변수 이다.최근 2 년 동안 핵심 모듈 이 비교적 큰 변동 을 했 고 비교적 많은 우수한 제3자 모듈 이 생 겨 났 으 며 Tengine / OpenResty 와 같은 우수한 제3자 발행 판 도 등장 하여 변수의 정의 가 매우 풍부 하 다.
Nginx 변 수 는 다음 과 같 습 니 다.
  • 핵심 모듈 은 충분 한 변수 정 의 를 제공 합 니 다 (`Embedded Variables.
  • rewrite 모듈 의 set 문법 사용자 정의 변수 `rewrite#set 를 통 해;
  • 제3자 모듈 은 추가 변수 정 의 를 제공 합 니 다 (ngx http add variable 을 사용 하여 일련의 ngx http variable t 변 수 를 설정 합 니 다).
  • 제3자 모듈 을 통 해 변수 내용 변환 / 개작 (예 를 들 어 agentzh / set - misc - nginx - module) 을 한다.

  • 이런 상황 에서 하 나 를 만 드 는 것 은 ` '일정한 작업량 이 필요 하 며, 실제 사용 상황 에 따라 각종 모듈 의 문 서 를 찾 아 보 는 것 이 지름길 이다.누가 정 리 했 으 면 알려 주세요.
    log_unescape
    실제 사용 중 로그 에 전 의 된 문자, 예 를 들 어 json 데 이 터 를 출력 하면 따옴표 가 전 의 될 수 있 습 니 다.이러한 전의 규칙 은 apache httpd 의 습관 을 참고 하 였 다.2008 년 에 이미 토론 이 있 었 다.Nginx 공식 커 뮤 니 티 는 이 문제 에 대한 태 도 를 계속 유지 하 는 것 이다.
    실제 사용 에 서 는 전의 한 문자열 을 보고 처리 하 는 것 이 부 담 스 럽 고 저울질 에서 전 의 를 하지 않 는 것 도 선택 이다.Tengine 은 2012 년 `log_unescape '의 기능 을 추가 하여 전의 기능 을 열 거나 닫 거나 ASCII 문자 만 을 대상 으로 대규모 로그 처 리 를 편리 하 게 할 수 있 습 니 다.
    물론 escape 문 제 는 log 단계 에 만 나타 나 는 것 이 아니다. 예 를 들 어 여기 서 해결 방법 이 모두 nginx 코드 나 설정 을 수정 하 는 것 이 아니 라 분석 단 에서 전의 처 리 를 하 는 것 도 가능 한 사고 이다.%
    http://mib.cc/2013/12/27/background-of-log_unescape-in-tengine_nginx.html

    좋은 웹페이지 즐겨찾기