专栏首页院长运维开发ingress-nginx持久化日志

ingress-nginx持久化日志

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

controller日志: 输出到stdout,通过启动参数中的–log_dir可已配置输出到文件,重定向到文件后会自动轮转,但不会自动清理 accesslog:输出到stdout,通过nginx-configuration中的字段可以配置输出到哪个文件。输出到文件后不会自动轮转或清理 errorlog:输出到stderr,配置方式与accesslog类似。 落盘 在ingress nginx所在的节点,创建落盘日志目录,并赋予权限

mkdir -pv /var/lib/docker/nginxlogs/ingress
chown -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-log
volumes:
  - name: localtime
    hostPath:
      path: /etc/localtime
  - name: app-log
    hostPath:
      path: "/var/lib/docker/nginxlogs/ingress"

效果

[root@ingress]# ll
total 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.6
lrwxrwxrwx 1 33 tape   82 March  23 09:25 nginx-ingress-controller.ERROR -> nginx-ingress-controller.k8s-node-13.www-data.log.ERROR.20200323-092512.6
lrwxrwxrwx 1 33 tape   81 March  23 09:25 nginx-ingress-controller.INFO -> nginx-ingress-controller.k8s-node-13.www-data.log.INFO.20200323-092510.6
lrwxrwxrwx 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

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

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  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"

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker 引擎日志

    院长技术
  • ingress-nginx多实例类型

    背景 在生产环境中,都需要将nginx分不同类型,比方说内网与外网等等,下面我来介绍下怎么区分类型。

    院长技术
  • OpenStack命令查看一个卷类型的具体信息

    院长技术
  • ingress-nginx持久化日志

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

    SY小站
  • redis的sentinel主从切换(failover)与Jedis线程池自动重连

    本文介绍如何通过sentinel监控redis主从集群,并通过jedis自动切换ip和端口。 1、配置redis主从实例 10.93.21.21:6379 10...

    用户1225216
  • nginx 日志定时切割

    最近有个需求,需要查看我们官网的日活,我是打算通过查看 nginx 日志,对每条日志进行切割,过滤出 ip,然后通过 set 集合去重,查看集合 set 的长度...

    用户4945346
  • 磁盘这么分区你知道了吗?

    首先选择要分区的磁盘,主要操作的时候要两外加一个磁盘哦,sda为系统盘,千万不要随意操作。

    DataScience
  • python程序需要编译吗

    Python是编译型语言还是解释型语言?回答这个问题前,应该先弄清楚什么是编译型语言,什么是解释型语言。

    砸漏
  • ARM交叉编译OpenCV错误总结

    ARM交叉编译OpenCV错误总结 最近尝试给两个ARM板子与用交叉编译配置OpenCV,为此查了很多资料,学了很多交叉编译的操作。 经过多次的交叉编译全都...

    剑影啸清寒
  • linux c下log输出代码模板示例代码

    本文主要介绍了关于linux c下log输出代码模板的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

    砸漏

扫码关注云+社区

领取腾讯云代金券