diff --git a/modules/nixos/monitoring/source/promtail.nix b/modules/nixos/monitoring/source/promtail.nix index c4c64ebf..71df55e6 100644 --- a/modules/nixos/monitoring/source/promtail.nix +++ b/modules/nixos/monitoring/source/promtail.nix @@ -85,7 +85,7 @@ in { regex.expression = concatStringsSep " " [ ''(?P.*?)(@-|@(?P.*?)|)'' ''(-|(?P.*?))(@-|@(?P.*?)|)'' - ''(-|(?P.*?))(@(?P.*?))?'' + ''(-|(?P.*?))(@(-|(?P.*?))(@(-|(?P.*?))(:-|:80|:443|:(?P.*?)|)|)|)'' ''\[(?P.*?)\]'' ''\"(?P.*?) (?P.*?)( (?PHTTP/.*))?\"'' ''(?P.*?)'' @@ -102,6 +102,8 @@ in { request_id = null; userid = null; virtual_host = null; + server_port = null; + server_name = null; request_method = null; path = null; request_version = null; diff --git a/modules/nixos/nginx/proxied.nix b/modules/nixos/nginx/proxied.nix index f0949828..f62b8c51 100644 --- a/modules/nixos/nginx/proxied.nix +++ b/modules/nixos/nginx/proxied.nix @@ -315,10 +315,16 @@ in default $proxied_host_x; } - log_format combined_proxied '$proxied_remote_addr@$proxied_scheme proxied $remote_user@$proxied_host [$time_local]' + log_format combined_proxied '$proxied_remote_addr@$proxied_scheme' + ' proxied' + ' $remote_user@$proxied_host@$server_name:$server_port' + ' [$time_local]' ' "$request" $status $body_bytes_sent' ' "$http_referer" "$http_user_agent"'; - log_format combined_cloudflared '$proxied_remote_addr_cf@$proxied_scheme cloudflared@$http_cf_ray $remote_user@$proxied_host_cf [$time_local]' + log_format combined_cloudflared '$proxied_remote_addr_cf@$proxied_scheme' + ' cloudflared@$http_cf_ray' + ' $remote_user@$proxied_host_cf@$server_name:$server_port' + ' [$time_local]' ' "$request" $status $body_bytes_sent' ' "$http_referer" "$http_user_agent"'; ''; diff --git a/nixos/nginx.nix b/nixos/nginx.nix index dab23435..5f474b2e 100644 --- a/nixos/nginx.nix +++ b/nixos/nginx.nix @@ -38,7 +38,9 @@ in { map $scheme $hsts_header { https "max-age=31536000; includeSubdomains; preload"; } - log_format combined_host '$remote_addr@$scheme - $remote_user@$host [$time_local]' + log_format combined_host '$remote_addr@$scheme' + ' - $remote_user@$host@$server_name:$server_port' + ' [$time_local]' ' "$request" $status $body_bytes_sent' ' "$http_referer" "$http_user_agent"'; '';