nginx的access log按小时生成

时间:2023-03-09 17:11:42
nginx的access log按小时生成

1、在server或location段进行配置

    if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})"){
set $year $;
set $month $;
set $day $;
set $hour $;
set $minutes $;
set $seconds $;
} access_log /tmp/niffler-$year-$month-$day-$hour-$minutes-access.log main;

2、在nginx ingress-controller上的配置,编辑/etc/nginx/template/nginx.tmpl

    ## start server {{ $server.Hostname }}
server {
server_name {{ $server.Hostname }} {{ $server.Alias }};
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})"){
set $year $;
set $month $;
set $day $;
set $hour $;
set $minutes $;
set $seconds $;}
access_log /var/log/nginx/ingress-$year-$month-$day-$hour-access.log upstreaminfo;