Squidのログのタイムスタンプを変換する

SquidのログのタイムスタンプがUnixtimeなので人間にとって読みにくいです。

$ sudo tail -5 /var/log/squid/access.log
1646835462.717 408622 172.31.170.192 TCP_TUNNEL/200 7208 CONNECT …snip…
1646835464.670 89 172.31.160.10 TCP_TUNNEL/200 6176 CONNECT …snip…
1646835464.713 40 172.31.180.15 TCP_TUNNEL/200 6812 CONNECT …snip…
1646835465.205 549602 172.31.160.6 TCP_TUNNEL/200 7518 CONNECT …snip…
1646835466.389 45 172.31.180.25 TCP_TUNNEL/200 6704 CONNECT …snip…

awkだけでなんとかなります。

$ sudo tail -5 /var/log/squid/access.log | awk '{printf strftime("%Y-%m-%dT%H:%M:%S ",$1); c=""; for(i=2; i<=NF; i++) c=c $i" "; print c}'
2022-03-09T23:17:42 408622 172.31.170.192 TCP_TUNNEL/200 7208 CONNECT …snip…
2022-03-09T23:17:44 89 172.31.160.10 TCP_TUNNEL/200 6176 CONNECT …snip…
2022-03-09T23:17:44 40 172.31.180.15 TCP_TUNNEL/200 6812 CONNECT …snip…
2022-03-09T23:17:45 549602 172.31.160.6 TCP_TUNNEL/200 7518 CONNECT …snip…
2022-03-09T23:17:46 45 172.31.180.25 TCP_TUNNEL/200 6704 CONNECT …snip…

/etc/squid/squid.conflogformat%{%Y-%m-%dT%H:%M:%S}tlを追加するのも良いと思いますが、ログフォーマットを変更するのであればログ監視側とも調整が必要なのでまだ変更していません。

タイトルとURLをコピーしました