修改ingress配置文件
在 Nginx Ingress 的日志中,通常不直接显示客户端请求的域名。这是因为 Nginx 的日志格式是可配置的,而默认配置可能没有包括显示域名的字段。通常,Nginx 的日志主要关注于请求的其他方面,如客户端 IP、请求类型、状态码等。
如果你希望在日志中包含请求的域名,你需要调整 Nginx Ingress 控制器的日志格式设置。这可以通过修改 Nginx 的配置文件来实现。在 Nginx 配置中,可以使用 $host
或 $http_host
变量来记录请求的域名。
- 编辑 Nginx Ingress 控制器的配置:
- 首先,找到 Nginx Ingress 控制器的配置文件。这通常是一个 ConfigMap,名字可能是
nginx-configuration
或类似的名称,位于 Ingress 控制器所在的命名空间。 - 使用命令
kubectl edit configmap <configmap-name> -n <namespace>
来编辑 ConfigMap。替换<configmap-name>
和<namespace>
为你的实际 ConfigMap 名称和命名空间。
- 首先,找到 Nginx Ingress 控制器的配置文件。这通常是一个 ConfigMap,名字可能是
- 修改日志格式:
- 在 ConfigMap 的
data
部分,添加或修改log-format
键的值。例如:
- 在 ConfigMap 的
data:
log-format: '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_host"'
[root@k8s-slave1 list-all-pod]# kubectl get configmaps -n ingress-nginx
NAME DATA AGE
ingress-controller-leader 0 21d
ingress-nginx-controller 2 21d
istio-ca-root-cert 1 19d
kube-root-ca.crt 1 21d
[root@k8s-slave1 list-all-pod]#
[root@k8s-slave1 list-all-pod]# kubectl edit configmap ingress-nginx-controller -n ingress-nginx
然后把原来的ingress-nginx删除,会自动重建。
192.168.33.1 - - [08/Jan/2024:02:44:52 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://www.cheng.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0" 401 0.001 [cheng-nginx-80] [] 10.244.2.111:80 555 0.001 404 12bfd418338a317d6b71eae5f52de9f2
这条日志是一个典型的 Nginx 访问日志,记录了对网站资源的请求详情。
192.168.33.1 - 客户端的 IP 地址,表示发出请求的用户或系统的网络位置。
- - - 这通常表示远程用户名称和本地用户名称,但在这里它们都没有被记录(显示为“-”)。
[08/Jan/2024:02:27:17 +0000] - 请求发生的日期和时间,以及时区。这里显示的是 2024 年 1 月 8 日,02:27:17,UTC 时区。
"GET /favicon.ico HTTP/1.1" - 这是请求行,包括三部分:
GET:HTTP 请求方法,表示获取数据。
/favicon.ico:请求的资源路径。
HTTP/1.1:使用的 HTTP 协议版本。
404 - HTTP 响应状态码。404 表示服务器没有找到请求的资源。
153 - 响应体的大小,单位是字节。
"http://www.cheng.com/" - 引用页,即用户从哪个页面跳转到当前请求的,这里是从 http://www.cheng.com/ 页面。
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0" - 用户代理字符串,描述了发出请求的浏览器和操作系统信息。这里表明使用的是 Firefox 浏览器,版本 121.0,运行在 Windows 10 系统上。
352 - 请求头大小,单位是字节。
0.002 - 请求处理时间,单位是秒。
[cheng-nginx-80] - 服务器名称或集群名称。
[] - 上游响应时间。这里为空表示没有或未被记录。
10.244.2.111:80 - 上游服务器的 IP 地址和端口号,这是处理这个请求的实际服务器地址。
153 0.001 404 - 重复的响应大小、处理时间和状态码。
15c32d1683dca8b16e8e20c42151fc2e - 请求的唯一标识符,用于日志分析和追踪。
标签:ingress,http,请求,nginx,Nginx,域名,日志
From: https://www.cnblogs.com/9527com/p/17994736