본문 바로가기

리눅스

Squid의 액세스 로그(access_log)에 사용자 정의 포맷으로 설정하는 방법

728x90

Squid의 액세스 로그(access_log)에 사용자 정의 포맷으로 설정하는 방법

"logformat"은 로그에 기록될 필드를 지정하는데 사용되며, 사용자가 원하는대로 로그를 포맷할 수 있습니다.

1. Squid 설정 파일

vim /etc/squid/squid.conf

2. logformat 설정 추가

설정 파일 내에서 "logformat"을 추가하고 원하는 로그 포맷을 지정합니다.

예를 들어, "custom_log_format"이라는 사용자 정의 포맷을 만들어 보겠습니다.

# logformat 설정
logformat custom_log_format %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h"

위의 예제는 다음과 같이 설정된 로그 포맷을 만듭니다.

 

  • %>a: 클라이언트 IP 주소
  • %ui: 사용자 인증 이름
  • %un: 사용자 이름
  • [%tl]: 시간과 날짜
  • "%rm %ru HTTP/%rv": 메서드, URL, HTTP 버전
  • %Hs: 상태 코드
  • %<st: 응답 크기
  • "%{Referer}>h": Referer 헤더
  • "%{User-Agent}>h": User-Agent 헤더

3. access_log 설정

설정한 로그 포맷을 access_log에 적용합니다.

# access_log 설정
access_log daemon:/var/log/squid/access.log custom_log_format
728x90

4. Squid 재시작

sudo systemctl restart squid


이제 Squid는 설정한 사용자 정의 포맷으로 access_log를 기록합니다. 필요에 따라 로그 포맷을 수정하여 원하는 정보를 포함시킬 수 있습니다. 사용 가능한 로그 포맷 토큰과 자세한 내용은 Squid 공식 문서를 참조하는 것이 도움이 됩니다.

 

사용 예시

  • 액세스 로그 변경 전
tail -f /var/log/squid/access.log
1690974692.481      0 10.51.92.118 NONE_NONE/000 0 - error:transaction-end-before-headers - HIER_NONE/- -
1690974702.481      0 10.51.92.118 NONE_NONE/000 0 - error:transaction-end-before-headers - HIER_NONE/- -
1690974712.481      0 10.51.92.118 NONE_NONE/000 0 - error:transaction-end-before-headers - HIER_NONE/- -
1690974722.481      0 10.51.92.118 NONE_NONE/000 0 - error:transaction-end-before-headers - HIER_NONE/- -
1690974732.481      0 10.51.92.118 NONE_NONE/000 0 - error:transaction-end-before-headers - HIER_NONE/- -
  • 액세스 로그 변경 후
sudo vim /etc/squid/squid.conf
# 로그 파일 로테이션 설정
logfile_rotate 30 days

# logformat 설정
logformat custom_format %>a %ui %un [%{%Y-%m-%d %H:%M:%S}tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h"

# access_log 설정
access_log daemon:/var/log/squid/access.log custom_format
sudo systemctl restart squid
tail -f /var/log/squid/access.log
10.51.92.118 - - [2023-08-02 11:53:42] "- error:transaction-end-before-headers HTTP/0.0" 0 0 "-" "-"
10.51.92.118 - - [2023-08-02 11:53:52] "- error:transaction-end-before-headers HTTP/0.0" 0 0 "-" "-"
10.51.92.118 - - [2023-08-02 11:54:02] "- error:transaction-end-before-headers HTTP/0.0" 0 0 "-" "-"
10.51.92.118 - - [2023-08-02 11:54:12] "- error:transaction-end-before-headers HTTP/0.0" 0 0 "-" "-"
10.51.92.118 - - [2023-08-02 11:54:22] "- error:transaction-end-before-headers HTTP/0.0" 0 0 "-" "-"

 

참고URL

- squid-cache.org : http://www.squid-cache.org/Doc/config/access_log/

 

728x90