nginx输出日志_ingressnginx持久化日志

1. 介绍

nginx-ingress-controller的日志包括三个部分:

  • controller日志:输出到stdout,通过启动参数中的–log_dir可已配置输出到文件,重定向到文件后会自动轮转,但不会自动清理

  • accesslog:输出到stdout,通过nginx-configuration中的字段可以配置输出到哪个文件。输出到文件后不会自动轮转或清理

  • errorlog:输出到stderr,配置方式与accesslog类似。

2. 落盘

在ingress nginx所在的节点,创建落盘日志目录,并赋予权限

mkdir -pv /var/lib/docker/nginxlogs/ingresschown -R 33:33 ingress

将controler日志输出到文件

args:            - /nginx-ingress-controller            - --configmap=$(POD_NAMESPACE)/nginx-configuration            - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services            - --udp-services-configmap=$(POD_NAMESPACE)/udp-services            - --publish-service=$(POD_NAMESPACE)/ingress-nginx            - --annotations-prefix=nginx.ingress.kubernetes.io            # 设置controller日志的输出路径和方式            - --log_dir=/var/log/nginx/            - --logtostderr=false

修改configmap设置access日志,error日志,以及logformat格式

worker-processes: "4"use-forwarded-headers: "true"log-format-upstream: "[$host] [$remote_addr] [$http_x_forwarded_for] [$remote_user] [$time_local] [$request] [$status] [$body_bytes_sent] [$request_time] [$upstream_addr] [$upstream_response_time] [$connection] [$connection_requests] [$msec] [$uri] [$body_bytes_sent] [$http_referer] [$http_user_agent] [$request_length] [$http_session_id]"access-log-path: "/var/log/nginx/access.log"error-log-path: "/var/log/nginx/error.log"

挂载日志

volumeMounts:      - mountPath: /etc/localtime        name: localtime        readOnly: true      - mountPath: /var/log/nginx        name: app-logvolumes:  - name: localtime    hostPath:      path: /etc/localtime  - name: app-log    hostPath:      path: "/var/lib/docker/nginxlogs/ingress"

效果

[root@ingress]# lltotal 12-rw-r--r-- 1 33 tape    0 March 23 09:25 access.log-rw-r--r-- 1 33 tape    0 March  23 09:25 error.log-rw-r--r-- 1 33 tape  265 March  23 09:25 nginx-ingress-controller.k8s-node-13.www-data.log.ERROR.20200423-092512.6-rw-r--r-- 1 33 tape 2996 March  23 09:25 nginx-ingress-controller.k8s-node-13.www-data.log.INFO.20200423-092510.6-rw-r--r-- 1 33 tape  543 March  23 09:25 nginx-ingress-controller.k8s-node-13.www-data.log.WARNING.20200423-092510.6lrwxrwxrwx 1 33 tape   82 March  23 09:25 nginx-ingress-controller.ERROR -> nginx-ingress-controller.k8s-node-13.www-data.log.ERROR.20200323-092512.6lrwxrwxrwx 1 33 tape   81 March  23 09:25 nginx-ingress-controller.INFO -> nginx-ingress-controller.k8s-node-13.www-data.log.INFO.20200323-092510.6lrwxrwxrwx 1 33 tape   84 March  23 09:25 nginx-ingress-controller.WARNING -> nginx-ingress-controller.k8s-node-13.www-data.log.WARNING.20200323-092510.6

3. 带域名的访问日志

注意:没有找到全局通过变量日志自动带域名的方式, 有知道的小伙伴可以联系我

apiVersion: extensions/v1beta1kind: Ingressmetadata:  name: tomcat-test  namespace: test  annotations:    kubernetes.io/ingress.class: "nginx"    nginx.ingress.kubernetes.io/enable-access-log: "true"    nginx.ingress.kubernetes.io/configuration-snippet: |      access_log /var/log/nginx/test.sy.com.log;spec:  rules:  - host: test.sy.com    http:      paths:      - path: /        backend:          serviceName: tomcat-test          servicePort: 6080
[root@ingress]# tail -f test.sy.com.log 10.16.8.15 - - [23/March/2020:09:33:44 +0800] "GET /abc/check_health.jsp HTTP/1.1" 200 16 "-" "curl/7.29.0"
9e4dd112d3ecba29ef6dd65afe6da1ab.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx_upstream_check_module.tar.gz 是一个 Nginx 的模块,用于对 Nginx 配置中定义的各个后端服务器进行健康检查,并根据检查结果决定是否将请求转发到该服务器。 这个模块可以通过编译安装的方式添加到 Nginx 中使用。首先,我们需要下载源码包 nginx_upstream_check_module.tar.gz 到本地,并解压缩。然后,在编译 Nginx 时,通过添加 --add-module=/path/to/nginx_upstream_check_module 选项来指定该模块的路径。 使用该模块,我们可以在 Nginx 的配置文件中定义一组后端服务器,并设置检查的间隔时间、超时时间、失败的最大次数等参数。当有请求到达时,该模块会自动进行健康检查,判断每个服务器的状态,并根据设定的规则选择合适的服务器进行请求转发。如果某个服务器在规定的时间内无法正常响应请求,该服务器会被标记为不可用,不再接收新的请求。 通过使用 nginx_upstream_check_module.tar.gz,我们可以提高服务的可用性和可靠性。当某个后端服务器出现故障时,该模块可以自动将请求转发到其他正常的服务器上,确保用户的访问不受影响。此外,该模块还可以提供监控和报警功能,方便我们及时发现并处理故障情况。 总的来说,nginx_upstream_check_module.tar.gz 是一个功能强大的 Nginx 模块,可以对后端服务器进行健康检查并自动进行请求转发,提高服务的可用性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值