ingress-nginx-helm/docs/user-guide/nginx-configuration/log-format.md

48 lines
2.5 KiB
Markdown
Raw Normal View History

2017-10-13 13:55:03 +00:00
# Log format
2018-05-03 07:44:21 +00:00
The default configuration uses a custom logging format to add additional information about upstreams, response time and status.
2017-10-13 13:55:03 +00:00
```
2018-05-03 07:44:21 +00:00
log_format upstreaminfo
'{{ if $cfg.useProxyProtocol }}$proxy_protocol_addr{{ else }}$remote_addr{{ end }} - '
'[$the_real_ip] - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" "$http_user_agent" '
'$request_length $request_time [$proxy_upstream_name] $upstream_addr '
'$upstream_response_length $upstream_response_time $upstream_status $req_id';
2017-10-13 13:55:03 +00:00
```
2018-05-03 07:44:21 +00:00
| Placeholder | Description |
|-------------|-------------|
| `$proxy_protocol_addr` | remote address if proxy protocol is enabled |
| `$remote_addr` | remote address if proxy protocol is disabled (default) |
| `$the_real_ip` | the source IP address of the client |
| `$remote_user` | user name supplied with the Basic authentication |
| `$time_local` | local time in the Common Log Format |
| `$request` | full original request line |
| `$status` | response status |
| `$body_bytes_sent` | number of bytes sent to a client, not counting the response header |
| `$http_referer` | value of the Referer header |
| `$http_user_agent` | value of User-Agent header |
| `$request_length` | request length (including request line, header, and request body) |
| `$request_time` | time elapsed since the first bytes were read from the client |
| `$proxy_upstream_name` | name of the upstream. The format is `upstream-<namespace>-<service name>-<service port>` |
| `$upstream_addr` | the IP address and port (or the path to the domain socket) of the upstream server. If several servers were contacted during request processing, their addresses are separated by commas. |
| `$upstream_response_length` | the length of the response obtained from the upstream server |
| `$upstream_response_time` | time spent on receiving the response from the upstream server as seconds with millisecond resolution |
| `$upstream_status` | status code of the response obtained from the upstream server |
| `$req_id` | the randomly generated ID of the request |
2017-10-13 13:55:03 +00:00
Additional available variables:
| Placeholder | Description |
|-------------|-------------|
| `$namespace` | namespace of the ingress |
| `$ingress_name` | name of the ingress |
| `$service_name` | name of the service |
| `$service_port` | port of the service |
2017-10-13 13:55:03 +00:00
2018-05-03 07:44:21 +00:00
Sources:
2017-10-13 13:55:03 +00:00
2018-05-03 07:44:21 +00:00
- [Upstream variables](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#variables)
- [Embedded variables](http://nginx.org/en/docs/http/ngx_http_core_module.html#variables)