우리 모두는 access.log
파일이 Squid의 액세스 정보를 기록한다는 것을 알고 있습니다.
1286536351.746 41762 192.168.1.17 TCP_MISS/200 5340945 GET http://v15.lscache3.c.youtube.com/videoplayback? - DIRECT/122.160.120.150 video/x-flv
1286536351.746 41762 192.168.1.18 TCP_MISS/200 5340945 GET http://v15.lscache3.c.youtube.com/videoplayback? - DIRECT/122.160.120.150 video/x-flv
우리는 또한 Squid가 이 파일을 사용하여 /etc/resolv.conf
처리 중인 DNS 서버를 결정한다는 것을 알고 있으므로 Squid가 로컬 DNS 서버를 처리하도록 하려면 파일에 로컬 DNS 서버를 입력합니다 /etc/resolv.conf
.
로컬 DNS 서버에 다음과 같은 레코드가 있는 경우(역방향 영역(1.168.192.in-addr.arpa)):
$TTL 60 ; 1 minute
17 PTR Mark.
18 PTR Mike.
역방향 조회를 수행하고(로그 파일에 IP 주소 이름 요청) 이름을 레코드에 추가하도록 Squid를 구성할 수 있습니다 access.log
. 예를 들면 다음과 같습니다.
나는 다음과 같은 기록을 만들고 싶다.
1286536351.746 41762 192.168.1.17 ......
다음과 같습니다:
1286536351.746 41762 192.168.1.17 Mark ......
이 목표를 어떻게 달성할 수 있나요?
내가 원하는 것을 얻기 위해 %>a
및 같은 Squid 로그 형식을 사용할 수 있습니까 ?%>A
답변1
한 가지 방법은 파일에서 이 지시문을 사용하여 squid.conf
로그 파일에 IP 대신 FQDN을 표시하는 것입니다.
log_fqdn on
원천:http://www.squid-cache.org/Doc/config/log_fqdn/
그러나 이것은 <IP> <Name>
귀하의 질문에 표시되는 형식을 무시합니다. 이를 위해 지시어에 대한 문서를 보면 logformat
다음과 같은 기본 형식이 나열되어 있습니다.
logformat squid %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt
logformat common %>a %[ui %[un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st %Ss:%Sh
logformat combined %>a %[ui %[un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
logformat referrer %ts.%03tu %>a %{Referer}>h %ru
logformat useragent %>a [%tl] "%{User-Agent}>h"
이러한 옵션은 매개변수로 나열되며 이를 사용하여 자신만의 형식을 구축할 수 있습니다.
>a Client source IP address
>A Client FQDN
따라서 이것을 함께 사용하여 원하는 형식을 얻을 수 있기를 바랍니다.